Techniques & Technology
The clever tricks and deep system knowledge that made magic happen.
Active Time Battle
Time flows in combat
Active Time Battle added real-time urgency to turn-based combat through filling gauges, forcing faster decisions and creating tension that pure turn-based systems lacked.
AGI Engine
Sierra's Adventure Game Interpreter
Sierra's AGI engine powered early graphical adventures from King's Quest to Space Quest, defining the parser-based adventure game genre.
Analogue Control
Degrees of freedom
Analogue sticks replaced binary d-pads with pressure-sensitive input, enabling smooth 3D movement and camera control that became standard for console gaming.
Arbitrary Code Execution
Playing the game's memory
The most powerful speedrunning exploit - manipulating game memory through normal inputs to execute arbitrary code, enabling impossible shortcuts and instant wins.
Arpeggio
Chords from a single channel
Arpeggios rapidly cycled through notes of a chord, simulating polyphony on sound chips limited to single-note channels—a defining technique of chiptune music.
ASCII Art
Pictures from punctuation
ASCII art creates images using text characters, from simple emoticons to elaborate scenes that adorned BBS systems, demos, and NFO files.
Attract Mode
Arcade marketing display
Attract mode displayed automated gameplay demonstrations on idle arcade machines, enticing players to insert coins through flashy visuals, high score tables, and gameplay previews.
Attribute-Aware Design
Working with colour clash
Attribute-aware design on the ZX Spectrum embraced hardware limitations, using colour clash as aesthetic choice rather than fighting against it.
Audio Programming
Sound from code
Audio programming on vintage hardware demanded intimate knowledge of sound chips, precise timing, and clever techniques to achieve musical results.
Bank Switching
Expanding memory through hardware tricks
Bank switching allows systems with limited address space to access more memory by swapping different memory regions into the same address range.
Base Building
Construction strategy
Base building lets players construct and expand military installations, creating strategic depth through placement decisions, tech trees, and the tension between economy and defence.
BASIC Curricula
Teaching code in schools
BASIC curricula in schools introduced millions of students to programming concepts through hands-on coding on classroom computers.
BASIC V2 Reference
Complete command reference
Complete command reference for Commodore 64 BASIC V2
Battery Backup
Cartridge save memory
Battery backup used small batteries inside cartridges to maintain save RAM, enabling complex RPGs and adventure games to preserve player progress automatically.
Battery Save
Persistent progress
Battery-backed SRAM allowed cartridge games to save progress permanently, enabling longer adventures and collection games that passwords couldn't support.
Blast Processing
Marketing meets hardware
Blast Processing was Sega's marketing term for the Genesis/Mega Drive's faster processor speed, becoming both a console war weapon and a source of technical debate.
BOBs: Blitter Objects
Software sprites on the Amiga
BOBs used the Amiga's Blitter to draw sprites into the playfield—offering unlimited objects at the cost of CPU coordination and flicker-free rendering.
Branching Narrative
Your story, your choices
Branching narrative lets player decisions shape story outcomes, from minor dialogue variations to completely different endings, creating personalised experiences at massive development cost.
BSP Trees
3D rendering optimisation
Binary Space Partitioning trees enabled Doom's impossible 3D by pre-calculating visibility, determining which surfaces could see which others to eliminate overdraw.
Cel Shading
3D with cartoon style
Cel shading renders 3D graphics with flat colours and hard edges, mimicking hand-drawn animation and creating distinctive visual styles.
Character Graphics
Building worlds from 8×8 blocks
Character graphics used redefined text characters as game graphics, enabling colourful displays with minimal memory on systems designed primarily for text.
Client-Side Prediction
Making lag invisible
The networking technique pioneered in QuakeWorld (1996) that makes online games playable on high-latency connections by predicting movement locally before server confirmation.
Code Wheels
Analog DRM
The rotating cardboard discs used as copy protection in games like Monkey Island, requiring players to align symbols and read codes - creative but photocopiable.
Collision Detection
When objects meet
Collision detection determined when game objects touched, using techniques from simple bounding boxes to pixel-perfect checks, each trading accuracy for performance.
Colour Clash
The Spectrum's curse
Colour clash occurred when ZX Spectrum's attribute system forced entire 8×8 pixel blocks to share foreground and background colours, creating visual artifacts when sprites crossed block boundaries.
Copy Protection
The anti-piracy arms race
Copy protection evolved from simple disk tricks to elaborate physical manuals and hardware dongles, creating an ongoing battle between publishers and crackers.
Copylock
The protection standard
Rob Northen's disk protection system that became the industry standard on Amiga and Atari ST, using sophisticated techniques to detect original disks and resist cracking.
Crafting Systems
Making from materials
Crafting systems let players transform gathered resources into tools, weapons, and structures, creating gameplay loops that reward exploration and resource management.
Cycle Accuracy
Emulation perfection
Cycle-accurate emulation reproduces original hardware behaviour at the CPU cycle level, enabling perfect compatibility at the cost of performance.
Data Compression
Fitting more into less
Compression techniques allowed game developers to fit larger games into limited ROM and RAM by encoding data more efficiently, from simple RLE to sophisticated algorithms.
Destructible Terrain
Worms' secret weapon
The technique of modifying bitmap landscapes in real-time, famously used in Worms to create satisfying explosions that reshape the battlefield.
Dialogue Trees
Branching conversation
Dialogue trees structure interactive conversations as branching paths, letting players shape character relationships and story outcomes through accumulated choices.
Difficulty Design
Balancing challenge and accessibility
Difficulty design encompasses the techniques developers use to create appropriate challenge levels, from dynamic adjustment to accessibility options.
Digitised Sprites
Real actors, pixel form
Digitised sprites captured real actors and objects as pixel art, creating a realistic visual style that defined games like Mortal Kombat and Pit-Fighter.
Dirty Rectangles
Efficient screen updates
Dirty rectangle rendering optimised screen updates by tracking and redrawing only the areas that changed, saving CPU cycles when most of the display remained static.
Disk Fastloaders
Cutting load times on the Commodore 1541
Fastload cartridges and custom DOS routines slashed wait times, turning the C64’s pokey disk drive into an arcade-ready accessory.
Disk Protection
Copy prevention on floppy
Disk protection techniques prevented casual copying of floppy disks through intentional errors, non-standard formatting, and hardware tricks.
Dithering
More colours from fewer
Dithering created the illusion of additional colours by interleaving pixels of different shades, expanding limited palettes through optical mixing.
Double Buffering
Tear-free animation
Double buffering uses two screen areas—drawing to one while displaying the other—eliminating the visual tearing that occurs when updating the screen mid-display.
Double Buffering
Smooth, tear-free graphics
Double buffering drew to an off-screen buffer while displaying another, eliminating visual tearing and enabling smooth animation even on slow hardware.
Emulation Techniques
Software becoming hardware
Emulation techniques translate one computer architecture to another, preserving playable software when original hardware becomes scarce.
Enemy Design
Making meaningful opposition
Enemy design creates opponents that challenge, teach, and engage players through behaviour patterns, visual communication, and balanced difficulty.
Falling Block
Puzzle game foundation
Falling-block puzzles challenged players to manage descending pieces, creating a game format that Tetris defined and countless variations explored.
Fast Loaders
Beating the bottleneck
Fast loaders accelerated tape and disk loading on 8-bit computers, reducing frustrating wait times through optimised data transfer routines.
Fatalities
Finish them
Fatalities rewarded Mortal Kombat victories with gruesome finishing moves, creating controversy that led to game ratings while becoming the series' defining feature.
Filmation Engine
Isometric illusion
Ultimate Play the Game's Filmation engine created the isometric action-adventure genre, rendering 3D-like environments on 8-bit hardware through clever 2D techniques.
Filter Sweeps
Moving through the frequency spectrum
Filter sweeps create dynamic timbral changes by gradually adjusting filter cutoff frequency, a signature effect of the C64's SID chip.
First-Person Horror
Through terrified eyes
First-person horror leverages the perspective's intimacy to maximise vulnerability, using limited vision, spatial audio, and player embodiment to create inescapable dread.
Fixed-Point Maths
Smooth movement without floating point
Fixed-point arithmetic gives 8-bit systems sub-pixel precision for smooth movement, physics, and animation—all with fast integer operations.
FM Synthesis
Frequency modulation music
FM synthesis creates complex timbres by modulating one oscillator's frequency with another, powering the Yamaha sound chips in computers and consoles.
Fog of War
Strategic information hiding
Fog of war obscures unexplored areas and enemy movements in strategy games, forcing players to scout and making information as valuable as military might.
Force Feedback
Feel the game
The haptic technology that made controllers push back, letting players feel road surfaces, weapon recoil, and impacts through their hands.
Frame Animation
Sprite-based motion
Frame animation creates movement by displaying sequences of pre-drawn sprite images, with quality determined by frame count, timing, and artistic principles borrowed from traditional animation.
Full Motion Video
Live action in games
Full motion video brought filmed footage into games, promising Hollywood production values but often delivering awkward acting and limited interactivity during the CD-ROM era.
Game Design
The craft of creating play
Game design encompasses the rules, systems, and experiences that make games engaging, evolving from intuitive craft to studied discipline with established principles and vocabulary.
Ghost AI
Pac-Man's four personalities
The iconic AI system from Pac-Man where each ghost has distinct targeting behaviour, creating emergent gameplay through simple individual rules.
Hardware Scrolling
Smooth movement without moving data
Hardware scroll registers let the display shift smoothly pixel-by-pixel without copying memory—essential for fast, smooth side-scrolling games.
Havok
Physics middleware
Havok physics engine brought realistic rigid body dynamics to games, becoming the industry standard for physical simulation in the 2000s and beyond.
Hitboxes
Collision boundaries
Hitboxes define the invisible collision boundaries around game objects, determining when attacks connect, pickups are collected, and characters collide with the world.
How a Cassette Becomes a Game
From magnetic stripes to moving sprites
Cassettes were slow, cheap, and everywhere. Here’s how data marched from tape to RAM, one bit at a time.
Interrupt-Driven Music
Sound without blocking
Interrupt-driven music used timer interrupts to update sound chips at regular intervals, allowing music playback while the CPU handled game logic.
Isometric Projection
3D from 2D
Isometric projection created the illusion of three-dimensional space on 2D screens, enabling exploration games impossible with flat side-views.
KERNAL I/O Routines
The Commodore 64’s built-in service desk
The C64’s KERNAL ROM exposes a patchable API for keyboard, screen, tape, disk, and serial I/O—perfect for BASIC and assembly alike.
Lenslock
The hated prism
The physical copy protection device that required players to decode on-screen codes through a plastic prism - universally despised for inconvenience and failure-prone design.
Link Cable
Wired multiplayer
The Game Boy Link Cable enabled multiplayer gaming and data transfer between handhelds, becoming essential for Pokémon trading and competitive play.
Lookup Tables
Trading memory for speed
Lookup tables pre-calculated expensive operations like trigonometry and multiplication, storing results for instant retrieval on processors too slow for real-time maths.
Manual Protection
Look it up to play
Manual protection required players to consult physical documentation to play games, deterring piracy through information unavailable on copied disks.
Memory Banking
Exceeding address limits
Memory banking allowed systems to access more memory than their address buses could directly reach, swapping different banks of RAM or ROM into the same address range.
Memory Management
Making the most of limited RAM
Memory management techniques enabled complex games on hardware with kilobytes of RAM, from bank switching to compression to careful data structure design.
Memory Mapping
Addresses for everything
Memory-mapped I/O places hardware registers at specific addresses, allowing software to control graphics, sound, and input by reading and writing memory locations.
MOD Format
The tracker music revolution
The MOD format combined samples with pattern-based sequencing, becoming the standard for game music on the Amiga and beyond.
MOD Format Technical
Module file structure
The MOD file format stores sample data and pattern sequences in a self-contained file, enabling portable tracker music across platforms.
Mode 7
SNES rotation and scaling
Mode 7 was the SNES's signature graphical feature, enabling real-time rotation and scaling of background layers to create pseudo-3D effects in racing games and RPG world maps.
Model 2
Arcade 3D revolution
Sega's Model 2 arcade board delivered unprecedented texture-mapped 3D graphics, powering Daytona USA, Virtua Fighter 2, and other titles that defined mid-90s arcades.
Motion Capture
Recording reality
Motion capture recorded real human movement for game animation, enabling realistic character motion in sports games, fighting games, and cinematic action titles.
Object Pooling
Reuse, don't reallocate
Object pooling pre-allocates and reuses game objects instead of creating and destroying them, avoiding memory fragmentation and allocation overhead.
Open World Design
Freedom to explore
Open world design creates large, explorable spaces where players choose their own paths, balancing freedom with direction and content density.
Open World Design
Freedom to explore
Open world design creates expansive environments where players choose their own paths, pioneered by games like Elite and Grand Theft Auto III.
Palette Cycling
Animation without redraw
Palette cycling created animation effects by rotating colour values rather than redrawing graphics, enabling flowing water, glowing effects, and pulsing lights without CPU overhead.
Parallax Scrolling
Depth through motion
Parallax scrolling moved background layers at different speeds to create an illusion of depth, transforming flat 2D games into seemingly three-dimensional spaces.
Password Systems
Save without battery
Password systems encoded game progress into alphanumeric strings, allowing players to resume without expensive battery-backed save RAM in their cartridges.
Permadeath
Death means death
Permadeath removes the safety net of saving, making every decision consequential and every death meaningful by forcing players to restart from the beginning.
PETSCII Character Chart
Every character code the C64 knows about
PETSCII codes, screen codes, and control characters—the complete reference for displaying text and graphics on the Commodore 64.
Physics Engines
Simulating the real world
Physics engines simulate physical behaviour in games, from rigid body dynamics to fluid simulation, enabling realistic object interaction.
Pixel Art
Painting with squares
Pixel art places individual pixels deliberately to create images within severe resolution and colour constraints, a necessity become art form.
Point and Click
Mouse-driven adventure
Point-and-click interfaces replaced text parsers with mouse interaction, making adventure games accessible while spawning debates about verb systems, smart cursors, and puzzle design.
Portable Game Design
Constraints breed creativity
The design principles specific to handheld gaming: tiny screens, limited battery, short sessions, and instant accessibility that created some of gaming's most elegant designs.
Position-Independent Code
Code that runs anywhere
Code that executes correctly regardless of memory location, using PC-relative addressing rather than absolute addresses, pioneered on the 6809 and standard in modern systems.
Pre-Rendered Backgrounds
Static beauty
Pre-rendered backgrounds provided detailed 2D imagery behind 3D characters, allowing PlayStation-era games to display visual complexity impossible in real-time rendering.
PRINT vs POKE
Why games don't use PRINT statements
Performance comparison of PRINT and POKE for screen output—and why understanding the difference makes you a better C64 programmer.
Procedural Generation
Algorithmic content creation
Procedural generation created game content through algorithms rather than manual design, enabling vast worlds, endless replayability, and experiences that fit in kilobytes.
Pseudo-3D Road
OutRun's famous perspective
The technique of rendering 3D-like roads using scaled 2D lines and mathematical projection, famously used in OutRun and countless racing games of the 1980s and 1990s.
Pulse Width Modulation
Shaping square waves
Pulse width modulation varied the duty cycle of square waves, transforming simple bleeps into rich, evolving tones that defined the sound of chip music.
Ragdoll Physics
Dynamic death
Ragdoll physics simulated realistic body reactions to impacts, replacing canned death animations with dynamic, unpredictable, and often darkly comedic results.
Random Numbers
RND() internals and techniques
RND() internals, techniques, and patterns for game development
Raster Effects
Per-scanline graphics tricks
Raster effects change graphics parameters during screen drawing, creating colour bars, split screens, and effects beyond normal hardware limits.
Raster Interrupts
Precision timing with the video beam
Raster interrupts trigger code at exact screen positions, enabling split-screen effects, colour bars, and multiplexed sprites that defined 8-bit graphics.
Raster Tricks
Exploiting the electron beam
Raster tricks push hardware beyond specifications by precisely timed manipulation during screen display, achieving impossible-seeming effects.
Raster Tricks 101
Bending the beam on the Commodore 64
Raster timing turns the VIC-II into a multitool: split-screen status bars, colour gradients, sprite multiplexing, and more.
RenderWare
Cross-platform 3D middleware
Criterion's RenderWare provided cross-platform 3D graphics middleware that powered Grand Theft Auto, Burnout, and hundreds of other games.
Rhythm Matching
Play to the beat
Rhythm matching games judged player inputs against musical timing, creating a gameplay format that turned music appreciation into active participation.
Ring Buffer
Circular data, fixed memory
A fixed-size data structure that wraps around, enabling efficient FIFO queues without memory allocation—essential for audio, networking, and game mechanics like snake tails.
Rotoscoping
Animation from life
Rotoscoping traced real human movement frame by frame, creating fluid animation in games like Prince of Persia and Another World that felt remarkably lifelike.
Rumble Pak
Feel the game
Nintendo's Rumble Pak added haptic feedback to gaming, letting players feel impacts, explosions, and terrain through controller vibration that became an industry standard.
Run-Length Encoding
Simple compression
Run-length encoding compressed data by storing repeated values as count-value pairs, dramatically reducing storage for graphics with large uniform areas.
SCI Engine
Sierra's Creative Interpreter
Sierra's SCI engine succeeded AGI with higher resolution graphics, mouse support, and better audio, powering adventure games through the 1990s.
Screen Memory
How the C64 displays text and graphics
Screen RAM, colour RAM, and the VIC-II—understanding how 1000 bytes create 40×25 characters of colourful text.
Scrolling
Moving through game worlds
Scrolling techniques expanded game worlds beyond single screens, from smooth hardware-assisted movement to creative software solutions that defined platformers and shooters.
SCUMM
Script Creation Utility for Maniac Mansion
SCUMM powered LucasArts adventure games from Maniac Mansion through The Curse of Monkey Island, providing tools that let designers focus on puzzles and dialogue rather than low-level code.
Self-Modifying Code
Code that rewrites itself
Self-modifying code changed its own instructions at runtime, enabling impossible optimisations on 8-bit systems by treating code as data.
Sequence Breaking
Playing out of order
The speedrunning technique of completing game sections in unintended order, bypassing designed progression to reach the end faster.
Sinclair BASIC
The Spectrum's built-in language
Sinclair BASIC came built into the ZX Spectrum ROM, providing accessible programming that launched countless coding careers.
Size Coding
The art of compression
Size coding emerged from demo scene competitions with strict byte limits, pushing programmers to achieve impossible effects in 64KB, 4KB, or even 256 bytes.
Software Scrolling
When hardware won't help
On systems without scroll registers, software must move every byte of screen data—a CPU-intensive technique that defines the feel of ZX Spectrum games.
Sound Drivers
Audio engine software
Sound drivers were the software engines that controlled audio hardware, translating composer's music data into the bleeps, samples, and synthesised sounds that defined each platform's acoustic character.
Sprite Animation
Bringing pixels to life
Frame-by-frame sprite animation creates the illusion of movement by cycling through carefully designed images at controlled intervals.
Sprite Flicker
Exceeding hardware limits
Sprite flicker rapidly alternated which sprites displayed each frame, allowing games to show more objects than hardware supported at the cost of visible flickering.
Sprite Multiplexing
More sprites than hardware allows
By repositioning hardware sprites mid-frame as the raster beam passes, programmers displayed far more objects than the hardware officially supported.
Sprite Scaling
Pseudo-3D depth
Sprite scaling created the illusion of 3D depth by drawing sprites at different sizes based on distance, enabling racing games, shooters, and flight simulators on 2D hardware.
Sprites
Hardware-accelerated game objects
Sprites are hardware-supported graphical objects that move independently of the background, fundamental to 2D game graphics across platforms.
Stable Raster
Cycle-exact timing
The double-IRQ technique that achieves cycle-exact synchronisation with the VIC-II raster beam, enabling perfect mid-screen effects on the Commodore 64.
State Machines
Organising game logic cleanly
State machines bring order to complex game logic—managing title screens, gameplay, pauses, and game-overs through clear transitions and isolated behaviour.
Stealth Mechanics
Unseen and unheard
Stealth mechanics reward patience and planning over reflexes, using light, sound, and AI awareness systems to create tension through avoidance rather than confrontation.
Super FX Chip
Cartridge silicon
The Super FX chip embedded a RISC processor in SNES cartridges, enabling polygon graphics and establishing the concept of hardware-accelerated console gaming.
Tank Controls
Character-relative movement
Tank controls moved characters relative to their facing direction rather than the camera, solving fixed-camera consistency problems while creating the distinctive stiff movement of survival horror.
Texture Mapping
Images on polygons
Texture mapping wraps 2D images onto 3D surfaces, adding visual detail to polygonal models without the geometric complexity that would otherwise be required.
The Game Loop
The heartbeat of every game
Every game runs on the same fundamental pattern: read input, update state, render graphics, repeat. Understanding the game loop is the first step to building anything interactive.
The Quill
Adventure creation system
The Quill enabled non-programmers to create text adventures on the ZX Spectrum, spawning thousands of amateur and commercial adventures.
Tile Maps
Building worlds from blocks
Tile maps constructed game worlds from small reusable graphic blocks, enabling large levels within tight memory constraints while simplifying collision detection and level design.
Tile-Based Collision
Efficient collision detection for platformers
By checking which tiles a character overlaps rather than testing every object, tile collision provides fast, memory-efficient collision detection for platform games.
Tile-Based Graphics
Building worlds from small pieces
Tile-based graphics build screens from small reusable images, enabling memory-efficient game worlds on limited hardware.
Turn-Based Combat
Strategic pacing
Turn-based combat gives players time to think, transforming RPG battles into puzzles where party composition, ability selection, and resource management matter more than reflexes.
Unit Pathfinding
Navigation intelligence
Unit pathfinding algorithms determine how game units navigate terrain, with RTS games demanding solutions that scale to hundreds of units finding optimal routes simultaneously.
Variables and Memory
BASIC memory management
How variables work internally and memory management for BASIC programs
Vector Graphics
Lines of light
Vector graphics drew games using lines rather than pixels, creating distinctive glowing visuals in arcade classics like Asteroids, Tempest, and Star Wars before raster displays dominated.
VSync
Synchronising with the display
VSync synchronised game updates with the monitor's vertical refresh, preventing screen tearing and providing consistent timing for game logic.
Y-Depth Sorting
Sprite ordering by position
The technique of sorting sprites by their Y position to create correct depth ordering in top-down and isometric games, essential for beat 'em ups and action RPGs.
Z-Machine
The portable text adventure engine
Infocom's virtual machine that allowed text adventures to run identically on dozens of platforms, anticipating portable runtime concepts by decades.
Z80 Instruction Set Reference
Complete CPU instruction reference
Complete reference for Z80 assembly instructions with T-states, bytes, and flag effects.
ZX Spectrum Hardware Ports
Complete I/O port reference
Complete reference for Spectrum I/O ports - border, keyboard, speaker, and ULA control.
ZX Spectrum ROM Disassembly
Key ROM routines reference
Annotated reference for key ROM routines in the 16K Spectrum ROM.