One SimCity Per Child
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."
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.
Is this to give the kids a virtual sense of what it's like to live in a 1st world country? "look at all of the nice luxuries you will never experience!" how about the irony of building a nuclear powerplant on a computer you have to handcrank?
http://greenobyl.com/ please.... think of the children!!
Great, now all the kids in third world countries are going to think that western cities are subject to alien attacks if you type "cass" more than 3 times.
Aw, don't be rude. He's a headkase.
No folly is more costly than the folly of intolerant idealism. - Winston Churchill
I see I'm too late to beat our cynical Slashdotters to the punch. Instead of complaining about how evil EA is, and what kind of ulterior motives they may have, can we simply not recognize this as a net Good Thing? I know I learned a lot of planning for the future, fiscal management, and balancing multiple (sometimes conflicting) priorities while still achieving overall success, from that game as a child. Technical issues aside from making the game run, this will be a great gain for OLPC users.
When I first got my copy of Sim City years ago, I was such a jerk as a mayor. I had a damn fine city. No crime, no pollution, no trash, no fires, no NOTHIN'. It was the perfect city. I always managed a surplus, and the city could keep growing and growing. My excellent management skills made sure everything was compact and efficient. I was extremely creative in my infrastructure. I was also a jerk. When I realized that I was doing TOO good of a job, I decided, "That's it. This is boring. I'm going to be a jerk." So I started putting airports right smack in the middle of residential sectors, putting a single factory in the middle of a commercial district, making roads that could easily go straight zigzag, and making huge detours when I could easily put an inter-section. I also raised taxes as high as possible without having people get too mad. The power was really, really fun. Now, do we want a world full of egotistical ten years who are jerks to those who follow them "Just 'cause." I think not!
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:
So while I'm still keeping a close eye on them, they've at least convinced me that their games are worth buying.
Not a typewriter
Now the kids will have something to keep them occupied during the times they can't access the internet to download their porn. Reference: http://hardware.slashdot.org/article.pl?sid=07/07/21/1353241
I ported the Mac version of SimCity to SunOS Unix running the NeWS window system about 15 years ago, writing the user interface in PostScript. And a year or so later I ported it to various versions of Unix running X-Windows, using the TCL/Tk scripting language and gui toolkit. Several years later when Linux became viable, it was fairly straightforward to port that code to Linux, and then to port that to the OLPC.
SimCity Info
http://www.art.net/~hopkins/Don/simcity/index.html
Video Tape Transcript of Toronto Usenix Symposium Keynote Address
http://www.art.net/~hopkins/Don/simcity/keynote.html
Video Tape Transcript of HyperLook SimCity Demo
http://www.art.net/~hopkins/Don/simcity/hyperlook-demo.html
HyperLook SimCity Demo Video
http://www.donhopkins.com/home/movies/HyperLookDemo.mov
Video Tape Transcript of X11 SimCity Demo
http://www.art.net/~hopkins/Don/simcity/x11-demo.html
X11 SimCity Demo Video
http://www.donhopkins.com/home/movies/X11SimCityDemo.mov
Linux SimCityNet Demo Video
http://www.donhopkins.com/home/movies/SimCityNetDemo.mov
Cellular Automata in SimCityNet on Unix Video
http://www.donhopkins.com/home/movies/CellularSimCity.mov
Unix World 1993 Review of SimCity
http://www.art.net/~hopkins/Don/simcity/simcity-review.html
Multi-Player SimCity for X11 Announcement
http://www.art.net/~hopkins/Don/simcity/simcity-announcement.html
SimCityNet: a Cooperative Multi User City Simulation
http://www.art.net/~hopkins/Don/simcity/simcitynet.html
SimCity-For-X11.gif : Screen shot of SimCity running on X11.
http://www.art.net/~hopkins/Don/simcity/SimCity-For-X11.gif
SimCity-Indigo.gif : Multi player X11 SimCity running on an SGI Indigo.
http://www.art.net/~hopkins/Don/simcity/SimCity-Indigo.gif
SimCity-NCD.gif : Multi player X11 SimCity running on an NCD X Terminal.
http://www.art.net/~hopkins/Don/simcity/SimCity-NCD.gif
SimCity-Sun.gif : Multi player X11 SimCity running on an Sun.
http://www.art.net/~hopkins/Don/simcity/SimCity-Sun.gif
HyperLook-SimCity.gif : SimCity HyperLook Edition. SimCity running on HyperLook, a user interface development environment for the NeWS window system.
http://www.art.net/~hopkins/Don/hyperlook/HyperLook-SimCity.gif
http://www.art.net/~hopkins/Don/hyperlook/index.html
http://www.art.net/~hopkins/Don/lang/NeWS.html
-Don
Take a look and feel free: http://www.PieMenu.com
SimCity isn't abandonware, and even if it were, you couldn't distribute or run it on the OLPC, for technical and legal reasons. The point is to extend and adapt the open source code for the needs of education, not just run the old version under an emulator.
-Don
Take a look and feel free: http://www.PieMenu.com
A game, used in a supervised setting for educational use, with an actual plan: Growth in learning.
A game, used in an unsupervised setting, without any plan: Is just a leisure pursuit.
A feeling of having made the same mistake before: Deja Foobar
So every child in developing nations will know that door-to-door commuter rail is the only way to avoid congestion.
I'd rather have someone respond than be modded up.
Unsupervised games are the rock foundation of human society. What exactly do you think toddlers, kids and teenagers do when they play cowboys and indians, marbles, crash-the-truck, imitate-mom-and-dad-in annoying-ways, spin-the-bottle or other completely random, unsupervised, goal-less games?
I agree that there's a need for goal-driven and supervised learning (whether it takes the form of games or not), but games played in a leisurely fashion, without specific goals, are just as important in the development of a child. Not only that, but they are the only way that children can actually grow on their own, unless their educator/parents are supremely gifted and know the children better than they know themselves.
Education is more than just knowing how to pour concrete. I pity the soul that thinks that it isn't.
Those who can, do. Those who can't, sue.
That's right! It is impossible to learn anything without an adult standing around telling you what to think!
People like you are the reason I hated school.
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
People who complain that SimCity and its successors don't accurately model city building and management are missing the point. No simulation can totally model the complexities of a city. The reason SC is educational is because it teaches skills like creative problem-solving, planning, and risk-reward tradeoffs. What's the optimum road layout? Is it cost-effective to use parks to offset the unhappiness of high taxes? Will that nuclear power plant allow for greater growth in future years, or will the cost of replacing it in 50 years bankrupt me? Hell, any game that teaches people to budget and stay out of debt is a good thing--imagine what the national debt would be like if the President had played SC. (okay, that's over the top, but very few people have a grasp of how debt really works)
So what if the only way to reduce crime is building police stations. The educational part isn't the concept that police prevent crime, the educational part is the skills learned in figuring out how many stations to build, and in what locations, to achieve an acceptable crime rate while not spending too much money.
*clicks repeatedly on you*
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.
-Don
Take a look and feel free: http://www.PieMenu.com