News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Jean-Marie

Turrican (128K)

Started by Jean-Marie, 17:58, 12 April 25

Previous topic - Next topic

0 Members and 10 Guests are viewing this topic.

lightforce6128

Quote from: Jean-Marie on Today at 04:15The drawing of the energy lines would need to be modified too (not sure if this is what you call the flames?).
Also, the "Death ray" when keeping Fire1 pressed.
The plants at the beginning were flickering when I tested the code, yet these are no animated tiles?


I tested with a debugger while playing a bit. Only the tiles marked as target in the above tile map (arrow pointing toward it or showing movement direction) actually changed. All other tiles are static as soon as the level has been loaded.

The energy line (keep Fire pressed) is made from four tiles from the lower right corner. But only palette animation on pen 15 is used to rapidly change its colour between blue and white. I guess, the visible animation effect is done by randomly using different tiles. But these tiles themselves are not animated.

The animated flame is probably below the space ship.

The death ray (Enter) uses six tiles from the upper right corner, also without tile animation.

With the code snippet from Axelay I also saw the flickering plants. But this is not caused by tile animation. There must be a small bug in the code, although I cannot spot it. I suspect these initialization commands that calculates the tile starting address:

ld h,&60
add a,a
ld l,a
jr nc,skip
set 3,h
.skip

The plant tiles are above 128, sky and earth tiles are below 128. Maybe the flickering also occurs for other tiles above 128, but in the starting screen they are not used?

MacDeath

#151
great project but I can't validate the palette... I know it is the original version's one... Devs often did screw up the palettes on the CPC versions, because they were so hard on the C64 and speccy and amiga and didn't care about CPC, quite often...

Haven't checked if you can really modify the palette but if you can :
to use both bright and pastel yellows and greens is a waste... all it does is giving garish saturated hues with too few visual gain, on the other hand the blues are not used as they shoul, as it is where to look at to replace the large grey gradiants of the amiga version.

If you really want to use CPC's medium and only grey, grade it with Black, dark blue, grey, pastel blue, perhaps pastel cyan and white. else you can use the DarkBlue-Mauve-pastelblue gradiant to get a nice greyish substitute. For those earth/rocks tiles, don't don't don't use bright Red as it is overly Saturax bleeding eyes of doom inducting... proper earthy rocks ramps would be Dark Red, Dark Yellow, Orange, pastel yellow and white : better contrast, less saturated thing. yellow, green and Cyan can't decently field both medium and pastel ones in general, I suggest to opt for medium green, pastel yellow, pastel or medium cyan (not both)... pastel yellow goes better with medium green than pastel green anyway as it provides a hue shift.

a good ramp to use can be Dark cyan + sea green + pastel yellow (+black and bright white)... not sure it can fit well into turrican though.

Please get rid of the medium plain flashy blue... it doesn't mix well with CPC's unique grey they are not supposed to be gradiants of each others. keep it to water or some effects here and there...

You could thin the helmet a slight bit (see my posted mockup). mdoe0 needs to sacrifice some details from the amiga version...

BTW this is a good hack idea, and while every one can have opinion on the way to do it, priority to the ones doing the thing. I'm just giving my (maybe wrong) opinion as always, it engages just me, you can well ignore it.


***Yeah i do'nt quite use the official names always, Dark/medium/pastel = plain/bright/Pastel.... grey is "white 13" and white is "bright white 26". most "Bright" ones actually mean "saturax cartoonish garish" and must be limited... human eye doesn't see contrast in green as in blue or red, hence greens, yellows and cyans (they contain green) lack contrast between the brights and pastels, compaired to reds, magentas and blues.... yeah we have 5 greens but really can't get a proper usable gradiants for more than 2 and half. must shift hue into cyan or yellow at some point.

OneVision

@lightforce6128 Thank you for all the details. I'm not sure though I have understood everything ! 

I'll start with what I know : usually I use a software like Tiled to edit 2D levels. I need 2 things : a tiles bank (the .tsx stands for tileset I guess) and of course the tile map (.tmx which is where goes what tile).

I'm afraid I didn't understand your needs in terms of colors used in each tile. What I was proposing is the following : if I can be provided with the tilemap of level 1-1 with all the tiles, I can rearrange/downgrade it to have the same game feel and gameplay with only 64 tiles by simplifying.

For animated tiles : if the compute boost is significant, it can be decided to simply cancel animated tiles. We can all say it's better to have faster scrolling and smoother animation rather than a few animated tiles.

Well here's the thing : I can rearrange level 1-1 if I can be given a .png file of the whole level with the bank of all tiles. Then I can start working on it.

Sorry if I missed some important points in your optimisations, and I'm open to discuss it by voice on Discord or other.

Thank you !

Axelay

Quote from: lightforce6128 on Today at 05:13With the code snippet from Axelay I also saw the flickering plants. But this is not caused by tile animation. There must be a small bug in the code, although I cannot spot it. I suspect these initialization commands that calculates the tile starting address:

ld h,&60
add a,a
ld l,a
jr nc,skip
set 3,h
.skip

The plant tiles are above 128, sky and earth tiles are below 128. Maybe the flickering also occurs for other tiles above 128, but in the starting screen they are not used?


Hmm.  I don't believe that is correct.  I see a routine updating the characters in the tileset is triggered by a call from &45a to &1b03.  I placed a RET at &1b03, the chars stopped updating, I then assembled the code & graphics I posted earlier to memory, and there is no longer a graphical problem with the plants or any other characters I had seen an issue with previously.

Jean-Marie

@MacDeath, Yes, you can modify the palette after a level has been loaded. You'll need to put a breakpoint at 1B00h (this is the entry point), then change the 16 values starting at 1B1Fh (see screenshot). Actually, ink #15 cannot be changed, as it is used to produce the blinking effect of the Lazer Ray, and it is changed on every frame.
There is a catch however, as those values are not color values but an index in a table of 27 colors (the palette), located at DE85h. For some (bad) reason, the programmer used an indirection method.
org #de85    ;;palette table
db #14,#04,#15,#1c,#18,#1d,#0c,#05
db #0d,#16,#06,#17,#1e,#00,#1f,#0e
db #07,#0f,#12,#02,#13,#1a,#19,#1b
db #0a,#03,#0b

Thus, if you peek at the first value at 1B1F (this will be ink #0), it contains the index value 11 (0Bh).
If you add 0Bh to the palette table at DE85h, you'll get DE90h and it contains 17h, which is the background blue (those are Gate Array color values). A bit cumbersome, innit?!
As for you mockup, no offense but I prefer the current version. Your colors for the ground seem washed up, like on Commodore 64, while we CPC users are accustomed to vivid colors! But it's a matter of taste I guess, difficult to please everyone.

Powered by SMFPacks Menu Editor Mod