The Road Ahead¶
The handbook grows with the games: a chapter is written when its game is finished. Here is where it stands and where it goes. Each game adds a few new ideas, and the engine grows with them.
Written¶
| Chapter | Game | New in the engine |
|---|---|---|
| 0. Setting Up | ||
| 1. Why Our Own Engine | ||
| 2. How a Game Is Built | ||
| 10. Mines | Mines | High scores, game menus, high-score dialogs |
| 11. Solitaire | Solitaire (Klondike) | Undo and redo, animation (easing, tweens, an animation timer), the game clock |
| 20. Paddle | Paddle (Pong) | Game loop with a fixed time step, active rendering in logical coordinates, full screen, keyboard input and controls, scenes, sound effects and a mixer |
| 21. Bricks | Bricks (Breakout) | Swept box collision, sprites with a cache per screen size, particles, frame times, pixel mode and an overlay layer |
| 22. Snake | Snake | A ticker for rules with a pace of their own, random numbers that repeat, replays |
| 23. Rocks | Rocks (Asteroids) | Vectors and angles, outlines that turn, a field without edges, object pools, circle collision, held mouse buttons |
| 24. Swarm | Swarm (Galaga) | Sprite sheets and animation, entities and components, flight paths, data files, a spatial grid, music |
| 25. Maze | Maze (Pac-Man) | Tile maps and walking on a grid, state machines, breadth-first search and A* |
| 26. Blast | Blast (Bomberman) | Gamepads on Linux and Windows, timers, an event queue for chain reactions |
| 27. Jump | Jump (platformer) | Scrolling camera, maps from the Tiled editor, gravity and jumping, parallax, saving progress |
| 28. Hover Cab | Hover Cab (flying taxi) | Speech synthesis from phonemes, pixel-exact collision masks, jets and drag, soft and hard touchdowns |
| 30. Towers | Towers (tower defence) | Flow fields for many units, the mouse in world coordinates, overlay menus, units and towers as data files, turned sprites |
| 31. Sands | Sands (real-time strategy) | Selecting units, group moves and a cache of flow fields, fog of war, minimap, credits and production, an influence map for the computer opponent, saving the whole game |
| 32. Colony | Colony (economy and settlement) | Roads from flag to flag and the shortest way over them, carriers, goods and recipes, demand answered by the storehouses, a border that grows, seasons, grazing |
| 33. Town | Town (city builder) | The isometric view and its drawing order, a minimap turned like the view, networks that carry power from plants to loads, services that reach in circles, the mouse wheel, a ground layer painted only where it changed |
| 40. The Engine at a Glance | Part IV, the engine manual: what each part of the engine is for, when to choose it and how it works | |
| 41. Loop, Time and Drawing to 48. Scenes, Menus and Sound | One chapter per subsystem, each section naming the game that introduced it | |
| Java2D and X11 Pitfalls | The rules for fast and correct drawing, collected | |
| Glossary | The words of game programming used in this book, each with the chapter that explains it |
What comes next¶
With Town, Part III has a game of every kind it set out to cover: towers, real-time strategy, an economy and a city. Nothing more is planned for now. A new game will be chosen by what the engine has not yet needed; its chapter will tell the story, and Part IV, the tables of chapter 40 and the glossary will get what it adds.
Suggestions and corrections are welcome as issues or pull requests. Each page has an edit button at the top.