Here are the current tilesheets for the tanuki project. For those interested, I’mma try something new and give a little NES lesson after the break. ; o
So the way the NES handled sprites was kinda wonky. The system was only capable of working with 8x8 pixel sprites (although I hear there’s a mode that used 8x16 pixel sprites, but that was just by sticking two regular sprites together). That means that if any character or object in your game was more than 8 square pixels, then they had to be made up of multiple sprites tied together. This is commonly referred to as a meta-sprite. A great example of this is Big Mario’s sprites from Super Mario Bros 3. He fits in a 16x32 pixel box, meaning that he is made up of no less than 8 sprites, or 4 rows of 2.
furthermore, the NES divided its sprites into two types: Characters and Background Tiles. Character sprites are used for more dynamic elements in your game. Things like the player, enemies, bullets, health drops, puppies, etc. These sprites are allowed to move around much more than Background Tiles (being able to travel anywhere on screen freely), but also have more strict limitations because of it.
The NES can only handle a maximum of 64 Character sprites on screen at a time. This may seem like a lot, but remember that Mario took up 8 sprites by himself, so this was actually a harsh limitation. Games with bigger and more detailed sprites were then penalized by having less characters they could draw at once. Also, what I think is the harshest limitation of the console, is the fact that it can only draw up to 8 sprites in any given horizontal line at a time. Any sprites after the 8th one are simply dropped by the console, and this is what caused most games to use the infamous “flickering” affect. This means that if you have 5 Mario's standing next to each other in SMB3, then the fifth one would not be drawn at all, even though you’re still well under the 64 sprite cap. This is why most NES games that do have bigger sprites tend to make the sprites taller, while still keeping them relatively thin.
Background Tiles worked a little differently. The console had effectively two backgrounds that were the same width and height (256x240) as the screen. This meant they could each fit 32 sprites across, and 30 sprites down. And unlike character sprites, the background tiles were static and had to stay in their respective space on the grid (the first background tile was always drawn in the first 8 pixels across and 8 pixels down, the second one was 8 pixels to the right of that, and so on). You may not be able to move the sprites separately, but each background could be moved as a unit and that’s how NES games were able to have scrolling backgrounds.
And finally, the NES used tile sheets to store the sprites that it was currently using in memory. There were two tile sheets, one for character sprites and one for background tiles. Each sheet was 128x128 pixels, or 16x16 sprites. This meant that there was a hard limit of 256 background tiles or character sprites on each respective sheet. You could have more sprites than this in memory on your cartridge, most games did, but that was the maximum amount you could load and use in your game at any given time.You could swap out sprites in real time to cheat this a little, but that’s an entirely different lesson.
The point is that the NES had harsh limitations, some of which were downright stupid in retrospect. And I haven’t even started talking about color palettes yet. The console may not look like much now, but anyone that could squeeze a good looking game out of those ridiculous guidelines has my respect.