Micropolis: Constructionist Educational Open Source SimCity

Don Hopkins with SimCity running on OLPC XO–1 at HAR 2009

History

Porting SimCity to Unix

I started working on SimCity about 1992.

HyperLook SimCity for the NeWS (left) and X11 (right) window systems, on a Sun workstation.
Demo of Pie Menus in SimCity for X11.
Will Wright Holding a Sim

Working with Will Wright at Maxis

Later on I went on to Maxis to work on The Sims with Will Wright.

Freeing SimCity under GPLv3 for the OLPC

The OLPC project is focused on “Constructionist Education”, which is about children learning — anyone learning, by building things.

The OLPC is About Constructionist Education

Seymour Papert and his Logo Turtle
A cartoon from Alan Kay’s original research paper on the DynaBook
A demonstration of OLPC SimCity running on the One Laptop Per Child XO-1 laptop.

Micropolis Project Goals

  • Develop a fun web based educational game, based on the original SimCity source code.
  • Focused on constructionist education.
  • Built out of free open source software.
  • Runs on the server, plays in the browser.
  • Supports collaborative, democratic, multi-user play.

Accomplishments So Far

SimCity on the OLPC XO-1
  • Ported and shipped the TC L/Tk/X11 version of Micropolis on the One Laptop Per Child XO-I.
  • Developed a cross platform, desktop version of Micropolis, based on GTK/Python.
  • Developed an open source, internationalized, web based version of Micropolis.
  • Client based on OpenLaszlo/Flash.
  • Server based on TurboGears/Python/C++.
  • Renovated, re-factored and documented the code.
  • Established a solid groundwork and open framework for developing an educational, collaborative, multi-player game.

Open Source Software

  • Micropolis is built with a carefully chosen, well proven, widely supported set of open source, cross platform tools and libraries.
  • Micropolis itself and its TileEngine module are open source (GPL3). The client runs on the proprietary Adobe Flash player. With a little more work, The client will also run in standard browsers, thanks to OpenLaszlo.
  • Linux. Apache. MySQL. Python. Cairo. Pango. GTK. GCC. SWIG. PyCairo. PyGTK. TurboGears. Genshi. SQLAlchemy. CherryPy. PyAMF. AMFast. Pie menus. OpenLaszlo. Red5. Java. Tomcat. MediaWiki. PHP. Subversion. Doxygen.

Web Server and Client

  • Server: Linux, Apache, MySQL, Python, TurboGears, SWIG, C++
  • Portable, cross platform C++ and Python code.
  • Linux and Unix
  • Mac OS/X
  • Windows (not currently maintained but viable)
  • Deploys on standard Fedora Linux server, i.e. Amazon Elastic Computing Server, etc.
  • Client: OpenLaszlo, XML, JavaScript, AMF
  • Web based client runs in Adobe Flash player, widely supported on most web browsers and operating systems.
Micropolis on OpenLaszlo/Flash Web Client and Python/C++ Web Server

Micropolis (SimCity) Web Demo

Demo of Micropolis (SimCity) running on a Python web server back-end, with an OpenLaszlo/Flash client, including pie menus, and PacMan robots who eat traffic.

Micropolis (SimCity) Web Demo
Micropolis on Python/GTK/Cairo/Pango

Internationalization

  • All text comes from Unicode XML localization files, so the text can be translated to support different languages and countries.
  • Currently supports English and Dutch, but other languages are easy to add, given translation resources.
  • Web based tools for conveniently reviewing and editing translations.
  • This is a very important feature, since we’re initially delivering to the Dutch educational system, and we intend to support many other languages in the future.

Multi Player Collaboration

  • Designed, developed and shipped a multi-player X11 version of SimCity in 1993 for DUX Software, demonstrated in Amsterdam at INTERCHI ‘93.
  • Micropolis has been systematically redesigned with multi-player collaboration and constructionist education in mind.
  • Currently laying the groundwork for multi player and online community support, while getting the single player game up and running first.
  • User accounts. Saved cities. Shared cities. Chat. Robots and Avatars. Basic MediaWiki integration. Client/server session, messaging and simulation engine plumbing.
Multi Player TCL/Tk SimCity for the X11 Window System on a Sun Workstation, SGI Workstation, and NCD X Terminal
Multi Player SimCityNet for X11 on Linux

Constructionist Education

  • The original SimCity game was an exemplary constructionist educational game, which has been successfully used in many classrooms, but it was a closed commercial product, not specifically designed to support education.
  • Since Micropolis is open source SimCity, we can open up, renovate, visualize, document and extend it in wonderful ways, to specifically support constructionist education, social networking and collaborative democratic play.
MediaWiki Logo
The Sims Box
Don Hopkins
Alan Kay
Robot Odyssey

Educational Applications

  • Encourage creative writing by blogging, twittering, chatting, debating, writing and publishing newspaper articles about events and issues in the city.
  • Teach democratic processes. Writing proposals. Campaigning for support. Discussing and debating issues. Voting on bills.
Logo Turtle
  • Publish wiki pages with interactive annotated maps, timelines of events and creative writing about the cities.
  • Open up the simulator to enable plug-in programmable zones, tools, robots, avatars, events, policies, courseware, etc.
  • Teach older kids to program Python and C++. Implement a visual behavior programming language (like Robot Odyssey and SimAntics). Teach younger kids to think logically and program robots (like Logo turtles and Lego Robotics).

How does Constructionist Education manifest itself in something like SimCity?

Creative writing, blogging, twittering and chatting: and all this social stuff that people do.

Schoolhouse Rock

Next Steps

  • Shared city library. Ratings. Tagging. Journals. Discussions. Linking. History browsing. Sharing. Voting. Profiles. Friends.
  • Text, voice and video chat. In-game chat with avatars on the map. Integrated video player for help, tutorials and lessons. Integrated html frame for synchronized web browsing.
  • MediaWiki integration, to support creative writing by students and courseware development by teachers.
  • PayPal integrations. Donations, subscriptions and micro-payments, for virtual money, cheats, high speed simulation, extra storage, fund raising, etc.

Social Networking

Tom Tjon A Loi made these mock-ups of what SimCity might look like inside a social network like Facebook.

Identity

Voting

Citizen

Journal

Community

Chat

Squatters

Micropolis Demo

(This is a transcript of the videos you can watch below…)

Original Source Video of HAR 2009: Lightning talks Friday: Micropolis Online: Constructionist Educational Open Source SimCity

The talk starts at 7:20 in the following video, and continues in the following three videos:

HAR 2009: Lightning talks Friday 9/14, starting at 7:20
HAR 2009: Lightning talks Friday 10/14
HAR 2009: Lightning talks Friday 11/14
HAR 2009: Lightning talks Friday 12/14

--

--

User interface flower child. Pie menus, PizzaTool, SimCity, The Sims, Visual Programming, VR, AR, Unity3D / JavaScript bridge.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Don Hopkins

Don Hopkins

321 Followers

User interface flower child. Pie menus, PizzaTool, SimCity, The Sims, Visual Programming, VR, AR, Unity3D / JavaScript bridge.