tokumaru wrote:
Really? There's not much you can do in an 8x16-pixel area, artistically speaking. IMO, that would only work if your view is pretty zoomed out and there really are a bunch of sprites active at all times.
I saw a thread down lower comparing the advantages of 8x8 sprites with the advantages of 8x16 sprites, and I think I should take another look at that, but yeah I am leaning towards 8x16. The majority of my objects are going to be 16x16, so that would mean I could have as many as 32 instead of 16 onscreen at a time, right? And the sacrifice is a few gaps in the sprite tiles, meaning slightly less graphical variety. In my case, I think I'd only really take a hit when dealing with some of the weapons and projectiles, and then only when they were pointed right or left. Of course, I should probably evaluate whether or not I actually NEED 32 objects onscreen at a time.
tepples wrote:
Of course, one problem with a dynamic pattern system on the NES is that unlike the Genesis, Super NES, and Game Boy Color, the NES has only a fixed-function DMA unit that copies a display list to OAM and cannot be used, say, to copy tiles or nametable rows to VRAM. This lack of "blast processing", as Sega referred to the more versatile DMA unit in the Genesis, limits the frame rate. A program running on a Famicom or NTSC NES can update about 160 bytes of CHR RAM (plus OAM) per frame with moderate unrolling. That's five out of 64 16x32 sprites, or four on frames when it also updates a row or column of tiles or animates the palette. If half the sprites on the screen (32 out of 64) have more than one frame of animation (for example, not bullets), that limits animations to just under 10 fps on average. This can be enough for a slower game like an RPG.
I'd been meaning to ask about sprite animations, actually. You guys have talked about the differences between CHR-RAM and CHR-ROM animations in the context of background tiles, but would the same kind of rules apply to sprites where system resources are concerned? Because I don't see bank switching done to animate sprites quite as much. That is, it does happen - Mario 3 swaps in a new set of tiles when any powered up Mario jumps - but it's a SET of tiles to use for animations. A new bank switch doesn't take place every frame.