DonHopkins on Dec 28, 2019 | parent | context | favorite | on: Robot Odyssey (1984)
Dag nabbit dang, you beat me to it! That 2018 thread about Robot Odyssey Online had a link to a Slate article mentioned some stuff about Alan Kay's high regard for Robot Odyssey, who somebody quoted, then he posted a correction to the article himself, and I posted some other discussions about it with him as well (and some links to other papers about related stuff by Chaim Gingold, Kurt Schmucker, and Dan Ingalls). Robot Odyssey was brilliant and waaaay before its time, and as Alan Kay said: Warren Robinette is a very special designer! He was the creator of one of the first known easter eggs in a video game: Atari Adventure, released in 1979 on the Atari 2600.
(I happen to be wearing my Factorio t-shirt right now! That's another robophilic game too, notoriously known as "programmer crack".)
>nlawalker on June 29, 2018 [-]
>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.
>alankay1 on June 29, 2018 [-]
>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.)
>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 Eto...
Hi Don, do you know if this ever happened (I think it's from the 2007 email - but tough to say for sure given above formatting)?
> (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?)
Man, I played so much of Adventure in my Atari 2600 that I had dreams of this game. I dreamt that I was playing levels that didn't exist. It was fascinating at the time. It was a unique experience, almost psychedelic :D
> Crowther had written his Adventure program in FORTRAN
I got my first insight into object oriented programming with ADVENT. Buried in the source was the line "A TROLL IS A MODIFIED DWARF". I was gobsmacked.
After some experimentation, I hypothesized that there was a troll flag in Zork, and once I finally discovered the source code decades later, I found out there actually was, called "TROLL-FLAG!-FLAG"!
DonHopkins on June 23, 2022 | parent | context | favorite | on: Random Ultima Online anecdote #2 – Horses inside p...
My favorite object containment related ZORK bug (which I discovered in the origin ZORK on MIT-DM, but which persisted in the InfoCom version), involves the troll holding an axe, blocking the door to the depths of the dungeon, who eats anything you give to him:
>GIVE AXE TO TROLL
The troll, who is not overly proud, graciously accepts the gift
and not having the most discriminating tastes, gleefully eats it.
The troll, disarmed, cowers in terror, pleading for
his life in the guttural tongue of the trolls.
To have killed him in cold blood then would have been cruel, so I tried something else:
>GIVE TROLL TO TROLL
The troll, who is not overly proud, graciously accepts the gift
and not having the most discriminating tastes, gleefully eats it.
POOF! No more troll!
(I've actually been able to successfully apply this technique of giving HN trolls their own weapons (quoting their own words back to them), then giving them to themselves (pointing them back to their previous posts), to make them disappear from HN!)
But giving the troll to itself triggered another bug, because apparently it forgot to clear the TROLL flag, so you could still not leave the room, because when you tried to go through the exit the troll previously blocked, it said that "The troll fends you off with a menacing gesture." even though there was no troll in the room.
Decades later I finally found the Zork source code, and it turns out there was actually a troll flag called "TROLL-FLAG!-FLAG" that it forgot to clear, which the exit depended on.
I wrote up the bug in more details, with links to the source code:
Is it OK to link to that source code from Wikipedia? I don't know who officially owns it, though. It was never a commercial product, and was developed at MIT. As the Zork article mentions, the Zork source code was leaked way back in 1977, so the cat's been out of the bag for a long time. A link to the actual source code would be a nice thing to cite in that section.
It is fascinating to read, and really beautiful code, quite understandable even if you don't know MDL, and practically a form of literature.
I played the original Zork on MIT-DM and also the Infocom versions of course. Reading the source code is like seeing the behind-the-scenes underground rooms and passages at Disneyland!
While I was playing Zork, I found a bug. First some context: when you're battling the troll, you can give things to him, and he eats them! Sometimes he drops his axe, and you can pick it up and kill him with it. He blocks the exi...
Another thing I liked about the ADVENT FORTRAN code is it would detect if its static tables were initialized or not. If not, it would initialize the statics, and then write the executable out overwriting the executable. Then, the next time it ran, it was already initialized!
I used this trick in my editor in 80s. It didn't have a configuration file, one just set ones configuration in the editor, then hit a command to rewrite the executable. It worked like a champ! This greatly speeded up load times for the editor as doing a file lookup for the configuration file on a floppy disk was very slow.
Sadly, this all ended when the operating system would shut down an executable that attempted to modify itself as "malware".
There was a FORTRAN version of ZORK (aka DUNGEON) by Bob Supnik at DEC, which was limited in some ways compared to the MDL version, but also had a "GDT" debug mode where you could inspect and control things like the thief and the troll and the cyclops and the robot.
I think you could tell them to perform commands, even become one of them, or have them pick you up and carry you around. I have a vague memory of being carried around by a robot in Zork, but I can't remember which version, or if that was part of the game or GDT. Something like "ROBOT, TAKE ME". Then it could carry you places you couldn't walk to yourself.
Bob Supnik started translating ZORK to FORTRAN in 1977, and published it on the DECUS tape library in 1978.
You could type "GDT" at any time and it would go:
A booming voice calls out, "Who summons the right hand of the translator?
State your name, cat, and serial number!"
SUPNIK,BARNEY,70524
At your service!
GDT>
“Barney” was Supnik’s cat; 70524 his DEC badge number.
>GDT dates from a very early version of the game, in fact, before the
game was actually finished. I realized early on that debugging an
interactive program with the traditional PRINT statements was going to
be very cumbersome, and that the interactive debug tools of the day
(1978) had no se...
I wish I knew which version of ADVENT was the one I looked at. All I recall is it was in FORTRAN circa late 70s, and it ran on the univeristy PDP-10 (which meant it was FORTRAN-10).
Spacewar! was not the first video game ever. Before it in 1958 came Tennis for Two and even before that, in 1952 Christopher Strachey made Draughts. [1]
What Spacewar! can be considered, as per wiki [2] is one of the first recognized video games that enjoyed wider distribution behind a single exhibition system.
11 comments
[ 2.8 ms ] story [ 40.3 ms ] threadhttps://news.ycombinator.com/item?id=21896227
Including:
https://news.ycombinator.com/item?id=21897355
dang on Dec 28, 2019 | parent | context | favorite | on: Robot Odyssey (1984)
A thread from 2018: https://news.ycombinator.com/item?id=17421175
2014: https://news.ycombinator.com/item?id=7118649
DonHopkins on Dec 28, 2019 | parent | context | favorite | on: Robot Odyssey (1984)
Dag nabbit dang, you beat me to it! That 2018 thread about Robot Odyssey Online had a link to a Slate article mentioned some stuff about Alan Kay's high regard for Robot Odyssey, who somebody quoted, then he posted a correction to the article himself, and I posted some other discussions about it with him as well (and some links to other papers about related stuff by Chaim Gingold, Kurt Schmucker, and Dan Ingalls). Robot Odyssey was brilliant and waaaay before its time, and as Alan Kay said: Warren Robinette is a very special designer! He was the creator of one of the first known easter eggs in a video game: Atari Adventure, released in 1979 on the Atari 2600.
(I happen to be wearing my Factorio t-shirt right now! That's another robophilic game too, notoriously known as "programmer crack".)
>nlawalker on June 29, 2018 [-]
>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.
>alankay1 on June 29, 2018 [-]
>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.)
>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 Eto...
> (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?)
https://store.atariage.com/products/adventure-plus-atari-260...
I got my first insight into object oriented programming with ADVENT. Buried in the source was the line "A TROLL IS A MODIFIED DWARF". I was gobsmacked.
https://github.com/itafroma/zork-mdl
https://news.ycombinator.com/item?id=31846457
DonHopkins on June 23, 2022 | parent | context | favorite | on: Random Ultima Online anecdote #2 – Horses inside p...
My favorite object containment related ZORK bug (which I discovered in the origin ZORK on MIT-DM, but which persisted in the InfoCom version), involves the troll holding an axe, blocking the door to the depths of the dungeon, who eats anything you give to him:
To have killed him in cold blood then would have been cruel, so I tried something else: POOF! No more troll!(I've actually been able to successfully apply this technique of giving HN trolls their own weapons (quoting their own words back to them), then giving them to themselves (pointing them back to their previous posts), to make them disappear from HN!)
But giving the troll to itself triggered another bug, because apparently it forgot to clear the TROLL flag, so you could still not leave the room, because when you tried to go through the exit the troll previously blocked, it said that "The troll fends you off with a menacing gesture." even though there was no troll in the room.
Decades later I finally found the Zork source code, and it turns out there was actually a troll flag called "TROLL-FLAG!-FLAG" that it forgot to clear, which the exit depended on.
I wrote up the bug in more details, with links to the source code:
https://news.ycombinator.com/item?id=19672436
DonHopkins on April 16, 2019 | prev | next [–]
I wrote some comments on the Wikipedia Zork talk page:
https://en.wikipedia.org/wiki/Talk:Zork/Archive_1#h-Link_to_...
Link to the original Zork source code in MDL
I suggest linking to the original Zork source code in MDL which is available here:
http://retro.co.za/adventure/zork-mdl/
Is it OK to link to that source code from Wikipedia? I don't know who officially owns it, though. It was never a commercial product, and was developed at MIT. As the Zork article mentions, the Zork source code was leaked way back in 1977, so the cat's been out of the bag for a long time. A link to the actual source code would be a nice thing to cite in that section.
It is fascinating to read, and really beautiful code, quite understandable even if you don't know MDL, and practically a form of literature.
I played the original Zork on MIT-DM and also the Infocom versions of course. Reading the source code is like seeing the behind-the-scenes underground rooms and passages at Disneyland!
While I was playing Zork, I found a bug. First some context: when you're battling the troll, you can give things to him, and he eats them! Sometimes he drops his axe, and you can pick it up and kill him with it. He blocks the exi...
Another thing I liked about the ADVENT FORTRAN code is it would detect if its static tables were initialized or not. If not, it would initialize the statics, and then write the executable out overwriting the executable. Then, the next time it ran, it was already initialized!
I used this trick in my editor in 80s. It didn't have a configuration file, one just set ones configuration in the editor, then hit a command to rewrite the executable. It worked like a champ! This greatly speeded up load times for the editor as doing a file lookup for the configuration file on a floppy disk was very slow.
Sadly, this all ended when the operating system would shut down an executable that attempted to modify itself as "malware".
https://github.com/bobbae/gosling-emacs/blob/master/unexec.c
There was a FORTRAN version of ZORK (aka DUNGEON) by Bob Supnik at DEC, which was limited in some ways compared to the MDL version, but also had a "GDT" debug mode where you could inspect and control things like the thief and the troll and the cyclops and the robot.
I think you could tell them to perform commands, even become one of them, or have them pick you up and carry you around. I have a vague memory of being carried around by a robot in Zork, but I can't remember which version, or if that was part of the game or GDT. Something like "ROBOT, TAKE ME". Then it could carry you places you couldn't walk to yourself.
Bob Supnik started translating ZORK to FORTRAN in 1977, and published it on the DECUS tape library in 1978.
You could type "GDT" at any time and it would go:
“Barney” was Supnik’s cat; 70524 his DEC badge number.Zork Fortran Sources:
https://github.com/historicalsource/zork-fortran
GDT Sources:
https://github.com/historicalsource/zork-fortran/blob/master...
It had commands like:
Gunkies Zork info:https://gunkies.org/wiki/Zork
GDT Command:
https://gunkies.org/wiki/Zork#The_GDT_command
>GDT dates from a very early version of the game, in fact, before the game was actually finished. I realized early on that debugging an interactive program with the traditional PRINT statements was going to be very cumbersome, and that the interactive debug tools of the day (1978) had no se...
Thanks for the fun information you posted!
Spacewar! was not the first video game ever. Before it in 1958 came Tennis for Two and even before that, in 1952 Christopher Strachey made Draughts. [1]
What Spacewar! can be considered, as per wiki [2] is one of the first recognized video games that enjoyed wider distribution behind a single exhibition system.
[1] https://www.youtube.com/watch?v=uHQ4WCU1WQc
[2] https://en.wikipedia.org/wiki/History_of_video_games