Reverse-engineering
A series on how the classic city-builders Caesar III (1998) and Pharaoh (1999) work under the hood — from unpacking textures to game logic. Open-source remakes grew out of this study.
- Reverse-engineering
Why Pharaoh remains the best game in the series
Why the original Pharaoh (1999) runs deeper than Zeus and the A New Era remake: labor-seeker recruiters vs a global worker pool, taxing poor houses, mission structure, 20 housing levels and migration logic, the random-turn "Egyptian stupidity" of service walkers — with code recovered in the Akhenaten remake.
- Reverse-engineering
Welcome to Ancient…
Pharaoh (1999): why the city-builder won't start on Windows 10/11 (the 640×480 bug, scaling, overlays, knocking on a dead Microsoft service, sound) and how the demo differs from retail — screens, menus, textures from Caesar III, Nile floods, irrigation canals and cut content.
- Reverse-engineering
ECS, dynvtbl, logical threads and Pharaoh
Code archaeology of the Pharaoh engine: an ancient-Egyptian ECS on flat arrays, a bare-bones VMT made of callbacks, logical threads from the last century, and a god object to save memory.
- Reverse-engineering
How the map is drawn in Pharaoh
Rendering the isometric map, city and animation in Pharaoh: diagonal-path and zig-zag, depth sorting, layers and the map format.
- Reverse-engineering
Extracting textures
The .sg2/.555 format, RGB555 palette, IDA and Hex-Rays — and how a hobby became a remake.
- Reverse-engineering
City rendering
Map format, tile selection and draw order, drawing the city.
- Reverse-engineering
Game logic
Simulating citizens, walking, event queues.
- Reverse-engineering
World generation
Procedural generation of the world and maps.
- Reverse-engineering
City model
The internal city model: data, layers, state.
- Reverse-engineering
The game loop
Computing one city day: the simulation loop, gods, taxes, health, data structures.