I found a good description of the engine in the Sonic games. It describes roughly how the engine works for people writing their own clones. In my case, I am simply interested in getting a general view of how the many 8-bit and 16-bit game engines worked on their respective consoles. So, this is a big-list style question asking, what other online descriptions of specific game engines have people found?

The only sonic description I remember was one that didn't describe the 'engine', but did describe how the in game physics worked. Can you link to the article you're thinking of so people can have a better understanding of what you're talking about?
–
Tetrad♦Jun 6 '11 at 16:16

10

We didn't really have game engines back then. We just had games. Sometimes you'd take a previous game and replace bits of it to make a new game, but calling it an engine is a bit of a stretch. Given that almost all games back then ran on predictable hardware with single-threaded execution 99% of them would look much like `int main() { while(1) { read_input(); update_world(); render_screen() } (or the assembly equivalent), so it's hard to know what you're asking for.
–
KylotanJun 6 '11 at 17:56

2

Perhaps we need a definition of "game engine" for clarity. The term "game engine" gives me the impression that there's a generalized underlying system of some sort that one or more games rely on to function. Being [assumedly] modular, I'd also wonder if this "engine" could be updated separately to install performance improvements, independent of game updates.
–
Randolf RichardsonJun 6 '11 at 20:28

As @Kylotan pointed out. Engine is Input, Processing, Output. Processing was some hacked up physics. Input was polling or whatever hardware allowed; Output the same. That is not interesting, but what is extremely interesting is how they managed to make it so small&efficient, that is what I value about it. You may be interested in making Allegro game in 20 lines, it contains many hacks to make code small; thought some of them are C language related, some - like how they use arrays ... - are worth knowing I think.
–
user712092Aug 29 '11 at 13:21

2 Answers
2

Most games of that era functioned very uniquely; there was very little engine-like code reuse.

That said, you're fairly likely to find the kind of detailed descriptions of gameplay mechanics you want from games that are very big/popular like Metroid, Final Fantasy 6 or Final Fantasy Tactics -- people have been researching the mechanics of those games extensively and you can find a fair bit of information about them scattered arond. Also games that are popular among tool-assist speed run fans as they tend to have know (and thus, hopefully document) a lot of the interesting quirks of the game code used in the games they run.

(Note that the TASVideos link was being really flaky at the time I wrote this and may not connect reliably.)

I found it interesting that some of them use compression (RLE, dictionary), some of them don't, some use name generators; they had to save space because 8-bit computers had little memory. I believe that by examining these data formats You can derive algorithms yourself. :)

There is more 1 hour long video of making of Google's Pacman clone on Youtube and they used this detailed study of Pacman (Gamasutra link). In video they talk how they used some "good old" techniques like packing multiple textures into one ...