Classic 1984 video game Robot Odyssey available online
robotodyssey.onlineWhen I was in grades ~4-8 I was placed in my school's special education stream, which really just amounted to a day a week of totally unstructured play in an incredibly well kitted out classroom (at the high school across the road, no less). There was a group of us that spent more or less every available second in that classroom playing this game on the Apple II, sharing secrets and strategies through the (surprisingly long) game. I credit a large part of who I am to today to it.
As a grown up I've watched video walkthroughs of it numerous times with my daughter, and have been meaning to figure out a way to actually play it with her. This.... is amazing.
Goodbye, Friday!
Multiple tens of hours of amazing YouTube content surrounding the effort and all of the spiffy things going on with Emscripten and such.
Having only briefly heard of the game when I was younger it is amazing to go through it and just how in depth it is. Had I seen this as a kid I would've freaked.
Also important to note this installs nicely as a mobile app and works completely offline!
oh my goooosh this is amazing. See: https://blog.codinghorror.com/heres-the-programming-game-you... and specifically http://www.slate.com/articles/technology/bitwise/2014/01/rob...
From 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.
An "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.)
After 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."
From: Alan Kay Date: Mon, 12 Nov 2007 13:55:27 -0800 (PST) Subject: Re: Just curious ... To: Samuel Klein, Don Hopkins, Chris Trottier, John Gilmore
Hi SJ --
Robot Odyssey is another game that would benefit from having a clean separation between the graphical/physical modeling simulation and the behavioral parts (both the games levels and the robot programming could be independently separated out) -- this would make a great target for those who would like to try their hand at game play and at robot behavioral programming systems.
This is a long undropped shoe for me. When I was the CS at Atari in 82-84, it was one of our goals to make a number of the very best games into frameworks for end-user (especially children's) creativity. Alas, Atari had quite a down turn towards the end of 83 ... We did get "the Aquarium" idea from Ann Marion to morph into the Vivarium project at Apple ... And some of the results there helped with the later Etoys design.
Cheers,
Alan
----
From: Alan Kay Date: Mon, 12 Nov 2007 20:57:51 -0600 (CST) Subject: Re: Just curious ... To: Samuel Klein, Don Hopkins, Chris Trottier, John Gilmore
Thanks SJ --
We are benefiting here from Don Hopkins' generosity (and of the original designers and owners of these games).
The basic notion is that there are many games that, if modularized with nice separable interfaces, would be great environments for exploring various kinds of "learning by doing". For example, there is a nice separation between the "rules/dynamics" of a games world and the "strategies/actions" of the characters. There could be a third separation to break out the graphics and sound routines as a media environment.
For example, in SimCity, the first and most useful breakout for children would be to allow various UIs to be made that would let children find out about and try experiments with the "city dynamics rules". It's not clear what the best forms for this would be, so it would be great to have a variety of different designers supply modules that would try to bridge the gaps to the child users.
This could work even for pretty young children (we helped the Open Magnet School set up Doreen Nelson's "City Building" curriculum in the third grade of the school and this was very successful -- a child controlled SimCity would have been wonderful to have).
Maybe this separation could be set up via the D-bus so that separate processes written in any language the authors choose could be used. This would open this game up to different experiments by different researchers to explore different kinds of UIs and strategy languages for various ages of children. I think this would be really cool! We would all learn a lot from this and the children would benefit greatly.
A trickier deal would be the world dynamics (I'm just guessing here, but Don would know). This is one of the really great things about SimCity -- it can really accommodate lots of different changes and stitch things together to make a pretty decent simulation without too many seams showing. (Given the machines this game originally ran on, many of the heuristics are likely to be a little patchy. Don has indicated as much.) I think doing a great world dynamics engine for games like SimCity would be really wonderful -- and could even be a thesis project or two.
Don has talked about doing the separations so that many new games can be made in addition to the variations.
Similarly, Robot Odyssey (one of the best games concepts ever) was marred by choosing a way to program the robots where the complexity of programming grew much faster than the functionality that could be given to the robots. This game was way ahead of its time.
Again, the idea would be do make a game in which environment, levels of challenge, and how the robots are programmed would be broken out into separate processes that a variety of gamers and researchers could do experiments in language and UI.
One of the most wonderful possibilities about this venture is that it will bring together very fluent designers from many worlds of computing (more worlds than usually combine to make a game) in the service of the children. We should really try to pull this off!
Cheers,
Alan
Does anyone here remember ZZT? I loved building puzzles in that game with the scripting language. You didn't program to play, but you could make your own games and program the behavior of special objects. It's the closest realized example I can think of to what Alan described here.
I remember ZZT -- and the excitement when I found an archive of alternate worlds I could download from a BBS. Learning to program ZZT worlds was one of the first steps I took to programming.
I'm not familiar with ZZT, but here's a reference to another game that inspired Alan Kay, called "Thinkin' Things", in a discussion about the Snap! visual programming language!
----
From: Alan Kay Date: Thu, 3 May 2018 07:49:16 +0000 (UTC) Subject: Re: Blocky + Micropolis = Blockropolis! ;)
Yes, all of these "blocks" editors sprouted from the original one I designed for Etoys* more than 20 years ago now -- most of the followup was by way of Jens Moenig -- who did SNAP. You can see Etoys demoed on the OLPC in my 2007 TED talk.
I'd advise coming up with a special kid's oriented language for your SimCity/Metropolis system and then render it in "blocks".
Cheers
Alan
------------- * Two precursors for DnD programming were in my grad student's -- Mike Travers -- MIT thesis (not quite the same idea), and in the "Thinking Things" parade programming system (again, just individual symbol blocks rather than expressions).
----
From: Don Hopkins Date: Fri, 4 May 2018 00:43:56 +0200 Subject: Re: Blocky + Micropolis = Blockropolis! ;)
I love fondly remember and love Thinkin’ Things 1, but I never saw the subsequent versions!
But there’s a great demo on youtube! https://youtu.be/gCFNUc10Vu8?t=24m58s
That would be a great way to program SimCity builder “agents” like the bulldozer and road layer, as well as agents like PacMan who know how to follow roads and eat traffic!
I am trying to get my head around Snap by playing around with it and watching Jens’s youtube videos, and it’s dawning on me that that it’s full blown undiluted Scheme with continuations and visual macros plus the best ideas of Squeak! The concept of putting a “ring” around blocks to make them a first class function, and being able to define your own custom blocks that take bodies of block code as parameters like real Lisp macros is brilliant! That is what I’ve been dreaming about and wondering how to do for so long! Looks like he nailed it! ;)
Here’s something I found that you wrote about tile programming six years ago.
-Don
Squeak-dev:
http://squeak-dev.squeakfoundation.narkive.com/7ZN0H3vt/etoy...
Etoys, Alice and tile programming ajbn at cin.ufpe.br () 6 years ago
Folks,
I have been trying the new version of Alice <www.alice.org>. It also uses tile programming like Etoys.Just for curiosity, does anyone know the history of Tile Programming? TIA,
Antonio Barros PhD Student Informatics Center Federal University of Pernambuco Brazil
Alan Kay 6 years ago
This particular strand starting with one of the projects I saw in the CDROM "Thinking Things" (I think it was the 3rd in the set). This project was basically about being able to march around a football field and the multiple marchers were controlled by a very simple tile based programming system. Also, a grad student from a number of years ago, Mike Travers, did a really excellent thesis at MIT about enduser programming of autonomous agents -- the system was called AGAR -- and many of these ideas were used in the Vivarium project at Apple 15 years ago. The thesis version of AGAR used DnD tiles to make programs in Mike's very powerful system.
The etoys originated as a design I did to make a nice constructive environment for the internet -- the Disney Family.com site -- in which small projects could make by parents and kids working together. SqC made the etoys ideas work, and Kim Rose and teacher BJ Conn decided to see how they would work in a classroom. I thought the etoys lacked too many features to be really good in a classroom, but I was wrong. The small number of features and the ease of use turned out to be real virtues.
We've been friends with Randy Pausch for a long time and have had a number of outstanding interns from his group at CMU over the years. For example, Jeff Pierce (now a prof at GaTech) did SqueakAlice working with Andreas Raab to tie it to Andreas' Balloon3D. Randy's group got interested in the etoys tile scripting and did a very nice variant (it's rather different from etoys, and maybe better).
Cheers,
Alan
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 ProgrammingLogo 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).The page http://www.donhopkins.com/drupal/node/140 links to http://www.donhopkins.com/home/taxonomy.pdf which is returning as "Not Found".
Would I be right in assuming this is the paper: http://sites.fas.harvard.edu/~ext12366/readings/schmucker.pd...
It says "Work in Progress". Was your copy the same? Any idea if he finished it?
Oops, I moved that to a sub-directory, and it's the same as the one you found. And I put up a copy of the Fabrik paper that Alan sent me. Also be sure to check out Chaim Gingold's Gadget Background Survey that he wrote at HARC in 2017, which is much more up-to-date and comprehensive!
http://www.donhopkins.com/home/documents/taxonomy.pdf
http://www.donhopkins.com/home/Fabrik%20PE%20paper.pdf
http://chaim.io/download/Gingold%20(2017)%20Gadget%20(1)%20S...
----
On 20 May 2018, at 10:08, Alan Kay wrote:
Hi Don
I recall "swiped pie menus" being used at Apple in the mid-80s (ca 86) in the Fabrik visual language project. I'm pretty sure that the invention of this UI at Apple was done by Dan Ingalls. I've attached one of the Fabrik papers that mentions this idea.
You will probably want to include this in your retrospective history of the the idea.
Cheers
Alan
----
From: Don Hopkins Sent: Sunday, May 20, 2018 9:53 AM Subject: Re: Ready to publish "Pie Menus: A 30 Year Retrospective"
Thank you! I remember hearing the name Fabrik mentioned somewhere, but never found much to read about it so I don’t know much about it.
I’ll read up on it and integrate it into my article!
https://medium.com/@donhopkins/pie-menus-936fed383ff1
I really enjoyed this paper “A Taxonomy of Simulation Software: A work in progress” from Learning Technology Review by Kurt Schmucker at Apple. It covered many of my favorite systems.
http://donhopkins.com/home/documents/taxonomy.pdf
It reminds me of the much more modern an comprehensive "Gadget Background Survey" that Chaim did at HARC, which includes your favorites Rockey’s Boots and Robot Odyssey, and his amazing SimCity Reverse Diagrams and lots of great stuff I’d never seen before:
http://chaim.io/download/Gingold%20(2017)%20Gadget%20(1)%20S...
I've also been greatly inspired by the systems described in the classic books “Visual Programming” by Nan C Shu, and “Watch What I Do: Programming by Demonstration” edited by Alan Cypher. Brad Myers wrote several articles in that about his stuff, like Peridot and Garnet (which I briefly worked on with him at CMU, and was very cool, but needed a bit more right brain graphic design if you know what I mean ;). To paraphrase Rumsfeld, "As you know, you go to screen with the graphics API you have, not the graphics API you might want or wish to have at a later time."
-Don
Thanks!
Thank you for sharing all these emails!
For anyone else, Alan Kay is one of the most creative and interesting of the early computer pioneers. He was a major figure at Xerox PARC, and if you want to read more, a lot of that story is covered in Dealers of Lightning by Michael Hiltzik.
BTW, here is my C compiler for Human Resource Machine mentioned: https://github.com/kyberias/HRMC
:)
I actually have the original box and disk on a shelf.
such great memories!!!!
Wow, I spent so much time on this game. The minecraft of its era.
OMG! I have been looking for this for years (edit: decades!!) but didn't know the name of it! THANK YOU! THANK YOU! THANK YOU! THANK YOU! THANK YOU! THANK YOU! THANK YOU! THANK YOU! THANK YOU! THANK YOU! I am so happy!!
:D
Funny, I just ran this on an Apple for someone who wanted to experience it.
The intro is pure magic.
Gosh I played this so much as a kid. Got pretty far all on my own.
Somehow I'm dumber as an adult. :D
I cannot recommend this enough. I loved playing this with my dad when I was a kid.
does anyone know the name of the black and white adventure game on macintosh with a mouse and cheese?