Just a fyi for anyone that doesn't know: A few years back Don Hopkins got the permission from Yoot Saito to open source Yoot Tower, SimTower's sequel: https://github.com/YootTowerManagement/YootTower
...however I don't think that the source was ever published anywhere, considering that the repository still doesn't have the source code yet. ("Please check out the YootTower repo, where I'll publish the source code once it's cleaned up, reviewed and approved by Yoot, and relicensed with the MIT licensed.")
I spoke with Yoot about it recently. There are some issues with Nintendo and licensing that may take some time to work through. My fingers are crossed, but it might take a while and require patience. We all want it to happen though!
Meanwhile I'm working on Micropolis (based on the original SimCity Classic code, cleaned up, and compiled with Emscripten into WASM), and also reimplementing The Sims character animation system and content management and creation system in TypeScript with WebGPU and MOOLLM. ;)
Micropolis WASM + WebGL tile renderer demo:
https://micropolisweb.com
MicropolisCore repo:
https://github.com/SimHacker/MicropolisCore
Micropolis design docs:
https://github.com/SimHacker/MicropolisCore/tree/main/design...
Sims character animation demo with WebGPU renderer:
https://vitamoo.space
Source code:
https://github.com/DnfJeff/SimObliterator_Suite/tree/main/vi...
Design docs:
https://github.com/DnfJeff/SimObliterator_Suite/tree/main/vi...
Designs for creating LLM driven Sims content editing and creation tools, uplifting and simulating The Sims in MOOLLM, and downloading The Sims content back into the original game:
https://github.com/SimHacker/moollm/tree/main/designs/sim-ob...
>"What would your Sims say if they could finally talk to you?"
>Two-way bridge between The Sims 1 save files and MOOLLM. Characters, objects, and pets step between a 26-year-old game VM and an LLM-powered universe, retaining and synchronizing their parallel existences.
>The One-Line Version
>Drag a 25-year-old Sims save file in. Watch the character wake up. Have a conversation with them. Send them home changed.
The Uplift: Sims ↔ MOOLLM Character Bridge
https://github.com/SimHacker/moollm/blob/main/designs/sim-ob...
It's all still a work in progress that I hack on when I have spare time (and spare money for tokens), so no ship date known! ;)
If there's legal problems with releasing the Nintendo console ports, would it be possible to just release the code for the PC/Mac versions?
Also, Fabian Wesner's posted about using Claud Code to analyze the original micropolis repo's code and documentation to generate a new version.
Here is a deep dive "podcast" he generated (presenting Claud's analysis in a conversational format) that describes the work. I listened to it, and it got the important trademark and licensing issues right, was quite comprehensive and technically accurate, up until the end where they said maybe there's something to learn about city planning from SimCity! ;)
https://drive.google.com/file/d/1SGAkLIb4CQMPKU7TJ2sRdEjc0Dh...
It pretty much parallels the analysis docs in his repo, which are also quite accurate:
https://github.com/FabianWesner/micropolis/tree/master/docs
This lightning talk I gave at HAR 2009 goes into what you can actually learn from playing SimCity/Micropolis (and reading and extending the code), thanks to Seymour Papert's and Alan Kay's philosophy of Constructionist Education, and it's much wider and more generally useful than just city planning:
https://donhopkins.medium.com/har-2009-lightning-talk-transc...
To save you the indignity of LinkedIn scraping your browser extensions, here is a copy of Fabian Wesner's post and my response with the link spying urls resolved:
https://www.linkedin.com/posts/fabian-wesner_micropolis-simc...
Fabian Wesner | CTO | Passionate about AI and Entrepreneurship | 1 month ago
Claude Code is extremely good at documenting legacy software. That's a huge blessing, especially when the original developers are no longer around or are finally ready to retire.
If you haven't tried this, you might be missing out. So I did it for you.
#Micropolis is the open-source release of the original #SimCity, published by Electronic Arts in 1989. EA released the source code under GPLv3 in 2008 for the One Laptop Per Child project. The codebase is decades old, and there's likely no one left who knows it inside out.
SimCity was one of the very first games I played, back in 1990 on my father's 286. Just a few months after the Wall fell. So this one is personal.
I let Claude Code read the entire codebase and write a full documentation. As far as I can see, it looks correct and complete. I'm no expert on this particular codebase, but that's exactly the point: there might be no expert left on earth. I have tried this on other software where I am an expert, and the results are surprisingly accurate.
You can find the resulting docs and the prompt here: https://github.com/FabianWesner/micropolis/tree/master/docs
I also converted the docs into a podcast episode for easier consumption:
https://drive.google.com/file/d/1SGAkLIb4CQMPKU7TJ2sRdEjc0Dh...
Enjoy!
I know I’m not the first to use Claude Code on this treasure and - of course - I already rebuilt the game with JavaScript.
More on this tomorrow!
Don Hopkins | Full Stack Generalist AI Engineer
Although I may have two feet firmly planted in mid-air, I am still on Earth and know the code. I reviewed it and am I'm impressed with this documentation, which even caught my experimental Eliza chatbot easter egg in the PyGTK version! Importantly it correctly covered all the licensing and trademark issue, and mentioned that active development has moved on to the cleaned up and renovated MicropolisCore repo.
https://github.com/SimHacker/MicropolisCore
Here are the latest design docs:
https://github.com/SimHacker/MicropolisCore/tree/main/design...
The documentation you generated does a good job at mapping out and comparing the several different versions of the code. Albert Hofkamp and I cleaned up and refactored the code into C++ MicropolisCore (which I integrated with Python with SWIG, and later WebAssembly with emscripten/embind), and we wrote Doxygen comments and documentation in the code.
Chaim Gingold deeply studied multiple versions of the SimCity source code for his PhD thesis in Play Design, and interviewed many people involved, then wrote the definitive magnum opus "Building SimCity". Chaim is the one person on Earth who understands SimCity better than Will Wright!
https://direct.mit.edu/books/monograph/5791/Building-SimCity...
>Building SimCity: How to Put the World in a Machine
>A deep dive into the trailblazing simulation game SimCity, situating it in the history of games, simulation, and computing. Building SimCity explores the ...
Good grief you can't hide easter eggs any more!
"Additionally, the web version includes: PacBot -- an AI robot that follows roads toward heavy traffic and "eats" cars, reducing traffic density. This was an early experiment in programmable game avatars."
PacBot appears one minute into this video:
https://youtu.be/8snnqQSI0GE?t=56
>Micropolis Online (SimCity) Web Demo. A demo of the open source Micropolis Online game (based on the original SimCity Classic source code from Maxis), running on a web...
At 3:35 I love how the speech synthesizer mispronounces "CherryPy" as "Cherry Pee".
https://drive.google.com/file/d/1SGAkLIb4CQMPKU7TJ2sRdEjc0Dh...
https://docs.cherrypy.dev/en/latest/