Micropolis (software)
Encyclopedia
Micropolis is a city-building
sim game developed by Don Hopkins
. It is based on the original source code
of SimCity
, which was donated to the One Laptop per Child (OLPC) project by Electronic Arts
as free and open source software
under the terms of the GNU General Public License
in 2008.
Micropolis is based on the X11 version of SimCity for the Unix
operating system
. There are two versions: The original version uses the Tcl/Tk user interface, and can be run on the OLPC, as a stand-alone game in any Linux
or Mac OS X
system with X11, or as a port for OpenBSD
. The new version has a user interface implemented in Python
code, which uses Cairo
to draw graphics and Pango
to draw text. The C
core that is responsible for the simulation has been restructured and reworked into C++
code, which is cross-platform
, and independent of the user interface and scripting language
.
on the Commodore 64
, and ported to various platforms, including the Macintosh
. 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 the Alan Turing Institute on HyperLook with Arthur van Hoff. The user interface was written in PostScript
, which ran on the NeWS
window system
on Sun
workstation
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, including SunOS
, 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, a trademark of Electronic Arts. Don Hopkins adapted it 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.
City-building game
City-building games are a genre of strategy computer game where players act as the overall planner and leader of a city, looking down on it from above, and being responsible for its growth and management...
sim game developed by Don Hopkins
Don Hopkins
Don Hopkins is an artist and programmer specializing in human computer interaction and computer graphics.He inspired Richard Stallman, who described him as a "very imaginative fellow", to use the term copyleft. He coined Deep Crack as the name of the EFF DES cracker, and built "AJAXian"...
. It is based on the original source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
of SimCity
SimCity
SimCity is a critically acclaimed city-building simulation video game, first released in 1989, and designed by Will Wright. SimCity was Maxis' first product, which has since been ported into various personal computers and game consoles, and spawned several sequels including SimCity 2000 in 1994,...
, which was donated to the One Laptop per Child (OLPC) project by Electronic Arts
Electronic Arts
Electronic Arts, Inc. is a major American developer, marketer, publisher and distributor of video games. Founded and incorporated on May 28, 1982 by Trip Hawkins, the company was a pioneer of the early home computer games industry and was notable for promoting the designers and programmers...
as free and open source software
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...
under the terms of the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
in 2008.
Micropolis is based on the X11 version of SimCity for the Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...
operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
. There are two versions: The original version uses the Tcl/Tk user interface, and can be run on the OLPC, as a stand-alone game in any Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...
or Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
system with X11, or as a port for OpenBSD
OpenBSD
OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...
. The new version has a user interface implemented in Python
Python (programming language)
Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to "[combine] remarkable power with very clear syntax", and its standard library is large and comprehensive...
code, which uses Cairo
Cairo (graphics)
cairo is a software library used to provide a vector graphics-based, device-independent API for software developers. It is designed to provide primitives for 2-dimensional drawing across a number of different backends...
to draw graphics and Pango
Pango
Pango is an LGPL licensed open source computing library used by software developers for laying out and rendering text in high quality, emphasising support for multilingual text...
to draw text. The C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
core that is responsible for the simulation has been restructured and reworked into C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
code, which is cross-platform
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...
, and independent of the user interface and scripting language
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...
.
History
The original version of SimCity was developed by MaxisMaxis
Maxis is an American company founded as an independent video game developer in 1987. It is currently a subsidiary of Electronic Arts . Maxis is the creator of one of the best-selling computer games of all time, The Sims and its first sequel, The Sims 2...
on the Commodore 64
Commodore 64
The Commodore 64 is an 8-bit home computer introduced by Commodore International in January 1982.Volume production started in the spring of 1982, with machines being released on to the market in August at a price of US$595...
, and ported to various platforms, including the Macintosh
Macintosh
The Macintosh , or Mac, is a series of several lines of personal computers designed, developed, and marketed by Apple Inc. The first Macintosh was introduced by Apple's then-chairman Steve Jobs on January 24, 1984; it was the first commercially successful personal computer to feature a mouse and a...
. 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 the Alan Turing Institute on HyperLook with Arthur van Hoff. The user interface was written in PostScript
PostScript
PostScript is a dynamically typed concatenative programming language created by John Warnock and Charles Geschke in 1982. It is best known for its use as a page description language in the electronic and desktop publishing areas. Adobe PostScript 3 is also the worldwide printing and imaging...
, which ran on the NeWS
NeWS
NeWS was a windowing system developed by Sun Microsystems in the mid 1980s. Originally known as "SunDew", its primary authors were James Gosling and David S. H. Rosenthal...
window system
Windowing system
A windowing system is a component of a graphical user interface , and more specifically of a desktop environment, which supports the implementation of window managers, and provides basic support for graphics hardware, pointing devices such as mice, and keyboards...
on Sun
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...
workstation
Workstation
A workstation is a high-end microcomputer designed for technical or scientific applications. Intended primarily to be used by one person at a time, they are commonly connected to a local area network and run multi-user operating systems...
s, and it supported multiple zoomable views, pie menu
Pie menu
In computer interface design, a pie menu is a circular context menu where selection depends on direction. A pie menu is made of several "pie slices" around an inactive center and works best with stylus input, and well with a mouse...
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, including SunOS
SunOS
SunOS is a version of the Unix operating system developed by Sun Microsystems for their workstation and server computer systems. The SunOS name is usually only used to refer to versions 1.0 to 4.1.4 of SunOS...
, Solaris, IRIX
IRIX
IRIX is a computer operating system developed by Silicon Graphics, Inc. to run natively on their 32- and 64-bit MIPS architecture workstations and servers. It was based on UNIX System V with BSD extensions. IRIX was the first operating system to include the XFS file system.The last major version...
, HP-UX
HP-UX
HP-UX is Hewlett-Packard's proprietary implementation of the Unix operating system, based on UNIX System V and first released in 1984...
, OSF/1
Tru64 UNIX
Tru64 UNIX is a 64-bit UNIX operating system for the Alpha instruction set architecture , currently owned by Hewlett-Packard . Previously, Tru64 UNIX was a product of Compaq, and before that, Digital Equipment Corporation , where it was known as Digital UNIX .As its original name suggests, Tru64...
, Quarterdeck
Quarterdeck Office Systems
Quarterdeck Office Systems, later Quarterdeck Corporation , was an American computer software company. It was founded by Therese Myers and Gary Pope in 1981and incorporated in 1982...
Desqview/X
DESQview
DESQview was a text mode multitasking program developed by Quarterdeck Office Systems which enjoyed modest popularity in the late 1980s and early 1990s...
, NCD
Network Computing Devices
Network Computing Devices was a company founded in 1987 to produce a new class of products now known as a "thin client". It was founded in Mountain View, CA, and when it closed it was headquartered in Portland, Oregon....
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, a trademark of Electronic Arts. Don Hopkins adapted it 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/131External links
- Micropolis source code and development pages on Google Code
- OLPC SimCity Demo
- SimCity for OLPC (One Laptop Per Child): Applying Papert's Ideas About Constructionist Education and Teaching Kids to Program
- SimCity Info
- HyperLook SimCity Demo Video
- Source code and binary from developer Don Hopkins' website