10 comments

[ 4.0 ms ] story [ 32.6 ms ] thread
If I am skimming this correctly then apparently the Neo-Geo used sprites for everything, except a "fixed" tilemap layer that always appeared over the sprites, and was pretty much only useful for score/status kinds of things?

And the Neo-Geo looks to have been capable of displaying 7k sprites at once?

Damn, that's a hell of a choice.

----

Looking at the Neo-Geo dev wiki: https://wiki.neogeodev.org/index.php?title=Sprites - sprites are vertical strips of 16x16px tiles, from 1-32 tiles high; only 96 sprites can be displayed on any particular scanline. The hardware has support for linking them together to create wider game objects.

One scanline is 384px, so if you want to fill the screen with a tilemap made of sprites, you're gonna eat up 24 of those sprites, leaving you 72 for other stuff. You could probably use another couple dozen sprites for some sparse parallax layers and still have a decent number of them left for game objects. That feels really weird compared to other console architectures I've read about, there's normally a pretty strong division between tilemaps/bitmaps and sprites.

it kind of makes sense. sprites as tilemaps whose origin can be set is how sprites are used, so making that explicit is natural. from there, getting rid of any background layers also makes sense; just put a sprite at the screen origin.
Overscan (using the borders) was at the mercy of the monitor, so games often used 304 pixels to work everywhere, not even 320. That's 19 sprites per layer. Any decent game would use at least two layers (38 sprites total in the general case, assuming no gaps or optimization schemes) or three (57 sprites). But then you'd probably need another column of sprites, partially clipped, for horizontal scrolling.

Sounds like fun.

It kinda does sound like fun, in a world where I didn't already have several large projects in the works I would be tempted to fool around with some Neo-Geo homebrew now!
The Atari 7800 used the same idea of making everything a sprite and having no dedicated tilemap layer.
I just realized how similar the Neo Geo and Sega Genesis/Mega Drive hardware are.
Same CPU (different clock speed) and similar sound chips.

But, most of the "magic" happens in the graphics chips, which are fairly different.

I've been taking my first baby steps into Genesis/Mega Drive development. On a line-by-line, cycle-by-cycle basis, the experience is one of feeding the VDP (its graphics chip) ...keeping it happy, and managing its quirks.

Interestingly, while the Genesis/Mega Drive is obviously far less powerful overall than the NeoGeo, it's more flexible in a few ways. They're not the most useful or spectacular but you can do some tricks that are impossible on the NeoGeo like a limited kinds alpha transparency. You can do it directly with shadow/highlight mode, or convincingly fake it with kind of a "stencil" method.