Open Sourcing SimCity, by Chaim Gingold

Excerpt from page 289–293 of “Play Design”, a dissertation submitted in partial satisfaction of the requirements for the degree of Doctor in Philosophy in Computer Science by Chaim Gingold.

Excerpt from Abstract

Will Wright created SimCity to amuse himself and learn about cities. To build it, he appropriated from multiple traditions in which computers are used as tools for modeling and thinking about the world as a complex system, most notably system dynamics and cellular automata. Wright’s make believe play was scaffolded by these software practices, which offered inspiration and guidance, as well as abstract computational primitives for world building.
Chapters 3–5 trace the historical contexts and origins of SimCity’s many design influences, from system dynamics (chapter 3) and cellular automata (chapter 4) — two very different ways of seeing, thinking about, and computationally representing the world — to Pinball Construction Set and Raid on Bungling Bay (chapter 5).
Taking up the evolution of software in this way allows us to see how it is formed, what it is made of, and how ideas are embedded within and perpetuated by it. Deconstruction also helps us to understand software as a medium of dynamic representation, a scaffold for thought, an aesthetic experience, and its appeal as a resource for play.
In Chapter 5, SimBusiness, I give a historical account of SimCity’s creation and the social circumstances that shaped its design, and sketch the history of Maxis, the company that marshaled and published SimCity. The trajectory of Maxis offers a parable about play and creativity. We see in Maxis’s formation and unraveling the inescapable tension between play and capitalism, and between intrinsic and extrinsic play — the private autotelic play that innovates and creates, and the public play of player-consumers that pays the bills.
Chapter 6, SimCity, completes the SimCity case study by considering it as play artifact and experience. Using extensive diagrams that translate and map its code, I perform a close reading of SimCity, explaining how it conjures the illusion of a miniature living city, and how this living world scaffolds play.

Excerpt from page 289–293

Open Sourcing SimCity

The next chapter looks closely at the code to SimCity, which is possible only because it has been open sourced. There are few instances in which a company has open sourced the code to a commercial game, which makes the story of how this happened remarkable for a number of reasons. Recounting this story not only explains the provenance of my research materials, but reveals how social forces, in this case a heterogeneous collection of agents and agendas, shape software.

The process by which SimCity was open sourced underlines its status as an evocative object. SimCity’s polymorphism, its seemingly simultaneous playful, serious, educational, commercial, abstract, and naturalistic qualities are precisely what enabled it to thrive in so many different contexts. This bundle of appealing contradictions is what enabled different agents to see in SimCity what they wanted, a perceptual process which recalls Brian Sutton-Smith’s Ambiguity of Play, and its thesis that play is susceptible to radically diverse essentializing rhetorics (Sutton-Smith 1997).

In 1991 the computer manufacturer Sun Microsystems, as part of an initiative to address the market for GIS computing (geographic information system), became interested in bringing SimCity into their platform. Sun’s business was rooted in selling Unix workstations, and to that end, would often support the development of applications for specific market verticals. In the summer of 1991, Sun circulated a message to gauge interest in SimCity:

The GIS and Desktop Applications Segments have a window of opportunity to get the #1 selling game “SimCity” ported to Sun. The opportunity also allows us to open up the software so that it can become a front end to GIS applications by including ToolTalk and/or import/export file capability to the standard GIS formats. This and networking will differentiate it from the PC version. The Sun SimCity version will allow Sun to offer a true “desktop” GIS solution as well as a leading entertainment package!
The game is currently being used by many government offices to train their city planners. We have already received high support from ESRI [a developer of commercial GIS products] and URISA [a GIS education and advocacy non-profit] to move the game over and now are seeking Sun field encouragement that will concur with our direction.
Please respond with any comments or customer interest that you think would support the project. [66]
[66] This message, an email sent to an internal Sun mailing list, was made available to me by Don Hopkins.

The potential for a serious application, such as GIS, is overblown — it is hard to imagine SimCity enabling Sun to offer a “true ‘desktop’ GIS solution.” The email, however, speaks to the appeal of SimCity as a compelling representation of a city. Not only was it serious enough for GIS, but it was fun, qualities which enabled it to become absorbed into the current of Sun’s marketing agenda.

One person who responded enthusiastically to this proposition was Don Hopkins, a programmer at Sun who first played SimCity in 1989, while studying computer science at the University of Maryland, where it made a deep impression upon him. While a student, Hopkins had worked for the influential user interface researchers Ben Shneiderman and Marc Weiser, where he contributed to the development of pie menus (see Callahan et al. 1988), an unconventional graphical user interface mechanism that would eventually figure prominently in The Sims, on which Hopkins would be a key contributor. [67]

[67] Pie menus play a critical role in The Sim’s user interface design, dovetailing perfectly with the object and AI architecture. Objects advertise verbs to character AI, so it is natural for the verbs to be arranged in a radial menu about objects. I can’t imagine an alternate design that would have had the same widespread usability, and therefore appeal, without them. It is difficult to imagine The Sims without pie menus.

Hopkins began work on the SimCity to Unix conversion while working at Sun, but the project was eventually completed under the aegis of DUX Software. On July 19th 1991, DUX signed a ten year contract to convert and market SimCity on Unix, with Hopkins brought on as a contractor about six months later. [68] Using the Macintosh version of SimCity, Hopkins performed the conversion, rewrote the remaining sections of assembly language to platform neutral C, and changed the platform from Macintosh to X11. Throughout the 1990’s, Hopkins did the programming necessary to convert SimCity to a wide variety of Unix platforms, adding pie menus and multiplayer support (Perkins 1993; Hopkins 2013; Joffe 2015).

[68] Bruce Joffe, Wright’s neighbor and friend with a background in city planning, GIS, and computer simulation, was almost brought onto the DUX project, via Braun and Wright, in order to advise on its conversion to a more serious simulation (Joffe 2015; Joffe 2016).

Figure 5.18: Screenshot of X11 SimCity from UnixWorld review, via Hopkins’s archive of (Perkins 1993).
Retrieved from http://www.donhopkins.com/home/catalog/simcity/simcity-review.html, April 5, 2016. 
Image source: http://www.donhopkins.com/home/catalog/simcity/SimCity-For-X11.gif

But it was the humanitarian One Laptop Per Child project that would provide the impetus for open sourcing Hopkins’s conversion. In 2005 Nicholas Negroponte presented the idea for an inexpensive laptop for children in developing countries that came to be known as OLPC (One Laptop Per Child). The effort traded upon the significant influence and prestige of Negroponte and others. [69] Reflecting both a desire to minimize cost and a particular ideological bent, the OLPC operating software was a Unix (Linux) variant with a GUI called Sugar — all of it open source and free software. This, in turn, set the stage for acquisition and development of open source, free, educational, and child-appropriate software that could run on such a low cost computer. SimCity, ever the evocative and fluidly perceptible object, was a perfect candidate, aside from one snag: it was proprietary software owned by Electronic Arts, the company that had bought Maxis.

[69] This philanthropic agenda built upon decades of thinking about children, computers, and education, for example the work of Alan Kay and Seymour Papert, whose seminal work is specifically called out as part of the history of OLPC on its official web site (http://www.laptop.org/en/vision/project/index.shtml, accessed June 10, 2015). Trained as an architect, Negroponte founded the MIT Architecture Machine Group, later co-founding and directing the MIT Media Lab, both of which were hugely influential research sites.

In November 2006 John Gilmore, one of the founders of the EFF (Electronic Frontier Foundation) and an early Sun Microsystems employee, asked Don Hopkins if he could ask Will Wright, whose prestige was at a zenith within Electronic Arts, about open sourcing or buying the original SimCity. Gilmore knew that Hopkins had completed the Unix port, was a close and long time associate of Wright’s, and that the original 1989 SimCity would have presently been making very little, if any, money for EA. Hopkins, believing the request to be futile, nonetheless passed it along to Wright, who was enthusiastic about the idea, and introduced it to some other EA executives (Rod Humble and Scott Evans). Within EA, Chuck Norman was deputized for shepherding the process along (Hopkins 2013). [70]

[70] My account is largely based upon an interview I conducted with Hopkins as well as emails he has made available to me (Hopkins 2013).

Surprisingly, Electronic Arts agreed to the arrangement. Their legal counsel, in consultation with Eben Moglen (Columbia Law Professor, general counsel to the FSF, and OLPC advisor), worked through the legal logistics. This effort was aided by Hopkins’s discovery and copying of the original Maxis/DUX licensing agreement, on a lark, while working on The Sims. Hopkins did the coding work of the conversion. [71] EA executives approved of the endeavor, no doubt aided by Will Wright’s legendary persuasiveness and considerable prestige, not to mention the prestige of the OLPC project itself.

[71] The Unix and then open sourced versions have undergone multiple iterations. The OLPC version is based on the original open sourced version, which is written in C for X11 with TCL/Tk. Hopkins introduced some optimizations and, I believe, some bugs in this version (the tile animation system). Hopkins would go on to rewrite Micropolis in C++, cleaning up and organizing the code. Java and JavaScript translations now exist, too.

There were a couple of notable stipulations. First, that EA’s quality assurance (QA) test and approve any release titled “SimCity.” For this reason, Hopkins renamed the project “Micropolis,” an earlier working title for SimCity. Second, as a post-9/11 consideration, EA requested that the airplane crash disaster be removed from the game. Regard for publicity, both negative and positive, must have driven these stipulations as well as the decision to move forward with the project.

SimCity began life as Wright’s private toy, and went on to be continually recast as commercial software (Maxis), serious simulation (Sun), and educational plaything (OLPC). It’s polymorphic quality allowed it to be perceived and used by diverse agents, who turned it towards satisfying their own particular agendas and contexts. This interpretive versatility, which can productively be understood through Sutton-Smith’s notion of play’s ambiguity, is crucial to SimCity’s evocativeness, and ultimately led to its availability as free open source software.