We were discussing Robot Odyssey and SimCity a while back:

----

http://www.donhopkins.com/drupal/node/139

Discussion with Alan Kay about Robot Odyssey

One of Alan Kay's favorite games is Robot Odyssey! I wrote to him:

From: Don Hopkins
Subject: Robot Odyssey

One thing I've always wanted to do is a re-make of Robot Odyssey, with the full power of a real programming language underneath it, and lots of cool toys for the robots to play with! That was such a powerful concept for a game!

-Don

From: Alan Kay
Subject: Robot Odyssey

I actually argued with him [Will Wright] and Maxis for not making SimCity very educational. E.g. the kids can't open the hood to see the assumptions made by SimCity (crime can be countered by more police stations) and try other assumptions (raise standard of living to counter crime) etc. I've never thought of it as a particularly good design for educational purposes.

However, I have exactly the opposite opinion of Robot Odyssey, which I thought was a brilliant concept when the TLC people brought it to me at Atari in the early 80s. (Rocky's Boots is pretty much my all time favorite for a great game that really teaches and also has a terrific intro to itself done in itself, etc. Warren Robinette is a very special designer.).

The big problem with Robot Odyssey (as I tried to explain to them) was that the circuits-programming didn't scale to the game. They really needed to move to something like an object-oriented event-driven Logo with symbolic scripting to allow the kids to really get into the wonderful possibilities for strategies and tactics. (BTW, Etoys is kind of an OO event-driven Logo (not an accident), and the next version of it has as a goal to be able to do Robot Odyssey in a reasonable way. This got delayed because of funding problems but we now have funding and are really going to do it this year. Want to help design and build it?)

----

http://www.donhopkins.com/drupal/node/134

Alan Kay's ideas about SimCity for OLPC

I just received this exciting email from Alan Kay. I totally agree with the direction he wants to take SimCity for the OLPC!

-Don

From: Alan Kay
To: Don Hopkins
Date: 11/9/2007 6:14 PM
Subject: SimCity for OLPC

Hi Don --

I'm writing to applaud you for your plans to reimplement SimCity for children on the OLPC.

My main complaint about this game has always been the rigidity, and sometimes stupidity, of its assumptions (counter crime with more police stations) and the opaqueness of its mechanism (children can't find out what its actual assumptions are, see what they look like, or change them to try other systems dynamics).

So I have used SimCity as an example of an anti-ed environment despite all the awards it has won. It's kind of an air-guitar environment.

In the past, I tried to get Maxis to take the actual (great) educational possibilities more seriously, but to no avail.

Going to Python can help a few areas of this, but a better abstraction for the heart of Sim-City would be a way to show its rules/heuristics in a readable and writable form. Both of these could be stylized to put them in the child's own thinking and doing world. For example, just the simple route of making a drag and drop scripting interface for Etoys allows children to make very readable and writeable scripts and helps the children concentrate on what they are trying to do. A carefully designed object system (that is filtered fro children) can expose the environment so they can really think about it.

I'm not at all suggesting that Etoys be used here, but I am suggesting that some deep design be done to come up with a "behavior modification interface" that allows real creativity on the part of the children. So it is much more than stringing black boxes together or having to deal with fragile procedurals.

I sense that you have some interests in making SimCity really a microworld for children's learning and exploration from reading your webpage.

Children in 4th - 6th grade can do a lot here if they are given a good UI and tools. So, we could think of part of this project as a "pre-Python" UI.

Scalability and non-scalability of ideas are interesting. Rocky's Boots is still one of the best ever games that provide profound learning experiences. The extension of this to Robot Odyssey didn't work because the logic and wires programming didn't scale well enough -- the bang per effort dropped off precipitously. I was Chief Scientist at Atari at that time (Warren Robbinet worked for me) and I worked with TLC to try to get them to realize that something like Logo, or even better, a rule-based robot programming system, was needed. The failure of Robot Odyssey really pained me because I thought that the concept of this game was one of the best ever (still is). But it just needed a much better notion of how the children were going to program the robots. I think the same goes for SimCity.

Cheers,

Alan

----

http://www.donhopkins.com/drupal/node/140

Discussion with Alan Kay about Visual Programming

[...]

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.

Both of these packages have won many "educational awards" from the pop culture, but in many ways they are anti-real-education because they miss what modern knowledge and thinking and epistemology are all about. This is why being "above threshold" and really understanding what this means is the deep key to making modern curricula and computer environments that will really help children lift themselves.

----

http://lists.laptop.org/pipermail/sugar/2007-March/001829.ht...

[sugar] Ideas about SimCity gui, turtle graphics, and cellular automata

Instead of (or in addition to) using the mouse to paint with a palette
of editing tools like Photoshop, the interface could be based on agents
like logo turtles that represent the user on the map, which carry around
SimCity editing tools that they can draw with. When you throw in a
visual programming language, it leads the way to a Robot-Odyssey-esque
version of SimCity!

[...]

Redesigning the SimCity user interface for the OLPC
Don Hopkins

Visual Programming

[...]

Logo Turtles (as a generalization of the monster, tornado,
helicopter, etc)

Implement programmable logo turtles as agents that can move
around on the map, sense it, and edit it.

Like Robot Odyssey agents, so you can go "inside" an agent,
and travel around with it, operate its controls, read its
sensors, and automate its behavior by wiring up visual programs
with logic and math and nested "ic chip" components.

Plug in graphics to represent the agent: use classic logo
turtle and SimCity sprites, but also allow kids to plug in
their own.
SimCity sprites have 8 rotations.
SVG or Cairo drawings can be rotated continuously.

Re-implement the classic SimCity agents like the monster,
tornado, helicopter, train, etc in terms of logo turtles, that
kids can drive around, learn to use, open up and modify (by
turning internal tuning knobs, or even rewiring).

Let kids reprogram the agents to do all kinds of other stuff.

Mobile robots, that you can double click to open up into
Robot-Odyssey-esque visual program editors.

Agents have local cellular-automata-like sensors to read
information about the current and surrounding tiles.

KidSim / Cocoa / StageCraft Creator let kids define visual
cellular automata rules by example, based on tile patterns and
rules. Show it a pattern that you want to match by selecting
an instance of that pattern in the world, then abstract it
with wildcards if necessary, then demonstrate the result you
want it to change the cell to in the next generation.

Sense high level information about zones and overlays, so the
agents can base their behavior on any aspect of the world
model.

Support an extensible model by allowing users to add more
layers.

Add layers with arbitrary names and data types at
different resolutions:

byte, int, float, n-dimensional vector, color, boolean
mask, musical note, dict, parametric field (i.e. perlin
noise or other mathematical function) at each cell, etc.

Edit the world.

All SimCity editing tools (including colored pens that draw
on overlays) should be available to the agent.

Enable users to plug in their own editing tools, that they
can use themselves with the mouse, keyboard or game
controller, or program agents to use to edit the map under
program control.

Robot Odyssey

Build your own universal programmable editing tool.
Roll your own von Neuman Universal Constructor.
Smart robots you program to perform special purpose editing tasks.

The "Painter" picture editing program had a way of recording
and playing back high level editing commands, relative to the
current cursor position.

Remixing. Journaling. Programming by demonstration or example.
You could use a tape recorder to record a bunch of SimCity
editing commands that you act out (or you can just select them
from the journal), then you can play those tapes back with
relative coordinates, so they apply relative to where the
agent currently is on the map. You can copy and paste and cut
and splice any editing commands into tapes that you can use to
program the robot to play back in arbitrary sequences.

Program an urban sprawl development-bot to lay out entire
residential subdivisions, complete with zones, roads, parks and
wires. Then program a luddite roomba-bot that sucks them all
up and plants trees in their place.

This becomes really fun when we let players plug in their own
programmed zones for the robot to lay out, and layers of data
to control the robot's behavior, out of which they can program
their own cellular automata rules and games (like KidSim /
Cocoa / StageCraft Creator).