|
Posted By
KiCHY on 2018-06-05 12:14:13
| Re: Spikes : musician wanted.
I love it!
At first, when I saw those cute 4k games on CSDB, I started to think how is it possible to create a +4 port. And voilĂ , the original author did our job! I can't be happier
Apropos, I'm not a musician :/ but I'm sure one TED maestro will accept the challenge.
|
|
|
Posted By
Chronos on 2018-06-12 03:45:05
| Re: Spikes game released!
Thanks Majikeyric! My heart pumps faster always if i see a new plus4 release
|
|
Posted By
Luca on 2018-06-12 11:25:47
| Re: Spikes game released!
Beware! It's a 4K game but it doesn't work on C16! High tables in crunching phase?
|
|
Posted By
Majikeyric on 2018-06-12 12:57:53
| Re: Spikes game released!
The few software sprites with their shifted frames and corresponding masks + the double buffer screens take a lot of memory. I don't see how I could make the prg under the $4000 address...
|
|
Posted By
Csabo on 2018-06-12 13:10:31
| Re: Spikes game released!
Nice game, very fluid motion. Awesome job
|
|
Posted By
Luca on 2018-06-13 02:42:25
| Re: Spikes game released!
Neat, cute, in a modern mood, a gem of an instant game! Thumbs up, congrats!
|
|
Posted By
Mad on 2018-06-13 10:56:23
| Re: Spikes game released!
I checked it, very very nice one! There are ways to get rid of some space used by the sprites, but some of them are only useful if you do have many sprites. I think you know them already so sorry for my attitude here.
One point is to have a 256 byte table with mask entries for every different sprite byte. So instead of the masks you only have a table which maps the sprite byte to a mask entry. I think Mike Dailly called this technique automasking. The drawback is, that you just can use 3 colors for the sprites. (the illegal lax instruction can do wonders here if you can't use ldx for some reason)
Another point is, instead of saving the shifted frames you shift every sprite byte by using two 256 byte tables (with the two neighboring bytes as input) and combine both shifted values with an ora to one single byte. I think this technique is more useful if you have many (really a lot of) sprites. In a very naive case you need 8 tables (2 * 4 * 256 bytes) for this.
Another point is to have an 256 byte table for the x flipping. You just flip every byte by lookuping a table with the corresponding x flipped byte. So you can get rid of the mirrored frames. You can even use the same memory like the source sprite for the flipped one, and can just flip this memory when needed.
I know you are done with the game and don't want to change anything at all, that are just some suggestions, which mostly apply to games where you do have many different sprites. Could be that the code would occupy a lot more space than your current approach.
As said, great game and fun to play. Nice to have people making games on such a flawless level!
|
|
Posted By
MMS on 2018-06-13 21:21:45
| Re: Spikes game released!
Very cool game! Cute graphics, and catchy tune.
But unfortunately a little too hard for me, maybe my relfex is not so good, as I am a little aged. Maybe the gravity is little too strong, and the bird is falling like a rock. (maybe in a next similar game there could be a setting for Easy, and Hard, and it could set the gravity variable, or we could set it before the game, and may add extra replayability feature to the game) Just to support the old men too :-)
|
|
Posted By
Majikeyric on 2018-06-14 09:39:30
| Re: Spikes game released!
Thanks for your nice comments
Mad : Thanks for the memory saving tricks, very interesting ! But I'm afraid it requires a lot of CPU power for a 50fps display.
MMS: for a next game that is an option I should consider as we are all aging
|
|
Posted By
Mad on 2018-06-14 11:27:39
| Re: Spikes game released!
Hey Majikeyric
Nice that your game runs in 50 fps.
I have a sprite demo attached to Pets Rescue. In the sprite demo there is cleared the whole screen for every displayed frame and 8 sprites are displayed. If the 8 sprites are small it is even with this additional performance hit of clearing the whole screen running at 50 fps.
The sprites are no problem for the framerate in Pets Rescue, the scrolling for instance takes a lot more time. Like Degauss once said, if the Plus/4 would have DMA scrolling it could easily compete with other computers displaying a lot of sprites at 50fps..
About the memory saving tricks and their performance:
better: The "automasking" actually increased the performance in my case, using full masks would be slower.
same: The x mirroring is very fast because you call it just once if you actually flip the sprite.
worse: The shifting trick, is of course a performance hit, but it's not a big one at all, I would suggest to just use this trick if you use a lot of sprites, like in our game around 200 different ones.
However I know programmers, so no need to change anything these are just some ideas. I know you are happy with the game.
I just wanted to address your comment: "The few software sprites with their shifted frames and corresponding masks + the double buffer screens take a lot of memory. I don't see how I could make the prg under the $4000 address..."
As said it's your game, sorry for my interference..
Have a nice day!
|
|
Posted By
Majikeyric on 2018-06-14 12:19:30
| Re: Spikes game released!
you have not to be sorry, your remarks are just great! I should give them a try ! Many thanks
|
|
Posted By
bubis on 2018-06-14 15:26:34
| Re: Spikes game released!
This is an amazing prod! Fitting this into 4K must have been very hard. The game is actually too hard for me!
|
|