#26010 - Kylio - Fri Sep 03, 2004 6:33 am
Since OAM doesn't support 16x24 pixel sprites (Chrono Trigger, FF2, etc.), would it be more efficient to split the sprite in 2 (16x16 & 16x8) or making the sprite 16x32 pixels with a tile of padding on top? Or perhaps there is an even better way that I don't know of.
My seccond question is about people's preference to programming the events for an RPGish game (by events I am reffering to conversations with NPC's, etc.).
-Thanks alot, Kelden Cowan
#26012 - DekuTree64 - Fri Sep 03, 2004 7:31 am
Which way is more efficient depends on your needs. If you plan to have mostly 16x24 sprites around, then I would say the single OAM is better even though it wastes 2 tiles per sprite, just because it's a lot simpler. The multi-OAM way is more flexible in the long run though, because you can paste OAMs together to make larger ones than the 64x64 limit of the hardware, and save space by splitting them up so big empty areas around the corners aren't stored at all. For smaller sprites, the benefits don't really outweigh the costs in speed and difficulty.
For events, the standard way is to write a scripting language with any commands you need for your particular game (textbox, move character, etc.), and write out event sequences in that.
The way I did it in the past was just by writing C functions for each event and storing them in tables of function pointers to reference by event numbers. Not the most efficient, but it does let you write out any sort of code you want in the events, and saves the trouble of writing a scripting system. But then you can just go add any code you need into the engine and make a command for it anyway, so scripting is better in the long run (and can save a lot of space compared to C code in a large project)
_________________
___________
The best optimization is to do nothing at all.
Therefore a fully optimized program doesn't exist.
-Deku