What does HackerNews think of micropolis?

Automatically exported from code.google.com/p/micropolis

Language: HTML

SimCity for Unix was originally released as a commercial product from DUX Software for OpenWindows/NeWS/HyperLook in 1992:

https://www.donhopkins.com/home/catalog/simcity/simcity-revi...

Then later DUX Software released a collaborative multi player version of SimCity for X11/TCL/Tk in 1993:

https://www.donhopkins.com/home/catalog/simcity/simcity-anno...

https://groups.google.com/g/comp.newprod/c/5KWv25ckYHc/m/MgG...

Then it was finally re-licensed under GPL-3 for the OLPC as SimCity, and for any other use as Micropolis in 2008 (with the multi player stuff disabled because the X11 network protocol was not safe or simple enough for kids to use on a mesh network):

https://arstechnica.com/gaming/2008/01/simcity-goes-open-sou...

https://github.com/SimHacker/micropolis

Correct, but Will originally called it "Micropolis", however there was a disk drive manufacturer using that name, so he subsequently renamed it "SimCity".

https://en.wikipedia.org/wiki/Micropolis_Corporation

"Dollhouse" also went through a lot of names before settling on its more marketable and obvious-in-retrospect name "The Sims".

After convincing EA to relicense the free original source code of SimCity under GPL3, I renamed the open source version "Micropolis" so as to avoid using the trademark "SimCity" (which would have contractually require getting EA's QA department to test and approve every change, which was not an easy task the first time (they'd never QA'ed a Linux game before, so I had to handhold them through running it under VMWare), a difficult task which I didn't want to repeat).

OLPC/EA SimCity Contract:

https://donhopkins.com/home/olpc-ea-contract.pdf

>General Software Requirements: OLPC agrees that the OLPC SimCity will not be approved by EA for distribution under Section 2.2 of this Agreement, until the OLPC SimCity meets the following general software requirements:

>1. EA’s QA team is unable to crash the game in sixteen (16) man-hours of play-time.

>2. EA’s QA team is unable to find images/language that is deemed inappropriate to achieve an “E” rating by the ESRB standard.

>3. No use of any EA Trademarks that would reflect negatively upon the established reputation of EA.

>4. Add copyright/license information to each source file to reflect the proper licensing.

It was based on the original Mac version of SimCity that I first ported to NeWS/HyperLook then to X11/TCL/Tk and made to support multiplayer (which I had to disable for the OLPC version, due to X11's broken security model):

http://www.art.net/~hopkins/Don/hyperlook/SimCity.README

http://www.art.net/~hopkins/Don/hyperlook/HyperLook-SimCity....

http://www.art.net/~hopkins/Don/simcity/simcity-announcement...

http://www.art.net/~hopkins/Don/simcity/SimCity-For-X11.gif

http://www.art.net/~hopkins/Don/simcity/SimCity-Indigo.gif

http://www.art.net/~hopkins/Don/simcity/SimCity-NCD.gif

http://www.art.net/~hopkins/Don/simcity/SimCity-Sun.gif

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:

https://donhopkins.medium.com/open-sourcing-simcity-58470a27...

>[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.

Open Source Micropolis, based on the original SimCity Classic from Maxis, by Will Wright:

https://github.com/SimHacker/micropolis

Micropolis: Constructionist Educational Open Source SimCity:

https://donhopkins.medium.com/har-2009-lightning-talk-transc...

I love this article! Great analysis and solutions. It's nice when user interface designers care enough to think through, implement, try out, and refine such important details.

I developed a multi player version of SimCity for X11 that I released in 1993 and demonstrated at the InterCHI '93 Interactive Experience, which showed you other player's cursors moving around and editing the map, but of course it required a fast network to run on and updated all the clients synchronously, due to the limitations of X-Windows, so there were no interpolation issues. (X-Windows clients aren't even capable of performing local computation and feedback the way NeWS clients could and web browser clients now can, so it was a moot point.)

https://www.donhopkins.com/home/catalog/simcity/simcity-anno...

https://www.donhopkins.com/home/catalog/simcity/simcitynet.h...

The multi player demo showing different kinds of voting dialogs, multiple cursors, the tool palette and pie menus, and the voting "yes" shortcut of building the same thing in the same place, starts at 5m45s:

https://www.youtube.com/watch?v=_fVl4dGwUrA&t=5m45s

One interesting thing about the SimCity cursor was that it was color and shape coded to show which tool was selected. The tool palette (and also the pie menus which had the same icons and layout as the tool palette) served as a legend for the cursor by showing the same color coded outline around the icons as the cursor used. So you could tell which tool other users had selected. You could hide the tool palette to make the map bigger, and use the pie menus instead, which were much more efficient.

Multi Player SimCityNet for X11 on Linux: Demo of the latest optimized Linux version of Multi Player SimCity for X11. Ported to Unix, optimized for Linux and demonstrated by Don Hopkins:

https://www.youtube.com/watch?v=_fVl4dGwUrA

Micropolis Online (SimCity) Web Demo: A demo of the open source Micropolis Online game (based on the original SimCity Classic source code from Maxis), running on a web server, written in C++ and Python, and displaying in a web browser, written in OpenLaszlo and JavaScript, running in the Flash player. Developed by Don Hopkins:

https://www.youtube.com/watch?v=8snnqQSI0GE

Source Code:

https://github.com/SimHacker/micropolis

HAR 2009 talk: Constructionist Educational Open Source SimCity:

https://donhopkins.medium.com/har-2009-lightning-talk-transc...

Actually, EA released the source code and binary Linux version the original SimCity under GPL-3, which I ported to various Unix platforms including Linux and the OLPC.

https://medium.com/@donhopkins/open-sourcing-simcity-58470a2...

>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.

Granted, EA's QA folks had never QA'ed a Linux game before, so I had to walk them through installing VMWare on Windows and gave them a Linux operating system image to test it with, but it did pass QA, and they released it in binary on the OLPC as well as in source code form.

https://github.com/SimHacker/micropolis

Here's the contract with all the legal details:

https://donhopkins.com/home/olpc-ea-contract.pdf

This is incredibly cool, thanks to Don Hopkins for open-sourcing the original (C, C++ or Java implementations) micropolis codebase [1] !

As a shameless plug, I've been for the last few years re-implementing on and off this exact same project (based on the C++ codebase) in Rust, WebAssembly and Svelte! [2] Quite a bunch of buzzwords I know, but it's specifically made for me to have fun.

The map generation is working (or at least it was properly rendered when I was using React) and about ~50% of the codebase has been ported over to Rust, but there's still a lot of work to be done if anyone wants to help!

The end goal is notably to have tons of slick data visualisations with d3.js.

[1] https://github.com/SimHacker/micropolis [2] https://github.com/pierreyoda/micropolis-rs

To his credit, in 2007 when John Riccitiello was CEO of EA, he was instrumental in supporting our successful campaign to relicense the original source code of SimCity Classic free under GPLv3 and bring it to the OLPC XO-1 children's computer.

EA Donates Original City-Building Game, SimCity, to ''One Laptop per Child'' Initiative: https://ir.ea.com/press-releases/press-release-details/2007/...

>REDWOOD CITY, Calif.--(BUSINESS WIRE)--Nov. 8, 2007--Today Electronic Arts Inc. (NASDAQ:ERTS) announced the company will donate the original SimCity™ -- the blockbuster 1989 game credited with giving rise to the city-building game genre -- to each computer in the One Laptop per Child (OLPC) initiative. OLPC is a not-for-profit humanitarian effort to design, manufacture and distribute inexpensive laptops with the goal of giving every child in the world access to modern education. By gifting SimCity onto each OLPC laptop, EA is providing users with an entertaining way to engage with computers as well as help develop decision-making skills while honing creativity. This is the first time a major video game publisher has gifted a game to the world.

Open Sourcing SimCity, by Chaim Gingold: https://medium.com/@donhopkins/open-sourcing-simcity-58470a2...

>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.

>[...] 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.

>[...] 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. 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. [...]

Demo of SimCity on OLPC XO-1: https://www.youtube.com/watch?v=EpKhh10K-j0

>OLPC SimCity Demo: A demonstration of OLPC SimCity running on the One Laptop Per Child XO-1 laptop.

OLPC / EA Contract: https://donhopkins.com/home/olpc-ea-contract.pdf

>This license and distribution agreement (this "Agreement") is entered into as of September 4, 2007 (the “Effective Date”) by and between ELECTRONIC ARTS INC., a Delaware corporation with its principal offices at 209 Redwood Shores Parkway, Redwood City, CA 94065-1175 (“EA”) and ONE LAPTOP PER CHILD ASSOCIATION, INC., a Delaware corporation, located at One Cambridge Center, Cambridge MA, 02142 ( “OLPC”).

Free SimCity Source code: https://github.com/SimHacker/micropolis

>Open Source Micropolis, based on the original SimCity Classic from Maxis, by Will Wright.

It would be theoretically and easily possible, but legally impossible to port the original C version of SimCity released under GPLv3 (called "Micropolis") to the iPad, because of the anti-Tivoization clause, it's a violation of the GPLv3 to put it on the Apple app store.

https://en.wikipedia.org/wiki/Tivoization

https://apple.stackexchange.com/questions/6109/is-it-possibl...

https://github.com/SimHacker/micropolis

However there's nothing stopping you from running one of the versions of Micropolis that's been rewritten in JavaScript to run in the web browser (because it's distributed via the web instead of on the App store), or contributing to those projects to make it run well on the iPad.

http://micropolis.mostka.com/

https://www.graememcc.co.uk/micropolisJS/

Here's some more SimCity documentation and reference material: https://github.com/SimHacker/micropolis/tree/master/Micropol...

And various SimCity source code: https://github.com/SimHacker/micropolis

We talked EA into releasing the source code of SimCity Classic under GPL v3 several years ago:

https://github.com/SimHacker/micropolis