SimCity Classic GPL'ed - called Micropolis - briefly
(hx) 02:30 AM CET - Jan,22 2008
- Post a comment Fear
and Loathing reports that the source code to
the
original SimCity game, developed by Maxis, has been released under the GPL
version 3. For legal reasons the open source version was renamed
Micropolis,
which was apparently the original working title.
There's been changes to the original system like a new splash screen, some
UI feedback from QA, etc. The plane crash disaster has been removed as a result
of 9/11. What is initially released under GPL is the Linux version based on
TCL/Tk, adapted for the OLPC (but not yet natively ported to the Sugar user
interface and Python), which will also run on any Linux/X11 platform. The OLPC
has an officially sanctioned and QA'ed version of SimCity that is actually
called SimCity. EA wanted to have the right to approve and QA anything that was
shipped with the trademarked name SimCity. But the GPL version will have a
different name than SimCity, so people will be allowed to modify and distribute
that without having EA QA and approve it. Future versions of SimCity that are
included with the OLPC and called SimCity will go through EA for approval, but
versions based on the open source Micropolis source code can be distributed
anywhere, including the OLPC, under the name Micropolis (or any other name than
SimCity).
The "MicropolisCore" project includes the latest Micropolis (SimCity) source
code, cleaned up and recast into C++ classes, 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, so the tile engine can display cellular automata
cells as well as SimCity tiles, or any other application's tiles.
The key thing here is to peek inside the mind of the original Maxis programmers
when they built it. Remember, this was back in the day when games had to fit
inside of 640k so some "creative" programming techniques were employed. SimCity
has been long a model used for urban planning and while it's just a game, there
are a lot of business rules, ecosystem modeling, social dependencies, and other
cool stuff going on in this codebase. It may not be pretty code but it's content
sure is interesting to see.
|