I wanted to replay the Chocolatier games (2007-2009) but the Mac versions were only released as 32-bit binaries, so they don't run on modern macOS anymore. I was poking at the Chocolatier: Decadence by Design Steam version, and inside the app bundle (in Contents/Frameworks) they included the game's C++ headers. Plus, the Mac binary was never stripped: ~3,300 function symbols, including full C++ method signatures like `ChocolateFactory::MissedIngredient(boost::shared_ptr<Ingredient>)`. So the headers give you the classes and their members, and the symbols tell you where the compiled code for each method sits. It's effectively a named function map of the game (though not of the PlayFirst SDK it was built on).
That made reimplementing the engine look quite feasible, so I set up a workflow with separate agents for reverse engineering, design, implementation and review. I haven’t manually inspected the generated source code, so yes, this is another AI-built project. But it runs the original games, using their original assets and data, and that was the point. :-)
One nice improvement besides simply being able to run them again is that text is now rendered at native resolution rather than being upscaled from the original 800×600 resolution.
You do need the original games for the assets. Chocolatier: Decadence by Design is still available on Steam but for the first two games, you’ll probably have to dig out an old installation somewhere.
https://github.com/open-conche/OpenConche