NES draws sprites based on the index in OAM associated with that sprite (0 through 64), however NES Maker doesn't manipulate it properly so the sprites are ordered as they should be and this makes for certain glitches where player is on top of a monster or sprite object when it should be behind it.
Obviously, how you'd sort the sprites depends on the type of game you're making (in zelda-like and a JRPG you'd sort based on sprite's Y value where in a platform game you'd may want to enforce certain order, so e.g. enemies are never drawn on top of the player while other things (such as sprite hud) may be. What makes me sad is that the sorting in NM (for adventure module) is either non-existent or implemented in so bad way that it may just as well not be there. Explain this to me, for example:
It's true that if I continue to go down, it eventually straightens itself out, so some sorting clearly is applied, but it seems to sort based on coordinates of the top-left pixel of the sprite instead of very bottom of it (as it should be the case for a 2.5d game like this).
Meanwhile, some monsters should be drawn below player at all times. For example, I got these things here:
See the grey dots? They're lasers - they act in a similar way that in some games spikes do. You may go through them if they're off, but when they activate (they're on a timer) they'll hurt player. Functionally, they work. But what when you are going through them?
Whoops, suddenly they're on top of you. Instead, there should be a way to force certain monsters to always be drawn under the player (or on top of him and other monsters if it's an environmental thing, such as a bird flying over, I guess) for occasions such as this.
Yes, this thread is nitpicky AF, but is it really so wrong for me to want from others the same thing I want from myself - absolute and utter perfection (or at least fixing basic bugs that can be seen with basic testing)?
Obviously, how you'd sort the sprites depends on the type of game you're making (in zelda-like and a JRPG you'd sort based on sprite's Y value where in a platform game you'd may want to enforce certain order, so e.g. enemies are never drawn on top of the player while other things (such as sprite hud) may be. What makes me sad is that the sorting in NM (for adventure module) is either non-existent or implemented in so bad way that it may just as well not be there. Explain this to me, for example:
It's true that if I continue to go down, it eventually straightens itself out, so some sorting clearly is applied, but it seems to sort based on coordinates of the top-left pixel of the sprite instead of very bottom of it (as it should be the case for a 2.5d game like this).
Meanwhile, some monsters should be drawn below player at all times. For example, I got these things here:
See the grey dots? They're lasers - they act in a similar way that in some games spikes do. You may go through them if they're off, but when they activate (they're on a timer) they'll hurt player. Functionally, they work. But what when you are going through them?
Whoops, suddenly they're on top of you. Instead, there should be a way to force certain monsters to always be drawn under the player (or on top of him and other monsters if it's an environmental thing, such as a bird flying over, I guess) for occasions such as this.
Yes, this thread is nitpicky AF, but is it really so wrong for me to want from others the same thing I want from myself - absolute and utter perfection (or at least fixing basic bugs that can be seen with basic testing)?