Micropolis package by SimCity offers the original source code of SimCity, released under the GPL.
The initial release under GPL is the Linux version based on TCL/Tk which has been adapted for the OLPC. However, it has not been natively ported to the Sugar user interface and Python yet, but it will run on any Linux/X11 platform. The officially sanctioned and QA’ed version of SimCity for OLCP is available and is actually called SimCity. EA has the right to approve and QA anything shipped with the trademarked name SimCity, but for the GPL version with a different name, people are allowed to modify and distribute it without EA approval. Versions based on Micropolis source code can be distributed anywhere including OLPC, under the name Micropolis or any other name than SimCity.
The MicropolisCore project includes the latest Micropolis (SimCity) source code and is integrated into Python using the wonderful SWIG interface generator tool. It also includes a Cairo based TileEngine and a cellular automata machine CellEngine which are independent but can be plugged together. This is helpful because the tile engine can display cellular automata cells as well as SimCity tiles, or any other application's tiles. The software was originally written in C and is now outdated (created before 1983 which is ancient in Internet time), but Don ported it to various versions of Unix, X-Windows and TCL/Tk scripting language and gui toolkit.
Although there is still a lot of outdated code in there, the heart of the software (simulator) remains intact. There are efforts underway to port it to a better platform, replace the age old graphics with new ones, rewrite the graphic routines with modern-day counterparts, etc. The modern challenge for game programming is to deconstruct games like SimCity into reusable components. The code serves as a good example of how to use SWIG to integrate C++ classes into Python and Cairo in a portable cross-platform way that works on Linux and Windows.
However, there are some known bugs on the game controls when NUM LOCK is turned on, so users experiencing problems should turn it off. Overall, the SimCity Micropolis package is a valuable resource for those interested in peeking inside the mind of the original Maxis programmers and exploring the business rules, ecosystem modeling, social dependencies, and other cool stuff that went into the code.
Version 0.0.20080114: N/A