Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

One SimCity Per Child 253

SimHacker writes "Electronic Arts has donated the original 'classic' version of Will Wright's popular SimCity game to the One Laptop Per Child project. SimCity is the epitome of constructionist educational games, and has been widely used by educators to unlock and speed-up the transformational skills associated with creative thinking. It's also been used in the Future City Competition by seventh- and eighth-grade students to foster engineering skills and inspire students to explore futuristic concepts and careers in engineering. OLPC SimCity is based on the X11 TCL/Tk version of SimCity for Unix developed and adapted to the OLPC by Don Hopkins, and the GPL open source code will soon be released under the name "Micropolis", which was SimCity's original working title. SJ Klein, director of content for the OLPC, called on game developers to create 'frameworks and scripting environments — tools with which children themselves could create their own content.' The long term agenda of the OLPC SimCity project is to convert SimCity into a scriptable Python module, integrate it with the OLPC's Sugar user interface and Cairo rendering library. Eventually they hope to apply Seymour Papert's and Alan Kay's ideas about constructionist education and teaching kids to program."
This discussion has been archived. No new comments can be posted.

One SimCity Per Child

Comments Filter:
  • Awesome (Score:5, Interesting)

    by TheGreatHegemon ( 956058 ) on Thursday November 08, 2007 @05:36PM (#21286637)
    I remember I use to enjoy that game immensely when I was younger. I almost do believe it may very well help a person to develop their thinking abilities.
  • by hardburn ( 141468 ) <hardburn&wumpus-cave,net> on Thursday November 08, 2007 @05:48PM (#21286849)

    Of late, it seems that EA is cleaning itself up. I between screwing up C&C: Generals (a patch for the expansion left the game in a broken state for a few years), employee mistreatment, and generally writing mostly shovelware franchise titles like Madden, I had been boycotting them. But now I think they deserve another chance because:

    1. Spore
    2. Give away the original C&C
    3. Made a C&C game that actually has a story connected to the rest of the C&C games
    4. One of the first developers to realize the Wii had potential

    So while I'm still keeping a close eye on them, they've at least convinced me that their games are worth buying.

  • by Anonymous Coward on Thursday November 08, 2007 @05:50PM (#21286879)
    A lengthy mailing list post [anonymouse.org] from Alan Kaye, one of Papert's colleagues, raises the possibility that SimCity is not as constructionist as it seems at first glance:

    SimCity is similar but more pernicious. It is a black box of "soft
    somewhat arbitrary knowledge" that the children can't look at,
    question or change. For example, SC gets the players to discover that
    the way to counter rising crime is to put in more police stations.
    Most anthropologists, sociologists, psychologists, and economists
    would disagree violently. Alternate assumptions can't be tried, etc.
    This particular version of SimCity may be different, though, because it is open source. However, the children won't be able to truly experiment with it on the XO laptops until it is converted to Python, since the XO laptops don't ship with a C compiler (and children probably aren't going to pick up C easily, anyway).
  • why not sim city 2k? (Score:3, Interesting)

    by sam_paris ( 919837 ) on Thursday November 08, 2007 @06:14PM (#21287213)
    The laptops are more than powerful enough to run Sim City 2000, which was far superior to the original, why not use that?
  • by dougsha ( 247714 ) on Thursday November 08, 2007 @06:27PM (#21287367) Homepage
    Anyone want to port my game ChipWits - the original version - to the OLPC? I've asked on the OLPC Wiki but haven't followed up.

    I wrote the first version in FORTH (in 1984 on the Mac, C-64, and Apple II), so the source code won't be much help.

    http://chipwits.com/ [chipwits.com]
  • by rpillala ( 583965 ) on Thursday November 08, 2007 @06:31PM (#21287409)

    I've been reading Good to Great [jimcollins.com], and I think EA's acquisition of Bioware is interesting. Bioware not only makes good games, but they also develop some interesting engine technology. For example their infinity engine was used by a number of other games and recently we read that Mass Effect's chat system will be used in other EA titles. It seems like a more sensible acquisition to buy a company for their catalog and game tech expertise than to do it just to exploit the popularity of certain games. It could be that EA is quietly changing. I don't follow the games industry closely enough to make the statement for certain, but it does seem like something is different.

    One of the main questions a good company should answer to become great is "what can we do better than anyone else?" If someone has found the answer to this at EA and is doggedly pursuing it, your list and this recent simcity move could be part of a bigger transition.

  • by Fallingcow ( 213461 ) on Thursday November 08, 2007 @06:40PM (#21287521) Homepage
    I've learned TONS of things from games and other diversions on the PC.

    Mavis Beacon (explicitly educational) taught me proper typing, but chatting with my friends on AIM and (especially) busy IRC channels taught me to type FAST.

    Shadow President is the reason I can locate practically any country on a map faster than the vast majority of people.

    A lot of stuff in my political science classes (and my own readings on philosophy in general) reminded me of ideas and people in Deus Ex.

    Medieval: Total War taught me more about medieval political geography, politics, and technology (war-related tech, that is) than I was ever taught in any level of my education (yeah, I know more from reading, but no class ever taught me this stuff; we always skipped from talking about the Fertile Crescent to covering the Age of Exploration. Seriously.)

    Rome: Total War and a couple of its mods (Rome: Total Realism and Europa Barbarorum, especially) have taught me a TON about the Hellenistic and Roman periods of history. Thanks to them, I know BOTH the Koine or Attic Greek AND Latin names for tons of Mediterranean cities (though I often don't know the modern name!)

    Bushido Blade 1 & 2 and Shogun: Total War taught me the names of a bunch of different Japanese weapons.

    I know a bit about the operation of a variety of firearms that I've never physically used, from paying close attention to the reload animations in dozens of games over the years (Counter-Strike and most WWII shooters are GREAT for this).

    OK, so a lot of it's not *useful* information, but I did learn :)
  • Re:Nonsense. (Score:3, Interesting)

    by dunng808 ( 448849 ) <garydunnhiNO@SPAMgmail.com> on Thursday November 08, 2007 @08:02PM (#21288433) Journal
    Check out Squeak, based on Smalltalk. http://www.squeak.org/ [squeak.org]
  • Listen to Alan Kay (Score:2, Interesting)

    by WeirdJohn ( 1170585 ) on Thursday November 08, 2007 @08:33PM (#21288777)
    It's probably worth noting that Alan Kay (not Kaye) is a little more than just "one of Papert's colleagues" - http://en.wikipedia.org/wiki/Alan_Kay. In many ways Kay could be considered the inventor of the OLPC concept with his Dynabook concept from the 1970s. He was also one of the inventors of OOP and Smalltalk and is probably the most informed person on the planet when it comes to discussing the role of computers in education. If Kay sees problems with SimCity as an educational tool on the XO he should be listened to IMHO.
  • Re:Nonsense. (Score:4, Interesting)

    by ADRenalyn ( 598918 ) on Thursday November 08, 2007 @09:27PM (#21289225)
    Funny that someone here has linked to my companies site...

    Our original goal at CitySimulation was to do what Google is doing now- build every major city in the U.S. in a real-time virtual environment. Our models are not built as quickly and easily (Google has airplanes with laser scanners, vans with mounted cameras, and high-tech GPS photo mapping software), but since every square inch of our models are 'hand-crafted', they are a lot more accurate, and of higher quality.

    Since we never got any investors to buy into the idea, we had to rely on doing developer projects, one building at a time. It' a nice use of real-time technology... A developer has a challenge of convincing the city council that their proposed building will fit within the context of the site and its surroundings. With an interactive model (like a video game), many questions about a design can be answered in one meeting.

    Anyway, we're now moving on to areas that Google and Microsoft are not (yet) interested in- proposed buildings/renovations, and building interiors. It's fun work, as close to creating video games that I'll probably ever get to be.

  • SimCity and Python (Score:4, Interesting)

    by SimHacker ( 180785 ) * on Friday November 09, 2007 @12:07AM (#21290445) Homepage Journal

    That version of SimCity is the original SimCity Classic code written in C, packaged as an ActiveX control. It's not written in Java or JavaScript (or PHP for that matter).

    The version of the code we're releasing initially uses the TCL/Tk scripting language and user interface toolkit. But the simulation code itself is written in C. It's plugged into the scripting language, which can call it, but only integrated to a limited extent (just what the user interface required, not exposing all the workings of the simulator).

    Next we will repackage the original simulator as a Python module. The first step is to recast the original C code into a C++ class, so all the global variables and global arrays are local instance variables of a SimCity object, so you can have any number of simulations active at one time and they will not interfere with each other.

    After SimCity is recast as a C++ object, we will plug it into Python and other scripting languages by using SWIG, which is a nice way to integrate C and C++ code into a whole bunch of different scripting languages.

    Then we'll rewrite the user interface in Python, based on the other efficient modules that are integrated into Python but written in C or C++, including the GTK user interface toolkit for X11, the Cairo graphics library (like PostScript graphics but much better and hardware accelerated), the Pango text layout engine (draws with Cairo, supports internationalized text, so SimCity can support Unicode text and be translated into languages with non-English-like layout such as Chinese, Hebrew, Arabic, etc.), a C++ tile engine I wrote for Python that draws with Cairo, pie menus I wrote in Python that draw with Cairo, and many other useful modules.

    The idea is to open up the simulator so it can be easily and deeply scripted in Python. It was designed for the C64, so it can run extremely fast (on the order of a year a second) on the OLPC, and there is plenty of left over CPU power to call back into an interpreted scripting language like Python, and still be quite playable. It will still run very fast, because the core number crunching will still be written in C, but it will be able to call out to Python hooks and plug-ins, and Python will be able to reach in, tweak the simulation, change the parameters, edit the model, etc, so you'll be able to program your own disasters, monsters, tornados, editing tools, zones, artificial intelligence, robots, agents, etc. And also implement network sharing features, muti-player features, journaling and storytelling features, tivo-like fast forward and rewind features, etc. The goal is to inspire kids to learn Python programming and develop their own games, by reimplementing SimCity's user interface in terms of reusable components.


  • by SimHacker ( 180785 ) * on Friday November 09, 2007 @01:16AM (#21290955) Homepage Journal

    Hey, why don't you help Mitch Bradley port his excellent Forth system to run on the OLPC? It already does, but it's in the OpenFirmware boot ROMs, so it runs before Linux even boots. But the same Forth system runs quite nicely under Unix as well (without all the direct hardware access :), and is quite luxurous. I used it on the Sun 3 and Sparcstation years ago, and worked at Sun as his summer intern on CForth, another portable Forth system. Mitch is one of the best and most accomplished Forth programmers on or off the planet. If you want to do Forth on the OLPC, Mitch Bradley is definitely the dude to talk to about it!


  • by SimHacker ( 180785 ) * on Sunday November 11, 2007 @09:56AM (#21312947) Homepage Journal

    First, the legal details:
    The GPL source code version of SimCity will not be called "SimCity", but we will use the SimCity source code to make a city building game called "Micropolis", which was the original working title of SimCity. That's because EA reserves the right to review and QA the official version of the game that's published under the name "SimCity" on the OLPC. So we can make improvements to the TCL/Tk version of Micropolis (based on the GPL source code), and submit them to EA for review and QA, which if they approve, will be used as the officially branded version of SimCity for the OLPC. It will be the same code, but the only difference is the name, which EA understandably wants to protect, be ensuring the quality and integrity of OLPC SimCity.

    That said, I strongly encourage you to improve the TCL/Tk version of Micropolis, please! I think it would be great to keep the TCL/Tk development line of the code alive and strong, and modernize and improve it! It will be a fair amount of work to upgrade it, but that will be a lot less work and time than recasting SimCity in Python will require. Of course both projects can go on in parallel, learning from each other. Since the Python version won't be ready for a long time, we can submit an upgraded version of TCL/Tk Micropolis as the official version of OLPC SimCity, based on the latest TCL/Tk, including further OLPC/Sugar integration \(like making sound work better, supporting the gamepad, etc).

    TCL/Tk is a very cleanly written language and well designed user interface toolkit, which has grown and improved a lot since I took a snapshot of the code from around 1993 to use for SimCity. I have found memories of meeting Professor Ousterhout in his office on the UC Berkeley campus, and showing him the TCL/Tk version of SimCity, and thanking him for the great work he'd done and shared for free.

    The reason I want to convert the TCL/Tk version of SimCity to Python is because it's the "official" programming language for OLPC Sugar applications. In the short term, the OLPC will include applications like SimCity that uses TCL/Tk, eToys that uses Smalltalk/Squeak, etc. But in the long term, new software developed for the OLPC should be written in Python, to save memory by sharing modules, and to use great modules like Cairo for scalable stencil/paint graphics, Pango for rendering internationalized text, and all the Sugar modules written in Python.

    Despite not being written in Python, eToys and SimCity are included with the OLPC. The point is to educate and inspire people to develop new and better software, to bootstrap the software of the future. I'm compelled to move forward and develop a new visual programming language, better and easier to use than Python or TCL, that kids can use to reprogram the behavior and create extensions to SimCity, and even write their own games and who knows what else.


    Alan Kay wrote this on the OLPC Sugar mailing list, about implementing visual programming languages like eToys in Python:

    Guido knows that I've been advocating that the Python folks should do Etoys or a very Etoys like environment in Python (and that the rest of the OLPC be given an objectification and media and scripting integration that is Etoys like).

    However, there are simply zillions of things left to be done everywhere for OLPC so the first round of SW on the XO will be more of a gathering of "suggestive" features and abilities (of which Etoys is just one). That seems fine to me.

    Viewpoints Research (our little non-profit) doesn't have any "ego or identity" staked around whether the children's authoring environment is Python based or Squeak based. I have said many times that, if the general integrative base of XO is to be Python, then the Etoys-like authoring should be based in Python also.

    However, I will personally fight to the death to make sure that there is a children's authoring environment that allows even young children to do simulation style programming with very ri

Any sufficiently advanced technology is indistinguishable from a rigged demo.