Another World, a Beautiful Lesson in Software Architecture
summary
Rebuild of the 1991 Amiga game Another World from its original executable and assets, describing the tiny 24 KB binary and 1.2 MB assets on a single floppy and how the game uses a custom bytecode VM (64 cooperative threads, 256 16‑bit registers, 29 base instructions and ~219 opcodes) to handle game logic, polygonal rendering and a 4‑channel PCM mixer. Covers the resource layout (13 banks) and the bespoke "bike killer" compression (about 33% overall savings, ~89% for music), and a modern port implemented in C++ with SDL plus a WASM build that runs in the browser.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 3:311991 technical context
- 8:33Game engine architecture
- 13:50Bike Killer compression
- 17:03Game virtual machine
- 24:27Opcodes and optimizations
- 30:47Video subsystem and polygons
- 36:11Transparency techniques
- 37:37Audio and 4-track music
- 39:04Conclusion and legacy
- 41:32Live game demo
related talks
44mAnother World, a Beautiful Lesson in Software Architecture
59mReverse Engineering a Classic Video Game
59mTeaching an Old Dog New Tricks - A Tale of Two Emulators
38mThe Early Days of Id Software: Programming Principles
05mCan It Run Doom? - 1993 Classic Doom & Program Efficiency
51mTechniques for Wielding Data and Behaviors
24mThe Quake Postmortem: The End of the Original Id
25m[Keynote] “Codename: Tunahead” aka Software Engineering Economics for Runtimes
