4 ms·
oh my goooosh this is amazing. See: https://blog.codinghorror.com/heres-the-programming-game-you-never-asked-for/ https://blog.codinghorror.com/heres-the-progra
by codinghorror 8y ago
oh my goooosh this is amazing. See: https://blog.codinghorror.com/heres-the-programming-game-you-never-asked-for/ https://blog.codinghorror.com/heres-the-programming-game-you... and specifically http://www.slate.com/articles/technology/bitwise/2014/01/robot_odyssey_the_hardest_computer_game_of_all_time.html http://www.slate.com/articles/technology/bitwise/2014/01/rob...
- nlawalker 8y agoFrom the Slate article: "When Teri Perl described the project to legendary computer scientist Alan Kay, he said, “You’re wasting your time. It can’t be done.” That is, the basic idea was simply too complex to run on an Apple home computer. When Robot Odyssey shipped, the company gave Wallace a plaque that said, “It can’t be done. —Alan Kay.”" That's an awesome story.
- nlawalker 8y agoAfter posting that, I ran into this, which I feel obligated to post: the most recent comment on the article, apparently from Alan Kay, 6/16/2017 (the article was published 01/2014). "A few corrections. (I was Chief Scientist of Atari at the time.) I told the TLC people that this was the greatest game concept that I'd ever seen (and still think so). I had loved Rocky's Boots and was really excited when Ann showed me the ideas for Robot Odyssey. What I told her -- and it's clear she misunderstood -- was that scaling up the Rocky's Boots approach missed the point of "robots" and "computers" (meaning that robots should have a "no ceiling" range of being "really capable") and that programming was invented for computers for a reason. I didn't say it couldn't be done -- I said it wouldn't work well enough for most potential users and players (and I believe that the sign they made was "Alan Kay says this won't work" (and if you think about it, it really didn't given what TLC was trying to do): (a) I was very sure that the UI ideas they had wouldn't scale gracefully, and (b) I was very sure that scaling logic up would quickly change the "bang per effort" ratio for the worse. What I tried to get TLC to understand was that using some higher level language e.g. "nicer Logo" for programming the robot brains would revolutionize game design and playing, and would make Robot Odyssey a big hit. After all these years I still think this is a wonderful concept, and is still waiting for the right designers and builders to marry the concept with the resources needed to make it great to use."
- DonHopkins 8y agoWe were discussing Robot Odyssey and SimCity a while back: ---- http://www.donhopkins.com/drupal/node/139 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 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 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.html 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).
- alankay 8y agoAn "awesome story" that isn't the way it happened (as with too many "awesome stories"). See the comment I made (posted below by niawalker). To summarize here, I said I love "Rocky's Boots", and I love the basic idea of "Robot Odyssey", but for end-users, using simple logic gates to program multiple robots in a cooperative strategy game blows up too much complexity for very little utility. A much better way to do this would be to make a "next Logo" that would allow game players to make the AI brains needed by the robots. So what I actually said, is that doing it the way you are doing it will wind up with a game that is not successful or very playable. Just why they misunderstood what I said is a bit of a mystery, because I spelled out what could be really good for the game (and way ahead of what other games were doing). And of course it would work on an Apple II and other 8 bit micros (Logo ran nicely on them, etc.)
- kyberias 8y agoBTW, here is my C compiler for Human Resource Machine mentioned: https://github.com/kyberias/HRMC https://github.com/kyberias/HRMC :)