LockerGnomeFor serious tech professionals with a silly side.
Subscribe

Search

Retroreverse-engineeringgamesghidraai

Andrew Healey Pointed an AI Agent and Ghidra at Fast Food Tycoon 2's 4,046 Functions and Found How It Kept Customers Visible Through Walls

Healey decompiled the 2001 pizza-shop sim, let a GPT-6.1 Sol agent drive the running game, and wrote up how its renderer stamps hidden people before drawing the walls in front of them.

Chris peers through a big magnifying glass at a tiny isometric pizza-shop town block where customers glow as yellow outlines through the walls.
Illustration: LockerGnome

Healey found the game as a kid. “When I was a kid in 2004, I picked it out of a lineup of discounted games in a mall and it hasn’t left my psyche ever since,” he writes. He still calls it Pizza Connection 2, “because that’s the European name!”

The teardown started with Ghidra, the free, Apache-licensed reverse-engineering framework “created and maintained by the National Security Agency Research Directorate”. “We used Ghidra to decompile fastfood2.exe’s 4,046 functions into about 9.5MB of C-like text,” Healey writes, and that text went into SQLite so it could be queried. Then he put an agent on it: “I set up an agentic loop on my computer using GPT-6.1 Sol Medium.” The agent read the game’s memory with ReadProcessMemory and sent it commands by patching its Windows message handler. “The agent could click buttons, move the camera, and advance the simulation without changing the executable on disk.”

What came back is a clear picture of a 2001 software renderer. Each pixel carries a 16-bit colour and a separate lighting byte, mixed only at the last step, and the game repaints only the parts of the screen that changed. The see-through-walls effect comes from order of operations. “To keep hidden people visible (their outline can be seen through walls), the renderer marks their shape with a temporary pixel value before drawing objects on top of them.” Later passes outline any hidden body part in yellow and hidden thought icons in white, then fill in what’s visible.

The lighting is a schedule. “Daylight follows a table of 25 hourly brightness values: 70 at night, rising sharply around dawn to 251 during the day,” then falling at dusk. Standard street lamps “switch on around 18–18 and off around 05–05,” their light pools stay “at least 160 so that patches of pavement are bright throughout the night,” and indoor light “stays at 248 regardless of the hour.”

The rest of the game turns out to be stranger and more specific than anyone remembered. “The game divides the pizza into 24 regions to score how evenly spread the toppings are.” Copy someone else’s recipe and the plagiarism check docks your taste points. “The errand boy is the fastest walker at 27px per second,” well ahead of the tourist at 16.2 and the celebrity at 13.8. Goths stay home until 09. Healey even reused the game’s own decompiled fonts for the images in his post. Whether he follows “Drawing the World” with a part two, he hasn’t said.

Expect a wave of these. Every abandoned game, tool and driver with a working executable is now a weekend project for someone with Ghidra and an agent loop, and the write-ups will keep surfacing design decisions nobody wrote down at the time. The pizza scorer’s 24 regions are a good example. The harder question is who keeps these decompiles once the people who loved the games stop caring.

More Retro

Every Retro story →