← 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
VOLUME 01 · YOU ARE HERE
Three Arcade Games
Go and Ebitengine from zero, ending in Pong, Snake and Breakout
Three arcade games you wrote yourself, from an empty Go module: a window and a game loop, drawing, input, sprites, text and sound, then Pong, Snake and Breakout, each a playable game in one chapter.
you finish with → Pong, Snake and Breakout in one Go module
01
The Game LoopInstalling Go and Ebitengine, then a rectangle that moves across a window
02
DrawingRectangles, circles, lines, an image, and the matrix that places it
03
InputKeys held, keys just pressed, and a paddle under your hands
04
Sprites and AnimationA sheet of small pictures, cut into sub-images, and a frame counter in Update
05
Text and the HUDDigits from the sheet, a TrueType face for words, and a line centred by measuring it
06
SoundOne audio context, a player per sound, and a beep on the tick the game says
07
PongTwo paddles, a ball, a serve, a score, and a match — the whole game in one chapter
08
SnakeA grid, a timer, a body that is a queue, and a high score that outlives the window
09
BreakoutA wall of bricks that come apart by the side they were hit on, three levels and three lives
10
Testing Your Games (optional)Record a match, replay it without a window, and let a test play it
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
11
Angles and TrigonometryAn angle is a point on a circle of radius one, waiting to be scaled
12
A Vector Is a DirectionAdd, subtract, scale, measure, normalise, dot, perp — six operations under everything
13
Coordinate TransformsScale, then rotate, then translate, because that is the order that keeps a thing anchored to itself
14
KinematicsInputs nudge acceleration, never position, and the integrator turns nudges into weight
15
Interpolation and EasingLerp, inverse lerp, remap, and eight curves on t
16
Seeded RandomnessA generator passed by hand, and three distributions its numbers can follow
17
Geometry PrimitivesA box, a circle, a segment, and the leftover number that says how far to push
18
Matrices in Two DimensionsA transform is a matrix, composing is multiplying right to left, undoing is inverting
19
Curves and PathsCollapse the control points to one, for a t between zero and one
20
A Physics SandboxA hundred balls, one frame's order, and every number replaying
21
Testing Your Labs (optional)Record a lab's keys, replay them without a window, and pin a number with a test
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
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