- Micropolis (software)
Infobox VG
title = Micropolis
caption = Micropolis running on Linux.
developer =Maxis , Will Wright,Don Hopkins , other developers.
publisher = N/A
license =GPL 3.0
version = N/A
released =January 11 ,2008
genre = Construction and management sim,City-building game
modes =Singleplayer
ratings = N/A
platforms =Cross-platform
media = Downloadable
requirements =
input = Keyboard and MouseMicropolis is a city-building simulation game based on the original
source code of "SimCity ", donated to theOne Laptop per Child (OLPC) project byElectronic Arts under theGNU General Public License (GPL) version 3. It is developed byDon Hopkins . The code became available as free andopen source software on10 January 2008 .Micropolis is based on the
X11 version of SimCity for theUnix operating system . There are two versions: The original version uses theTcl/Tk user interface, and can be run on the OLPC, as a stand-alone game in anyLinux orMac OS X system with X11, or as a port forOpenBSD . The new version has a user interface implemented in Python code, which uses Cairo to draw graphics andPango to draw text. The C core that is responsible for the simulation has been restructured and reworked intoC++ code, which iscross-platform , and independent of the user interface andscripting language .History
The original version of SimCity was developed by
Maxis on theCommodore 64 , and ported to various platforms, including theMacintosh . Maxis licensed the Macintosh SimCity source code to DUX software, to port to Unix.DUX Software contracted Don Hopkins to port SimCity to Unix, and he developed "SimCity HyperLook Edition", while working at theAlan Turing Institute on HyperLook withArthur van Hoff . The user interface was written inPostScript , which ran on theNeWS window system on Sunworkstation s, and it supported multiple zoomable views,pie menu s, annotating and printing maps, and many user interface improvements.After Sun canceled NeWS, DUX Software contracted Hopkins to rewrite the HyperLook user interface in TCL/Tk for X11, and he developed a multi-player networked user interface using the X11 protocol. The TCL/Tk version of SimCity has been ported to various Unix and non-Unix platforms, includingSunOS , Solaris,IRIX ,HP-UX , OSF/1, Quarterdeck Desqview/X, NCD X Terminals,Warp , and Linux. The contract to sell SimCity for Unix expired after ten years, so the TCL/Tk version was no longer commercially available.OLPC SimCity is based on the TCL/Tk version of SimCity. SimCity is a trademark of Electronic Arts. Don Hopkins adapted SimCity to the OLPC, thanks to the support of John Gilmore. OLPC SimCity will be shipped with the OLPC, and it has been run through EA's quality assurance process and reviewed for integrity. EA reserves the right to review and approve any version of the game distributed under the name SimCity."Micropolis" is the name of the current GPL open source code version of OLPC SimCity.Future
Since Micropolis is licensed under the GPL, users can do anything they want with it that conforms with the GPL — the only restriction is that they cannot call it "SimCity" (along with a few other limitations to protect EA's trademarks). [http://code.google.com/p/micropolis/wiki/License] This allows other, differently named projects to be forked from the Micropolis source code. Improvements to the open source code base that merits EA's approval may be incorporated into the official "OLPC SimCity" source code, to be distributed with the OLPC under the trademarked name "OLPC SimCity", but only after it has been reviewed and approved by EA. [http://www.donhopkins.com/drupal/node/131]
For the short term, the TCL/Tk version of Micropolis can be upgraded to support the latest version of TCL/Tk, fix bugs, improve the user interface and Sugar integration. Once that is stable and well integrated into Sugar, it could be submitted to EA to become the official version of "OLPC SimCity" distributed on the OLPC XO-1 laptop. [http://www.donhopkins.com/drupal/node/130]
For the long term, Micropolis has been recast from C to C++ classes, making it possible to define clean interfaces between software modules, and make multiple instances of the simulator that don't interfere with each other, as well as easily interfacing it to Python and other
scripting language s using theSWIG interface generator. [http://code.google.com/p/micropolis/wiki/DevelopmentPlan]Micropolis is being developed in a language-neutral way, so that a developer could plug the simulator engine into many different languages and programming systems. More work needs to be done to open it up, and make it re-vectorable (with features such as
plugin s, events, callbacks, hooks,aspect oriented programming ), so that a developer could replace and extend the various modules with the host languages, eventually re-implementing most if not all of SimCity in another language.References
* [http://wiki.laptop.org/go/Micropolis Micropolis wiki page]
External links
* [http://code.google.com/p/micropolis/ Micropolis source code and development pages on Google Code]
* [http://www.youtube.com/watch?v=EpKhh10K-j0 OLPC SimCity Demo]
* [http://www.donhopkins.com/drupal/node/129 SimCity for OLPC (One Laptop Per Child): Applying Papert's Ideas About Constructionist Education and Teaching Kids to Program]
* [http://www.art.net/~hopkins/Don/simcity/index.html SimCity Info]
* [http://www.donhopkins.com/home/movies/HyperLookDemo.mov HyperLook SimCity Demo Video]
Wikimedia Foundation. 2010.