I remember the coleco jumpman jr! Lovely! Great game
Here it goes, new version with double buffered sprites and scroll (after pitpan' s curse on scroll which gave my headaches)
Download: www.mediafire.com/?j10miwrg7mmkg0b
There is no physics yet, no hit detection. Just to show the animation engine. The next step is plugging physics, hit detection then I will go for the respawning system. It' s going to be tough because we have tons of coins, destructibles and a very huge map spanning across 64KiB. I am no longer limited to a 64 sprites table, I can use as many as I want or I can fit into a megarom.
Although turtles doesn't move they can move on a pixel basis, also I'm rolling out the sprite out of the screen on left. I don' t know if this is good or not cause it takes more time for a sprite to disappear.
Afterwards with the engine mature I'm going to release the source code. It's a complete engine, what I call msxGL :). It comes with a tile editor/screen ripper and sprite conversor. I use my own algorithm for ripping the screens, but it is similar to jannone without error diffusion:
I'll need some help with music, I have no PSG/SCC nor music knowledge :S
Nice. Flickering routines could be improved, although they do their work.
In any case, please pay attention to diagonal scrolls, 'cause it feels like an horizontal scroll and a couple of frames latter, a vertical scroll. If you can try to coordinate both, you'll have a smoother diagonal scroll. Just a matter of sync, I guess.
Overall looks great. Anyway, reserve right now enough CPU cycles for game action processing!
I'll need some help with music, I have no PSG/SCC nor music knowledge :S
I can convert/re-arrange the NES music data to MSX PSG relatively easy, but I'd really need to know the level of 'seriousness' of this project.
In the past, I've just done too much work on soundtracks for games that never got finished.
EDIT: Looking at the SMB3 music data now. OMG, the soundtrack is huge. Over 30 tunes!
John is the guy you need for your music.
http://www.youtube.com/watch?v=1Mo1EVHN0ao
Btw: I often resolve sprite flickering by using a reverted (mirrored) sat. Something similar is used in Zanac.
Nice john, please give me more time. I am doing a test demo to see if there is dead end in the project. Let me put physics and some gameplay then we go for sounds.
I am trying a different approach for animations. I am committed to finish at least the level 1-1. Then I will release the source code then anybody interested can help adding more levels. etc.
I found out the megarom bank switching is not fast as I though, so I have to work on this. Do you have an idea of how much CPU the music needs ? Memory is not much a concern I am using megarom. I suppose the music routine runs in the interrupt routine right ?
(this is going to be the largest megarom game ever)
@Huey
You mean reversing the SAT, but if I have 32 sprites in the same row (what should not be difficult in Mario) I will show the first 4 and the last 4 but the middle 24 will stay hidden.
I am ring buffering 4 each time. I made some experiments using 5, 7 which gives me interesting results too. The sprite sort won't give any benefit since almost all the sprites stay on the very same line.
what other methods do you suggest ?
@pitpan:
I will try to sync both SUB offsets when reaching both borders, but it's not so trivial, because I have one blocky scroll like MAP_X and a smooth scroll: MAP_SUB_X, when the smooth wraps around I increment the MAP_X. They are out of sync since you can reach one border first than another. Using this way it gives me support for a future MSX2 adjust scroll (but then I will need split screen I don't think it will be suitable)
@Huey
You mean reversing the SAT, but if I have 32 sprites in the same row (what should not be difficult in Mario) I will show the first 4 and the last 4 but the middle 24 will stay hidden.
I am ring buffering 4 each time. I made some experiments using 5, 7 which gives me interesting results too. The sprite sort won't give any benefit since almost all the sprites stay on the very same line.
what other methods do you suggest ?
32 sprites in a row (1 mario + 2 fireballs + 14 NPCs?)!! Then my approach isn't going to work.
ARTRAG once made a nice sprite engine. When a 5th sprite in a row occurs it will flicker first only the black outlines. If there are still more than 4 sprites on a row then both sprite layers are flickering.
It works like a charm on darker backgrounds.
@Huey
You mean reversing the SAT, but if I have 32 sprites in the same row (what should not be difficult in Mario) I will show the first 4 and the last 4 but the middle 24 will stay hidden.
I am ring buffering 4 each time. I made some experiments using 5, 7 which gives me interesting results too. The sprite sort won't give any benefit since almost all the sprites stay on the very same line.
what other methods do you suggest ?
with 32 sprites on a row you need 8 frames to display all. looks horrible.