I was born in 1981, and spent my childhood playing classic games like Dizzy, Ant Attack and Manic Miner on the Sinclair ZX Spectrum.
Those games - and so many others - made me want to create my own games. I read every programming book I could find, trying to understand how the developers of the day crammed so much gameplay into such limited machines, with proportionally tiny amounts of CPU power and memory compared to the average systems of today. That fascination led me to a career as a professional software engineer, but I didn’t ship my first real game until very recently.
I created Code Like It’s 198x to be the resource I wish I’d had back in the day.
The longer-term goal is to have a comprehensive set of documentation for each platform, helping readers to understand not only the systems, but the developers who worked with them and the techniques they discovered along the way. Much of this information is already available online, but not in one plac...
2 comments
[ 2.5 ms ] story [ 17.0 ms ] threadThose games - and so many others - made me want to create my own games. I read every programming book I could find, trying to understand how the developers of the day crammed so much gameplay into such limited machines, with proportionally tiny amounts of CPU power and memory compared to the average systems of today. That fascination led me to a career as a professional software engineer, but I didn’t ship my first real game until very recently.
I created Code Like It’s 198x to be the resource I wish I’d had back in the day.
Right now, you can start on the ZX Spectrum (https://code198x.com/systems/sinclair-zx-spectrum/), building a series of BASIC games (https://code198x.com/systems/sinclair-zx-spectrum/basic/), or jump straight to Z80 assembly language (https://code198x.com/systems/sinclair-zx-spectrum/assembly/), building your first full game, Meteor Storm (https://code198x.com/systems/sinclair-zx-spectrum/assembly/m...). You can work directly in the browser, using the editors, assemblers and emulators I’ve embedded into the site, or you can download the tooling to use separately on Windows, macOS or Linux (Emulators: https://emu198x.github.io, Assemblers: https://asm198x.github.io).
The goals of the site are simple:
- Learn about the vintage systems and the cultural context around them
- Understand how they worked, what their limitations were, and how developers of the day worked around them
- Choose a system, and build a series of games for it in BASIC and/or Assembly (and maybe other languages later)
- Build a library of techniques that can be applied not only to games on these systems, but on projects for modern systems too
I’m actively working on content for the ZX Spectrum, Commodore 64 (https://code198x.com/systems/commodore-64/), NES (https://code198x.com/systems/nintendo-entertainment-system/), and Amiga (https://code198x.com/systems/commodore-amiga/), with other systems to follow based on demand from readers. You can also browse through the Pattern Library (https://code198x.com/patterns/), where I’m attempting to build a set of sample code that you can use in your own games, or explore The Vault (https://code198x.com/vault/), where I’m trying to connect the dots between all of the individuals and companies whose shoulders we stand on today.
The longer-term goal is to have a comprehensive set of documentation for each platform, helping readers to understand not only the systems, but the developers who worked with them and the techniques they discovered along the way. Much of this information is already available online, but not in one plac...