← Zero Series
A Self-Education Engineering Series

Game Engine Zero

Make Games in Go, and the Engine They Need

Make games in Go with Ebitengine, from a window with one rectangle in it to a persistent online world, and build the engine those games need on the way. Every volume ends in something you can play or something you can see. Volume 1 is Pong; read it first, whatever you do next.

After it, choose a path. The main line runs Snake and Breakout, the mathematics of motion, a platformer, feel and shaders, then systems, an editor, an RPG, and on to three dimensions and many players. The Graphics Lab (volumes 6 and 7) is a side door open as soon as you have a window and a vector: parallax, isometric views, Mode 7, billboards, height-map terrain, raycasting and sectors, each a small program of its own with no engine underneath. Each volume states what it actually needs.

24Chapters available
3Volumes available
15Volumes planned
0/24Chapters read
Day streak
▶ Start
01
02
VOLUME 02 · YOU ARE HERE
The Math of Motion
Angles, vectors, transforms, integration, curves — every one drawn before it is named

A physics sandbox whose every motion you computed yourself, and a package of two-dimensional mathematics the rest of the book is built on, taught as numbers you can check before symbols you can name.

you finish with → cmd/motion, a windowed lab where game math prints
0 of 11 read
03
VOLUME 03 · YOU ARE HERE
The Platformer
Gravity, a jump that forgives, a camera, tiles, and a course you can finish

A scrolling platformer you built from the physics up — gravity and a forgiving jump, a camera that follows, a tilemap culled to the screen, collision pushed out along the cheaper axis, a spatial grid, a particle pool, parallax layers — with hazards, checkpoints, collectibles and a finish, every run a tape.

you finish with → A tilemap platformer with forgiving jumps and a finish
0 of 3 read
04
VOLUME 04 Feel and Shaders PLANNED
The platformer from volume 4 polished until every difference is a decision you made: shake, hit pause, knockback and flash as countdowns the game triggers and never touches again; a palette chosen on purpose; and a stack of fragment functions you wrote — colour, dither, blur, light, noise, transitions — run by the GPU sixty times a second.
you finish with → A shader-lit platformer with feel effects behind flags
05
VOLUME 05 The Illusion of Depth PLANNED
A racing game on a Mode 7 plane with terrain, built from a horizon line up, with no engine anywhere.
you finish with → A Mode 7 racing game on height-mapped terrain
06
VOLUME 06 Rays and Sectors PLANNED
A Doom-style level you can walk through, from a raycaster you wrote to sectors with floors and ceilings at heights.
you finish with → A Doom-style sector level you can walk through
07
VOLUME 07 Data, Not Objects PLANNED
Eight thousand entities, five systems, one order, loaded from a scene file that did not compile.
you finish with → Eight thousand entities loaded from a scene file
08
VOLUME 08 The Editor PLANNED
An editor that hosts your game, edits its live data, places its entities and saves the scene it loads.
you finish with → A live editor that saves the scene it edits
09
VOLUME 09 The RPG PLANNED
A turn-based JRPG with exploration, dialogue, inventory, skill trees, combat and a versioned save.
you finish with → A turn-based JRPG with dialogue, dungeons and versioned saves
10
VOLUME 10 Living Systems PLANNED
An ecosystem simulation whose organisms, resources and terrain follow rules you stated.
you finish with → An ecosystem simulation whose rules you can replay
11
VOLUME 11 Action Adventure PLANNED
An action adventure with rooms, real-time melee, dodges, usable items, item-gated routes and a multi-phase boss.
you finish with → An action adventure with locked routes and a boss
12
VOLUME 12 Action RPG PLANNED
A dungeon crawler with enemy waves, seeded loot, skills, projectiles, a boss and saved progression.
you finish with → A dungeon crawler with seeded loot and saved progression
13
VOLUME 13 Software 3D PLANNED
A scene of your own, rendered by a pipeline you wrote, with no GPU anywhere.
you finish with → A software 3D renderer drawing a scene without the GPU
14
VOLUME 14 Light, Traced PLANNED
An offline raytracer that renders a scene with shadows, reflections and refraction in a time you measured.
you finish with → An offline raytracer with shadows, reflections and a BVH
15
VOLUME 15 Onto the GPU PLANNED
The software pipeline moved onto the GPU, and an animated mesh from Blender playing back in Go.
you finish with → An animated Blender mesh playing back through go-gl
16
VOLUME 16 Voxel Worlds PLANNED
A voxel sandbox with generated terrain, biomes, editable streamed chunks, a changing sky and persisted progress.
you finish with → A voxel sandbox with streamed chunks and persisted progress
17
VOLUME 17 Networked Games PLANNED
Networked Pong and a networked shooter with an authoritative server, deployed and load-tested, with a network panel in the editor.
you finish with → Networked Pong and a shooter behind an authoritative server
18
VOLUME 18 A Persistent World PLANNED
A mini-MMO with persistent characters, zones, skills, crafting, instanced dungeons, parties and an economy.
you finish with → A mini-MMO with parties, dungeons and an economy