This fellow over on Stack Overflow has many questions on how 8/16-bit era games were programmed. I'd like to point him at a basic primer on how game loops worked, static entity arrays and rendering loops and the like; but I don't know of any such book. (And it's been so long since I was there that I've totally forgotten how I learned in the first place.)

Is there any book describing how those old cartridge games were built; or in general any single resource I can point people at for native game programming basics?

  • \$\begingroup\$ Look at old-school, specifically gamedev.stackexchange.com/questions/443/… \$\endgroup\$
    – Tetrad
    May 1, 2012 at 23:06
  • \$\begingroup\$ I'm not sure if old school game dev concepts are going to help someone asking about how to do an event loop in Java... \$\endgroup\$
    – Tim Holt
    May 2, 2012 at 2:46
  • \$\begingroup\$ @TimHolt His earlier questions were more in the vein of "how did they do it back then," and really I am not thinking so much of that particular person as students in general. \$\endgroup\$
    – Crashworks
    May 2, 2012 at 3:14

3 Answers 3


The same way they do it today. Nothing has changed about the basics of a game loop. The only difference is the language used to do it, and modern games typically access the hardware through an API like DirectX instead of speaking to the hardware directly. This is a great leap forward and gone are the days of "selecting your soundcard"

select sound card

because games don't have to know the hardware anymore - they leave that to the O/S layer (eg windows), and the Windows O/S interacts with the hardware for you.

There's more though. Are you sure you want to know this?

[Continue] [Cancel]

Tricks of the Game Programming Gurus is from 1994. It talks about how games of it's time were made (like Doom 1 and Heretic). Andre Lamothe also released The Black Art of Video Game Console Design in 2005. I haven't read it.

If you want to go further back, Jordan Mechner recently released the Prince of Persia source code on github. Mechner also wrote a book about his experience developing it. There also is a pdf brief explaining the source, with diagrams and the like.

  • \$\begingroup\$ -1 for irrelevant image and André LaMothe (the w3schools of game development). \$\endgroup\$
    – user744
    May 2, 2012 at 11:26
  • \$\begingroup\$ Oh I know, but cut Andre some slack. His books are mostly rambling speals but there is some interesting stuff in them. The sound card selection image isn't irrelevant - it's to bring you (the reader) back to the days of when game software had to interact with the hardware drivers directly - I most remember that thru soundcard selection (something you never had to do since DOS days). \$\endgroup\$
    – bobobobo
    May 2, 2012 at 15:16
  • \$\begingroup\$ The sound interface for one particular popular current-gen console is still basically "write 48,000 floating-point numbers per second to this memory-mapped address." \$\endgroup\$
    – Crashworks
    May 2, 2012 at 20:44
  • \$\begingroup\$ Wow, which one? Even though that is low level, it still doesn't require you to write instructions for any particular sound card. \$\endgroup\$
    – bobobobo
    May 3, 2012 at 1:30

Above and beyond the answers in the question Tetrad points to in comments, there's also Racing The Beam, which takes a look at the coding and culture of the 2600 - it's by no means a perfect book, but it's well worth a look.


Well I haven't really found any good books describing it, but basically there were musicians, artists using things like deluxe paint or other custom/proprietary tools. Then the game was written in assembly using the platforms SDKs or available assemblers. Then, the game was packaged and sent off to a publisher. Anyway, if you want to be able to write them, find a book on assembly for a specific platform and learn how to program in that language.

  • \$\begingroup\$ Well, I know how it was done; I was there. What I'm looking for is a resource I could show students to explain the history and practice. \$\endgroup\$
    – Crashworks
    May 2, 2012 at 3:16
  • \$\begingroup\$ well you could explain it to them with a powerpoint or something. \$\endgroup\$
    – CobaltHex
    May 2, 2012 at 5:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .