Slashdot Mirror


Futureproofing Artifacts: Spacewar! 1962 In HTML5

trebonian writes "In 1997 we posted a playable version of the Spacewar!, the first graphical computer game. Spacewar! was written by Russell et al at MIT in the early '60s. We did not re-implement the game. Rather, we found the original source code, rebuilt it to get an authentic binary and ran it on a PDP-1 emulator that we wrote in Java. We chose Java to implement the PDP-1 because we believed at the time — correctly as it turned out — that a Java version would survive the browser wars. Also, it would not require any effort to keep it running on all platforms well past the turn of the millennium, and through the traffic peaks of Spacewar's 40th and 45th birthday. It's now getting close to 15 years later. We would not want to bet that in another 15 years a Java program will still run on the latest popular platforms. As a hedge to the future, and in an effort to continue the preservation of this significant digital artifact, we've now ported the PDP-1 emulator to Javascript/HTML5. This should see the game through Spacewar!'s 50th (and hopefully 60th) birthday. Expect another update around 2025."

36 of 175 comments (clear)

  1. First by Shikaku · · Score: 3, Insightful

    Open source software :)

    1. Re:First by abigor · · Score: 3, Informative

      It is not the first open source software. Source was routinely released by IBM as far back as the 1950s. The SHARE user group was formed in the mid-50s for this very reason. Maybe you were modded down for being wrong, rather than offtopic.

    2. Re:First by j00r0m4nc3r · · Score: 2

      First-open-source-space-game-that-runs-on-a-PDP-1-that-would-later-be-emulated-on-Java

  2. Flash? by Anonymous+Cowar · · Score: 2, Insightful

    Netcraft confirms it! Flash is dead!

    Despite that 90% of the earliest net memes are still perfectly playable today due to their SWF composition, it's interesting that they're (indirectly) making the statement that html5 will beat flash. I can see why, flash is a bloated, update happy, buggy, insecure beast of a program, sort of like java through the years.

    1. Re:Flash? by realityimpaired · · Score: 3, Insightful

      Despite that 90% of the earliest net memes are still perfectly playable today due to their SWF composition

      All your base are belong to badger badger badger, who thinks it may not be a bad thing that every time you masturbate, god kills a meme....

  3. And then they got free by BigSlowTarget · · Score: 4, Interesting

    Bah - now they've let those little spaceships out on the web. At least you can use them to kill adds - http://erkie.github.com/

  4. Get off my lawn! by Auroch · · Score: 3, Insightful

    Now, if only we could force the current generation to play this for a few hours before complaining that I need to buy a PS3 because their xbox 360 isn't good enough...

    --
    Quartz Extreme and Core Image. Are there any other real reasons to spend all that money on generic hardware?
    1. Re:Get off my lawn! by R3d+M3rcury · · Score: 2

      I was able to grasp the limits of the whole game in under half a minute.

      I suppose I played a later Spacewar. Back when I was a kid--must've been about 10 or so--the local college had a PDP-9 with a paper-tape for Spacewar. Feed in the papertape and start flipping the switches to customize. And customize you could--gravity/no gravity, computer player, warp/no warp, warp-star/no warp-star, up to three human players, partial damage, and I'm sure there were a few more.

      I remember playing it for about six hours straight--two human ships against the computer (which was very good). I absolutely loved that game.

      A year or two later, the college basically said that they would give away the PDP-9 to anybody who would haul it away. I was desperately called my Dad and have him come pick it up. He just laughed and someone else eventually snapped it up that day.

      ...Among the saddest days of my life.

    2. Re:Get off my lawn! by Ginger+Unicorn · · Score: 2

      If you don't see how that's doing it right, you're doing it boring.

      --
      (1.21 gigawatts) / (88 miles per hour) = 30 757 874 newtons
  5. Futureproofing via HTML5/JavaScript? Really??? by johnthorensen · · Score: 4, Insightful

    To say that JVMs won't exist for current platforms 15 years hence is a bit of a stretch, I think. On the other hand, HTML5/JavaScript (implementations, not the standard) is such a moving target that I wouldn't count on code written for it being able to run in a few years, much less a decade-and-a-half later. Still a cool hack, but the reason given is kinda lame.

  6. Emulator? Whaddya need an emulator for? by Tackhead · · Score: 2

    Get a 10 on the Cool Meter!

    If an emulator, however cool, gets a 10, then Steve "Slug" Russell playing it last month on the original hardware at the Computer History Museum, definitely goes to eleven.

  7. Asteroids by screwzloos · · Score: 2

    I see a striking resemblance between this and Atari's original 1979 Asteroids. I am curious how it took eighteen years to make that progress, though. Surely academia wasn't that far ahead of mainstream entertainment... or was it?

    1. Re:Asteroids by wbean · · Score: 2

      The problem was the hardware. Individuals couldn't afford a PDP 1. My first personal computer was an Apple II in 1981 and it cost $6,000, real money then. Universities had computers and the ones in science labs got used for all sorts of cool things.

    2. Re:Asteroids by BLToday · · Score: 2

      because it took 18 years of computer progress to go from a computer that cost $120,000 (in 1960 money) to $3,000? (1979 money) for the arcade cabinet. I'm guessing on the price of the arcade cabinet because they were usually $3,000 to $5,000 back in the 1990s.

    3. Re:Asteroids by QuantumLeaper · · Score: 2

      How about Galaxy Game http://infolab.stanford.edu/pub/voy/museum/galaxy.html it was the first Arcade game. The source is even available at http://code.google.com/p/galaxygamepdp11/

      Price was only about $20,000 per unit in the early 70s. I guess that why it never really sold.

    4. Re:Asteroids by Colin+Douglas+Howell · · Score: 5, Informative

      As previous replies have pointed out, advances in hardware were key. In 1962, integrated circuits were still in their infancy. They had only been invented four years earlier, and the only ones in production were being built for U.S. military projects like the Minuteman nuclear ballistic missile. And even those were very small-scale circuits, with only a few logic gates per chip.

      Computers like the PDP-1 were built using thousands of discrete transistor components for their logic and magnetic cores for their main memory. The price for a basic PDP-1 at that time was around $100,000 in 1962 dollars, equivalent to about $800,000 today. That's a *basic* system; the point-plotting CRT display used in Spacewar! would have added quite a bit to the cost. The machine with all its peripherals took a good fraction of a room and probably weighed at least 2000 pounds. And running Spacewar! pretty much consumed the PDP-1's entire processing power. (Since the display was point-plotting only, the spaceships had to be drawn as series of dots, and the display had no storage ability, so a lot of processing overhead was needed to constantly refresh the entire list of currently displayed dots.)

      When Spacewar! was written, the video game was basically a science-fiction concept, and computer graphics itself was just beginning to develop. Arcade games at that time were purely electromechanical games, such as pinball. The first commercial arcade video games (Galaxy Game and Computer Space, both of which were ports of Spacewar!) didn't appear until 1971; Atari's Pong came out the following year. Arcade video games of the early 1970s used custom state machines built from TTL logic chips instead of programmed computer systems; the first microprocessor-based arcade video games appeared starting in 1975 with Taito's Gun Fight, which used the Intel 8080. It was those programmable microprocessor-based systems that really allowed video game development to take off; for example, Asteroids was based on a 6502. Incidentally, Asteroids' vector display system first appeared in an arcade game with Cinematronics' Space Wars in 1977.

      Spacewar! was widely ported to various computer systems during the 1960s and 1970s, so it's no surprise that Asteroids bears a strong resemblance to it.

  8. Re:Bah! by taktoa · · Score: 2

    First link is goatse. Do not click! Second link is O.K.

  9. A cool game to play. by mbone · · Score: 5, Interesting

    I played this at MIT - the setting was as cool as the game. Go down an alley, into a freight elevator, up to the top floor, where the elevator opens into a computer room, and play at the console. It felt like the game was embedded in a James Bond movie.

    1. Re:A cool game to play. by Frequency+Domain · · Score: 2

      Yeah, my roommate used to sneak us in to play it. We were blown away that such things could be rendered in real-time. It' still pretty awesome given the hardware limitations of the time.

    2. Re:A cool game to play. by mbone · · Score: 2

      There was (mid to late 1970's) also a version of Dungeons and Dragons written in PL/1 (!) that was on at least one of the MIT mainframes. I have often wondered who wrote that and what has happened to it.

  10. Benchmark? by hawguy · · Score: 4, Interesting

    How does the speed of this Javascript emulator (on a typical PC) compare to the original hardware PDP-1?

    1. Re:Benchmark? by hawguy · · Score: 3, Informative

      I found some more information about the PDP-1, and it looks like it could complete 200K operations/second (100K multiplies).

      It cost $120K in 1960, or around $900K in today's dollars.

      I still don't know how fast the emulator is, but I bet it's faster than the original.

  11. Why not port to C by martin-boundary · · Score: 2

    If you port the emulator to plain vanilla ANSI C, then it should still run in 100 years unchanged.

    1. Re:Why not port to C by Jeremi · · Score: 4, Informative

      How do your port an emulator with graphics capabilities to plain vanilla ANSI C? C doesn't include any graphics API.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    2. Re:Why not port to C by Jorl17 · · Score: 2

      Yes, yes it is! Suckers just don't get how to RUN applications, they think that they can "RUN" the Internet...

      --
      Have you heard about SoylentNews?
    3. Re:Why not port to C by QuantumLeaper · · Score: 3, Interesting

      MESS http://www.mess.org/ already has a PDP-1 emulator, it's currently in C.

  12. Not to be confused with SPACWR by 0111+1110 · · Score: 2

    As a preteen in the late 70s I played a game that I remember as SPACWR on a friend's DEC PDP-11. My friend and I played for hours and thought it was great fun. It was really an ASCII Star Trek game originally written by Mike Mayfield in 1971 in BASIC and then translated into DEC BASIC by David Ahl who gave it the confusing name so similar to the game discussed here.

    Here's another link for the curious.
    http://www.dunnington.u-net.com/public/startrek/

    --
    Quite an experience to live in fear, isn't it? That's what it is to be a slave.
  13. Re:Futureproofing via HTML5/JavaScript? Really??? by sapgau · · Score: 3, Insightful

    I agree, I rather take my chances with a modern JVM and probably apply some fixes than have it completely broken for an unknown version of javascript and whatever the browsers of the future will think what HTML5 should look.

  14. Didn't have a PDP1 (or PDP 8 either) by Anonymous Coward · · Score: 2, Interesting

    When I was in college (starting fall 1969), we took the original math and programmed an IBM 360 to print out a gravity map that could be pasted on posterboard/cardboard.

    Then we played off of that.

    The program got rewritten for a PDP-10, in interactive mode for use on graph paper (and one test version on a Techtronics 4010 graphics terminal).

    It was the first programe to be banned by the computer center.

  15. Just keep emulating by Superdarion · · Score: 2

    So they wrote a PDP-1 emulator for java. Maybe they should keep building emulators to run the last emulator on a newer system. Repeat ad infinitum and you never have to know more than 2 languages at a time in order to preserve it.

    1. Re:Just keep emulating by Fex303 · · Score: 2

      Because everything can be emulated in Logo?

      Actually, does anyone know if Logo is Turing Complete?

  16. Re:Futureproofing via HTML5/JavaScript? Really??? by Bacon+Bits · · Score: 2

    I would say it's more a vote of confidence in the ability of Oracle to mismanage Java into obscurity rather than any real confidence in JavaScript's longevity.

    --
    The road to tyranny has always been paved with claims of necessity.
  17. C will live forever by mangu · · Score: 2

    If you port the emulator to plain vanilla ANSI C, then it should still run in 100 years unchanged.

    My thoughts exactly.

    What makes C so great is that it was born the way it is and does not change. I have been programming in C for about 25 years now and the first programs I wrote still compile and run unchanged today.

    Compare this with other languages: Fortran, PHP, Perl, Python, all have gone through major redesigns from version to version. Moving a program from version n to version (n+1) means redesign, retesting, endless debugging.

    I have been programming a lot in Python recently, but if I have to port a program from Python 2 to Python 3 I'd rather port it to C instead. Just think of checking every single division in every formula I ever used to see if I have to change '/' to '//' or not.

    I don't want to do all that work again when Python 4 comes.

  18. Re:Futureproofing via HTML5/JavaScript? Really??? by GameboyRMH · · Score: 2

    The Windows version now uninstalls old versions before updating. The real problem with installing Java is the security issues if you're running a browser that allows all scripts.

    --
    "When information is power, privacy is freedom" - Jah-Wren Ryel
  19. bloatware by Disoculated · · Score: 2

    And, because it's in Java in a browser, it's running choppy on my 4 core i7 with 12gb of ram. Kudos, you've made a pdp game bloated and unplayable.

  20. Re:Futureproofing via HTML5/JavaScript? Really??? by VolciMaster · · Score: 2

    I would say it's more a vote of confidence in the ability of Oracle to mismanage Java into obscurity rather than any real confidence in JavaScript's longevity.

    As bad as Oracle is going to screw the official Java pooch, the other branches will continue for years - there's simply too much invested in the platform to wholesale (or even halfsale) switch