I'm here again to show you a new video of Freedom Fighter, my creature. This video (that shows a complete first level run) is a tribute to the game that inspired me. You all know it. Zanac. So for the first level I wanted that the music too reminds of Zanac. Now you can listen to it, slightly interrupted from Sfx. When you'll master the game (or when someone will hack the code) you'll can listen it to the full by the music test I've inserted in the code (but probably I'll put a music test video in few days). But you can be sure that my effort isn't ended here. During last few days I've improved my code: now it is faster and lower. Bytes seems to never be enough but all of a sudden you found a way to save tens of them in one time! The game, as you know, will consist of 5 levels. 3 of them are fully completed: each has its own gfx, sprites (only one or max two enemies will "survive" from a level to the next one), attack and movement patterns and 2 bosses (a midlevel boss and a end level boss) well differenced by patterns and gfx. And obviously each level has its own music (the levels' bgm are all ready, yet, and game over music too). Probably in next few days I'll share another video: what about a mash-up off all bosses actually ready? But the bgm will be the main ttle theme (don't you want I'm spoil you all the game contents, right?)
Don't forget to set YouTube video at 720p50. Enjoy!
WoW.. Very VERY impressive. I also realy like the Zanac-music tribute! I think I'll have to get out my joystick and spend some time with this game. Impressive to see what can be done on a humble MSX1. Also really like the use of colors on the sprites!
Only one small thing: Maybe a bigger explosion after killing the level 1 end boss would be nice?
But still... I can't wait untill I can play this game!
It looks great! Nice music, and also huge second boss using patterns.
I have one suggestion: for the acceleration at the first boss, instead of doubling the speed in whole steps from x1 x2 x4 x8, what about transitioning more smoothly by interpolating a fixed point factor? I think this could really give a feel of sling-shotting your speed. I would still keep the exponential acceleration curve and perhaps also some pauses, or try out various types of curves.
So e.g. instead of going from 1x to 2x straight go in smaller steps like e.g.:
Linear
1.20H (1.125)
1.40H (1.25)
1.60H (1.375)
1.80H (1.5)
1.A0H (1.625)
1.C0H (1.75)
1.E0H (1.875)
2.00H (2.00)
Exponential
1.17H (1.09)
1.30H (1.19)
1.4CH (1.30)
1.6AH (1.41)
1.8BH (1.54)
1.AFH (1.68)
1.D6H (1.84)
2.00H (2.00)
For example a speed 01.80H (1.5 decimal) would step 1 on the first frame and then 2 on the next frame.
indeed, lots of progress and quite impressive! What I miss compared to Zanac is a weapons (upgrade) system. Any plans for that?
@Grauw actually I set a number of transiction frames to accelerate. Actually, during acceleration, the scroll does 20 rows at 2 pixels, 20 at 4 pixel speed and then 8 pixel speed until the map is ended, after the boss is dead. I can set a big number. it was set at actual value long time ago, when I've implemented acceleration. I used the value "20" because when I did it the damage inflicted by weapon wasn't like actual and often I was able to kill the boss before the acceleration could reach the max speed (so it seemed unuseful). But yes, I can change this value now
@Manuel probably in a new project XD actually the code is almost complete and I have really few remaining bytes. I want to see a complete project so if I keep adding stuff it will never end. The last thing I'll add will be the 2nd secret (1st is the above mentioned music test and 3rd is the cheats activation and both are already implemented). The time left until msxdev deadline will be used to draw gfx, sprites and bosses, do the tilemaps and coding for bosses movement and collisions (yep all of them have own, but you'll se by yourself in a few days) for level 4 and 5. And then I plan to add prologue and epilogue sequences, so other gfx, and new musics. I think it will be done AFTER msxdev (but I'll do, I SWEAR) and actually I don't know how many room they will need. But I can add some pages thanks to ASCII16 mapper... we'll see.
@tfh I hope I'll have some free bytes to add more explosions. Stay tuned! (and thanks for your always kind words)
@Grauw actually I set a number of transiction frames to accelerate. Actually, during acceleration, the scroll does 20 rows at 2 pixels, 20 at 4 pixel speed and then 8 pixel speed until the map is ended, after the boss is dead. I can set a big number. it was set at actual value long time ago, when I've implemented acceleration. I used the value "20" because when I did it the damage inflicted by weapon wasn't like actual and often I was able to kill the boss before the acceleration could reach the max speed (so it seemed unuseful). But yes, I can change this value now
I mean to increase not in whole pixel steps, but to also have a “1.5” speed during the acceleration where it goes between 1 and 2 steps each frame for a while. During a constant scroll speed this won’t look nice, it will look jerky, but during a linear acceleration it will look good I think as long as you always end the transition at a whole number.
Currently you probably have an “y” variable which is an 8-bit value, the lowest 3 bits determine the character offset and the upper 5 bits the character scroll position. If you add another byte to the “y” variable to act as a fraction (a fixed-point number), and instead of adding e.g. 1 or 2 you add 100H or 200H, or indeed, 180H (1.5), you can have scroll speeds with a fraction. You only use the upper byte for the actual “y” position, the lower byte will accumulate based on the step size and make the upper byte increase by 1 1 1 2 1 1 1 2 if you use increment 1.40H, 1 2 1 2 1 2 1 2 if you use increment 1.80H, etc.
Example of what I mean: https://youtu.be/duvvOv7NPbE
I notice the exponential curve, which needs a look-up table, is almost indistinguishable from a simpler linear interpolation between 1, 2, 4 and then 8.
Well, now I got what you are talking about. But I need that the sum of scrolled pixel after a certain number of frames is 8. So it is possible to do 112112 but 121212 is not possible (because I have to know first the sum to do 12121 and start new "scrolling" from second line of the characters) so probably I have to setup a lookup table containing the starting offset for the various acceleration stages and the acceleration steps. My scrolling routine redefines dinamically the tiles, so it's not that simple. I figured it out and it is possible what you suggest. But I don't know if it's worth to try to do it now (but I'll do for sure some tries if I'll have some spare time. Probably I'll go back to work this week (so it said my boss) and I'll have less time to code