

The levels themselves, just became a giant 2D array of indexes into the sprite sheet. For example, below is a remake of the original super mario sprite sheet: It’s not the exact original sprite sheet, but you can get a sense of the small blocks of data that can be use over-and-over again.Įach small 16x16 pixel square represents a “tile” and artists would string these together to create the actual levels. Sprite sheets contain small tiles of graphics, that are re-used over and over again. Basically, a subset of the 1MB cartridge data must be loaded into the 2kb RAM and used to render the 180kb screen. So, there was no way to fit the entire game’s contents into main memory. A cartridge itself could could hold 8k to 1mb of game data. The original NES console was only designed to output images that were 256 wide by 240 high meaning that the final image that needed to be displayed to the screen was 180kb in size.īesides that, the NES only had 2kb of RAM. So let’s talk about how the original Super Mario game worked, from an asset perspective. I want to set something clear here though : we’re not really comparing Apples-to-Apples, so let’s define some technologies first. Great question Dion! I will answer it, and not just because you’re my new boss, but because it’s a good question. By Colt McAnlis Where do all the bytes come from?
