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."

175 comments

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

    Open source software :)

    1. Re:First by the_humeister · · Score: 1

      No kidding. It's already future-proof by virtue that it's open source.

    2. Re:First by Shikaku · · Score: 1

      I like how it was modded off-topic when it actually is the first open source software. The source code wasn't released until later, on paper, but it's the earliest software that's open source.

    3. 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.

    4. Re:First by Shikaku · · Score: 1

      :( first open source game?

    5. Re:First by trentblase · · Score: 1

      I wish they would have just future proofed java by porting it to html5. Then they wouldn't have to rewrite their pdP-1 emulator. Plus, according to inception the whole thing would end up running faster.

    6. Re:First by by+(1706743) · · Score: 1

      Plus, according to inception the whole thing would end up running faster.

      Yeah, but if it crashes, you die...

    7. Re:First by Anonymous Coward · · Score: 0

      Then HTML5 would become a pile of security holes.

    8. Re:First by Keeper+Of+Keys · · Score: 1

      I know this was a joke at the expense of Java, but surely if it's possible to write a security-hole-ridden port of anything in HTML5 then HTML5 must have such holes all by itself?

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

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

    10. Re:First by Samantha+Wright · · Score: 1

      Hardly. It's quite trivial to add security holes thanks to XmlHttpRequest.

      --
      Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
    11. Re:First by Keeper+Of+Keys · · Score: 1

      I assumed the GP was referring to a leaky browser sandbox rather than your common-or-garden XSS issues.

    12. Re:First by boxwood · · Score: 1

      And get sued by Oracle.

  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....

    2. Re:Flash? by dakameleon · · Score: 1

      Either (1) There must be a whole lot of self-love abstination, or (2) there's a whole lotta memes that never see the light of morning...

      --
      Man who leaps off cliff jumps to conclusion.
    3. Re:Flash? by Anonymous Coward · · Score: 0

      Who paid Netcraft to reach this conclusion? And in 3 weeks when someone pays them to make the opposite conclusion, what then?

    4. Re:Flash? by Anonymous Coward · · Score: 0

      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....

      Then all the memes would have been gone in the 90's.

    5. Re:Flash? by Anonymous Coward · · Score: 0

      Flash ATE MY BALLS.

    6. Re:Flash? by msauve · · Score: 1

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

      Single White Female composition? This is /. That's not playable here.

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    7. Re:Flash? by Grismar · · Score: 0

      Dawkins crawls into the ground and turns in what may once become his grave every time he sees the word meme applied to what are essentially just fads.

    8. Re:Flash? by Kilrah_il · · Score: 1

      Memes, fads, it's all just catchphrases to me.

      --
      Whenever in an argument, remember this.
    9. Re:Flash? by VolciMaster · · Score: 1

      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.

      Carrying your comparison to its logical conclusion, Flash will become a secure beast as Java has through the years.

    10. Re:Flash? by jivika · · Score: 1

      or maybe they just want to make sure they can play it on their iphones... i know my company is considering moving away from flash just because of the lack of support from apple.

    11. Re:Flash? by mcrbids · · Score: 1

      You think flash is bloated, update happy, buggy and insecurely beastly now? Just wait until it's ported to javascript as an emulator!

      --
      I have no problem with your religion until you decide it's reason to deprive others of the truth.
    12. Re:Flash? by biovoid · · Score: 1

      I can see why, flash is a bloated, update happy, buggy, insecure beast of a program, sort of like java through the years.

      That may be true, but so far every performance comparison shows that HTML5 is slower, performs worse and consumes more power than Flash. So if you hate Flash, prepare to hate HTML5 even more. Oh - and you won't be able to block HTML5 like you can with Flash.

  3. Cool by bfmorgan · · Score: 1

    Get a 10 on the Cool Meter!

    --
    I hope this caused some synapses to fire.
  4. 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/

    1. Re:And then they got free by Mr.+Slippery · · Score: 1

      http://erkie.github.com/

      That is the coolest thing I've seen this week. Kudos to young Mr. Andersson.

      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood
    2. Re:And then they got free by Anonymous Coward · · Score: 0

      Found an "easter egg" on /.
      Shoot the story icons!

  5. HTML 5 approval timeframe by babaloo · · Score: 1

    HTML 5 may not be approved by 2025 so they won't have to re-write it!

  6. Natural Selection in the Informtion Age by Anonymous Coward · · Score: 1

    There is a growing concern among some knowledge managers that society will lose a lot of its heritage as information formats change.
    The expense and expertise required to move things from paper to micro fische to CD to .... ???? is a very costly and time consuming exercise - assuming you can even get the spare parts as technology advances and factories no longer produce them.

    So is HTML 5 our saviour in this matter?

    Time will tell I guess.

    1. Re:Natural Selection in the Informtion Age by AmonTheMetalhead · · Score: 1

      No. Live data however, is pretty safe, data that is in constant use will survive format shifts because they have to, so the data mined by add companies on you will survive, that movie of your cat will probably not survive unless you as the author make sure it does.

      You see, it's not only the file formats that change, if you use open standards you might be pretty safe, it's also the storage mediums that change. Having lived through the C64 and Amiga data, i have managed to preserve some data from those days, but a lot was lost, partially because the data was not considered valuable, but that data is gone forever...

  7. props by Anonymous Coward · · Score: 0

    Great win for the community.

  8. 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 rolfwind · · Score: 1

      Why? I played it a few minutes. I'm not especially young, but it was rather boring, and I was able to grasp the limits of the whole game in under half a minute.

    2. Re:Get off my lawn! by Anonymous Coward · · Score: 0

      Why? I played it a few minutes. I'm not especially young,

      Nice try, punk. Now get off his lawn.

    3. Re:Get off my lawn! by Rob+the+Bold · · Score: 1

      Why? I played it a few minutes. I'm not especially young, but it was rather boring, and I was able to grasp the limits of the whole game in under half a minute.

      Like checkers, it's better with an opponent.

      --
      I am not a crackpot.
    4. Re:Get off my lawn! by d6 · · Score: 1

      I played it for a bit too and was impressed with how well it would have held up against the ATARI 2600 crop of games 20 years down the road. Some of those really stunk

    5. 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.

    6. Re:Get off my lawn! by Auroch · · Score: 1

      Why? I played it a few minutes. I'm not especially young, but it was rather boring, and I was able to grasp the limits of the whole game in under half a minute.

      Like checkers, it's better with an opponent.

      Or sex...

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

      if you call them your opponent, you're doing it wrong

      (or you should take a seat over here)

    8. Re:Get off my lawn! by Anonymous Coward · · Score: 0

      I've heard it is the same with sex. Who knows...

    9. Re:Get off my lawn! by pinkushun · · Score: 1

      Don't take for granted, the first graphical PC game :-)

      What do we even compare it with? It's a more prominent leap than CD was to DVD, SD to DDR, CRT to LCD, or even Windows to Linux (*ducks and covers*) he he

    10. Re:Get off my lawn! by Kilrah_il · · Score: 1

      No chance in hell am I sitting next to you. Pervert!

      --
      Whenever in an argument, remember this.
    11. 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
    12. Re:Get off my lawn! by Johann+Lau · · Score: 1

      if you really think that's true, that just means you can't love even while having sex in a non-boring way... and guess what, that's pretty much you and a bunch of other shriveled, deprecated hearts :P

    13. Re:Get off my lawn! by Darinbob · · Score: 1

      I don't think anyone was trying to promote this as the greatest computer game ever.

    14. Re:Get off my lawn! by operagost · · Score: 1

      Hey, it could have been worse. He could have picked it up, then stuck you with next month's electric bill!

      --

      Gamingmuseum.com: Give your 3D accelerator a rest.
    15. Re:Get off my lawn! by rolfwind · · Score: 1

      I was under impression PCs were invented many years later, in the 80s.

    16. Re:Get off my lawn! by Unequivocal · · Score: 1
    17. Re:Get off my lawn! by Ginger+Unicorn · · Score: 1

      that just means you can't love even while having sex in a non-boring way..

      No it doesn't. That's just a lack of imagination.

      --
      (1.21 gigawatts) / (88 miles per hour) = 30 757 874 newtons
    18. Re:Get off my lawn! by Johann+Lau · · Score: 1

      But apparently you can't imagine loving in a wild, actually exhausting way without there being some aggression to it? Hence my saying that don't actually know actual "loving lust" or however you would want to call it (I DO mean things that require putting on a helmet, not just cuddling..). And I say, and still think, that because FOR ME, there is no turning back from the fullness of it, and what you are describing is just a sad little shadow of that.

      Normally I wouldn't care, but if you feel the need to tell someone who thinks the idea of being enemies during sex is silly, that they only know the boring kind, well, you're kinda putting yourself on the line there. I neither lack the imagination nor the experience to call that, sorry.

  9. 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.

  10. 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.

  11. 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: 1

      My computer was a C64 in October of 1984, and cost me $250, real money....

    4. 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.

    5. Re:Asteroids by Anonymous Coward · · Score: 0

      I still have the orginal arcade cabinet in my basement, It's still a classic.

    6. 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.

    7. Re:Asteroids by Anonymous Coward · · Score: 0

      Thank you for a very informative post, free of the usual Space Nutter dreck that "computers only exist because of the Space Race to the Moon". Good to know some people can still think clearly these days. A good grasp of the history of technology (and the actual driving forces behind most of it: war, business and fun) is sadly lacking among the nerds for some reason.

    8. Re:Asteroids by bennomatic · · Score: 1

      You must have gotten the one some crack-head stole from me, because in 1984, they cost $599 (undercutting the Apple IIe by $67).

      --
      The CB App. What's your 20?
    9. Re:Asteroids by Anonymous Coward · · Score: 0

      ZOMG... Your first computer was an Apple II in 1981 and you've got a 6-digits /. ID !?

    10. Re:Asteroids by Kilrah_il · · Score: 1

      Right next to your bed? /rimshot

      --
      Whenever in an argument, remember this.
    11. Re:Asteroids by corbettw · · Score: 1

      Yes, it's true, Apple hardware has been overpriced since the beginning.

      --
      God invented whiskey so the Irish would not rule the world.
    12. Re:Asteroids by Anonymous Coward · · Score: 0

      My first computer was a ZX81 sometime in 1981-1982 (sorry, I was pretty young at the time) and it cost my Dad around $100 +shipping. We did have to assemble it, though :)

    13. Re:Asteroids by Jecel+Assumpcao+Jr · · Score: 1

      That's a *basic* system; the point-plotting CRT display used in Spacewar! would have added quite a bit to the cost.

      Is this correct? I always had the impression that the display was a standard part of the PDP-1 and only became optional in later models.

    14. Re:Asteroids by Colin+Douglas+Howell · · Score: 1

      Well, DEC's PDP-1 sales literature (such as the PDP-1 Handbook scans available here) seems to always list the display among the optional equipment, though it was probably a popular option. The only standard I/O equipment (not counting the front panel) was the console typewriter and the paper tape reader and punch. Seems reasonable, since I'm sure there were some customers who had no need for a CRT.

      However, I overstated things when I said the display "would have added quite a bit to the cost". It only seems to have increased the cost by around 15% or so.

    15. Re:Asteroids by Rich0 · · Score: 1

      Yup, what's $120k between friends (in today's money)?

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

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

  13. 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 Anonymous Coward · · Score: 0

      Me too, the room was pretty crowded in the early 1970's when I played the game, but still a cool place. Some years ago a friend mentioned that he was looking for the button-box controllers (connected by cables) that were added at some point -- they were a lot more convenient than using the front panel switches as shown in the cnet photo of Steve Russell.

    3. 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.

    4. Re:A cool game to play. by Anonymous Coward · · Score: 0

      It was also ported to the Sigma 7 of SDS (later Xerox Data Systems). I recall playing it on the computer at the Cyclotron at Michigan State. There were switches that did what the keys do.

    5. Re:A cool game to play. by trb · · Score: 1
      Maybe you are thinking of Zork?

      http://en.wikipedia.org/wiki/Zork

    6. Re:A cool game to play. by antdude · · Score: 1

      Are there any photographs/photos. and/or videos of this setting? I assume it is not there anymore today. :(

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
    7. Re:A cool game to play. by Anonymous Coward · · Score: 0

      I would take a guess that it eventually morphed into Telengard. I played this game much later when it was ported to the Apple II+, but it is the most DND-like game I ever saw as rogue-like plain text.

          Say's here it was written by Daniel Lawrence in 1976 and ran on a PDP-11 at BOCES Spencerport (New York).

      http://www.aquest.com/telen.htm
      http://en.wikipedia.org/wiki/Telengard

    8. Re:A cool game to play. by SteveFoerster · · Score: 1

      Actually, the game embedded in a James Bond movie was the one called Domination, in Never Say Never Again. And it wasn't in a basement, it was, naturally, in a casino.

      --
      Space game using normal deck of cards: http://BattleCards.org
  14. 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 mbone · · Score: 1

      I don't know about speed, but the weight difference is (was) considerable. The old machine was four full racks and (according to the Computer Museum) ~ 1200 pounds.

    2. Re:Benchmark? by Anonymous Coward · · Score: 0

      And how much does a Javascript emulator weigh?

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

      The emulator runs (slowly) on my Android phone so I guess a Javascript emulator weighs less than or equal to 169 grams.

      (though I can't seem to get the keyboard controls to work - when I press a key, it ends up in the address bar),

    4. 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.

    5. Re:Benchmark? by Nimey · · Score: 1

      As much as a duck!

      --
      Hail Eris, full of mischief...

      E pluribus sanguinem
    6. Re:Benchmark? by Anonymous Coward · · Score: 0

      I bet it's not on my poor UMPC's 1600 MHz Atom -- or else the kids were a lot more tolerant of stuttering gameplay in those days (which, in fairness, they likely were).

    7. Re:Benchmark? by Anonymous Coward · · Score: 0

      try this version with touch controls
      http://ba.net/igames/spacewar/

  15. 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 Anonymous Coward · · Score: 1

      Because C isn't as cool as Web 2.0 languages and technologies?

    2. 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.
    3. Re:Why not port to C by Anonymous Coward · · Score: 0

      I seem to be having some trouble. Could you please post the link to the plain vanilla ANSI C graphical API?

    4. Re:Why not port to C by Chris+Burke · · Score: 1

      ANSI C doesn't contain any meaningful display interfaces, so certainly something would have to be changed. But leaving it up to future generations to provide the part where the simulated frame buffer (if a PDP-1 used one) is made into a real window via whatever appropriate interface is probably okay. :)

      --

      The enemies of Democracy are
    5. 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?
    6. Re:Why not port to C by Jorl17 · · Score: 1

      ASCII graphics man! A pixel THAT BIG is all we need. He'd also implement "refreshing" as just clearing the screen. Ah, I can see it already...Ha Ha Ha. Nice catch ;)

      --
      Have you heard about SoylentNews?
    7. Re:Why not port to C by martin-boundary · · Score: 1
      That's certainly the general idea, but direct calls to a framebuffer API (for example) aren't needed. A C program has STDIN and STDOUT after all, and STDOUT can be piped to a graphics interpreter front end for whatever system we'll be running in 100 years.

      So to keep the PDP-1 emulator code unchanged, have it output a mini graphics language ( control codes or HTML or Display Postscript or whatever the flavour of the month will be). You'll never update the emulator code base, just attach new generation graphics interpreters.

    8. Re:Why not port to C by martin-boundary · · Score: 1

      Hey I resent that! We used to print out our porn sideways on teletypes uphill both ways in the snow, and WE LIKED IT, DAMMIT!

    9. 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.

    10. Re:Why not port to C by Colin+Douglas+Howell · · Score: 1

      ... the simulated frame buffer (if a PDP-1 used one) ...

      It didn't. The display was a point-plotting CRT which had to be dynamically refreshed by the CPU.

    11. Re:Why not port to C by Anonymous Coward · · Score: 0

      void init_video(void) { /* implementation defined bits */ }
      void draw_line(short x0, short y0, short x1, short y1) { /* implementation defined bits */ }
      void swap_buffers(void) { /* implementation defined bits */ }
      void get_buttons(int *ply1, int *ply2) { implementation defined bits */ }
      void msleep(unsigned ms) { /* implementation defined bits */ }

      if you can't write 5 simple functions for your platform you don't deserve to play any games. Yes, I know it would be better to have a get_ticks and then integrate the movements, but that's not how the original program worked so why bother.

    12. Re:Why not port to C by Capt.+Skinny · · Score: 1

      PDP-1 code > PDP-1 emulator code > Graphics interpreter code

      How many tiers do we need to implement a video game from the early 60's? Hmm... makes me wonder about code inflation -- what the 2011 equivalent is to a single 1962 line of code.

    13. Re:Why not port to C by grep+-v+'.*'+* · · Score: 1

      Those noisy gray teletypes, with the yellow paper tape and chad bucket and all?

      Bah -- youngsters. We use to have our porn chiseled on rock tablets and then tossed at us. If you missed catching it: well, no porn for YOU today.

      But my GOD it was hard for the participants to hold their pose for hours on end while the "photographer" feverishly hammered away. They didn't have microfilter dust masks for the dust particles, of course. Viagra, either. And far be it that he breaks the stone and has to start over. That's just a bad day for all involved.

      --
      If the universe is someone's simulation -- does that mean the stars are just stuck pixels?
    14. Re:Why not port to C by fishbowl · · Score: 1

      ANSI C can represent an n-dimensional array of bits, which is all graphics is. Getting that array of bits onto a display device requires an interface that isn't defined in, but also not precluded by, an ANSI C implementation. So I guess I don't see the problem.

      --
      -fb Everything not expressly forbidden is now mandatory.
    15. Re:Why not port to C by Chris+Burke · · Score: 1

      That's certainly the general idea, but direct calls to a framebuffer API (for example) aren't needed. A C program has STDIN and STDOUT after all, and STDOUT can be piped to a graphics interpreter front end for whatever system we'll be running in 100 years.

      Yes it isn't needed, heck you don't need a STDOUT interface you could have a wrapper that just peeks at the appropriate memory location in the emulator to do graphics. I thought the whole point was that because ANSI C will be compilable in 100 years, we can just, you know, recompile and link against an appropriate implementation of DrawPixel(). That implementation still needs to be provided in the case of piping stdout, but you've also required them to create a pipe, which not all systems make equally simple as UNIX. Not necessarily a big deal, but why bother? Using a stdout interface instead of a programmatic one really only makes sense if you didn't plan on having the emulator source.

      You'll never update the emulator code base, just attach new generation graphics interpreters.

      Yes, in both cases. And in both cases the core emulator code base remains unchanged, but the graphics interface is an essential component of making the emulator function and would properly be called part of the emulator, and would need to be updated. :)

      --

      The enemies of Democracy are
    16. Re:Why not port to C by trollertron3000 · · Score: 1

      Web 2.0 is cool, but when C walks down the street the bitches step aside. Fuggedaboutit.

      --
      Tiger Blooded Bi-Winning Machine
  16. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  17. Re:Futureproofing via HTML5/JavaScript? Really??? by Anonymous Coward · · Score: 0

    I wouldn't be so sure about that. Many parts of HTML5 are moving targets, but some are relatively stable - "standardized" or not. JS as a language is extremely stable, and I do not expect any current JS code to be syntactically or functionally invalid in 15 years.

  18. 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.
    1. Re:Not to be confused with SPACWR by fishbowl · · Score: 1

      I still play a flavor of the classic Star Trek game pretty often.

      --
      -fb Everything not expressly forbidden is now mandatory.
  19. 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.

  20. 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.

  21. 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 Ryanrule · · Score: 1

      at some point, you will need to know only one. turtles.

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

      Repeat ad infinitum and you never have to know more than 2 languages at a time in order to preserve it.

      I get the joke about writing an emulator for an emulator, but even if you wrote a new emulator for PDP-1 every lifecycle iteration, you still only have to know 2 languages: PDP-1 and whatever language you want to write the emulator in.

      --
      "Is life so dear, or peace so sweet, as to be purchased at the price of chains and slavery?" - Patrick Henry
    3. Re:Just keep emulating by Professr3 · · Score: 1

      Because, of course, it's turtles all the way down.

    4. Re:Just keep emulating by jmv · · Score: 0

      I can't wait to see the speed of a java VM implemented in Javascript running a PDP-1 emulator.

    5. Re:Just keep emulating by Anonymous Coward · · Score: 1

      Yep, that was the joke -- thanks for explaining it...

    6. Re:Just keep emulating by Anonymous Coward · · Score: 0

      java != javascript

    7. Re:Just keep emulating by Anonymous Coward · · Score: 0

      I can't wait to see the speed of a java VM implemented in Javascript running a PDP-1 emulator on ported Netscape running on a PDP-1

      FTFY

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

      Because everything can be emulated in Logo?

      Actually, does anyone know if Logo is Turing Complete?

    9. Re:Just keep emulating by Anonymous Coward · · Score: 0

      Yeah, Logo is basically a simple lisp variant with a funny syntax, and turtle commands attached. Or some would say it's lisp without the funny syntax. But yes, you can write complex programs in it, even if few students ever made the programs do anything more than draw geometric diagrams.

    10. Re:Just keep emulating by VolciMaster · · Score: 1

      The variant that exists as NetLogo does LOTS of cool stuff :)

    11. Re:Just keep emulating by Anonymous Coward · · Score: 0

      But in one case, you have a bunch of PDP-1 emulators, in the other you have a PDP-1 emulator, a java emulator, a HTML5 emulator,...

    12. Re:Just keep emulating by Anonymous Coward · · Score: 0

      I write all my code for Universal Turing Machines and let the emulators handle the rest.

      DG

    13. Re:Just keep emulating by amca · · Score: 1

      It is. Logo is essentially a dynamic scoped, interpreted Lisp with a BASIC-like syntax and turtle graphics.

      --
      -- Computers: good.
  22. Wrong choice by Anonymous Coward · · Score: 0

    You chose a browser script/protocol rather than a programming language?

    Sorry but I think you've chosen the thing that will die first. Java is standard across platforms. Javascript and HTML5 are not (and will never be) standard across browsers.

    C++ has been around for a long long time, and it is a horrible unclean mess (compared to any modern language like Java) that should have died 20 years ago.

    Java will be around in *50* years time. HTML5 will be being replaced in 5 years time.

    1. Re:Wrong choice by Jstlook · · Score: 1

      You chose a browser script/protocol rather than a programming language? Sorry but I think you've chosen the thing that will die first. Java is standard across platforms. Javascript and HTML5 are not (and will never be) standard across browsers. C++ has been around for a long long time, and it is a horrible unclean mess (compared to any modern language like Java) that should have died 20 years ago. Java will be around in *50* years time. HTML5 will be being replaced in 5 years time.

      Only if nobody comes around to collect the garbage.

      --
      ---jstlook ---For that is the way of Elves, for they say both yes AND no, and mean every word of it. --- J.R.R.T.
    2. Re:Wrong choice by Anonymous Coward · · Score: 0

      Java will be around in *50* years time. HTML5 will be being replaced in 5 years time.

      You must have missed last year's news that Oracle now owns Java. The future of Java is less sure than it's ever been.

      And I think one of the points of HTML5 is that it won't be replaced. HTML versions are out the window, and from now on, it will all be HTML5 and new stuff will simply be added to it. Not a great situation for standardisation, but it's pretty likely that existing functionality won't just disappear.

    3. Re:Wrong choice by AmonTheMetalhead · · Score: 1

      Java will be around in *50* years time.

      /me screams in agony

    4. Re:Wrong choice by petermgreen · · Score: 1

      Oracle may try to monetize java more but I can't see it as being in their interests to outright kill it. Plus the code is out there under the GPL so most likely there will be forks if oracle tries anything too nasty. Oracle may try to kill these forks with patent threats but some of them will simply move to a location where those threats have no teeth and patents only last ~20 years anyway.

      I bet in a few decades time java will be like fortran and cobol are today, entrenched in certain niches but no longer popular for new works.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
  23. Re:wow by praxis · · Score: 1

    Why do you think NetHack is so terrible?

  24. *This* digital artifact by Anonymous Coward · · Score: 0

    You can forget about new digital artifacts that are encrypted and 'protected' with DRM. Even if/when copyright expires, sometime in the 2200's, there's no indication that circumventing DRM will suddenly be legal. So any future geek thinking they can create a holodeck experience with an emulated PS3 to play games like they did in 2011: sorry.

    1. Re:*This* digital artifact by mbone · · Score: 1

      Oh, they will probably have atom level emulators of the hardware at that point.

  25. well done by ozarkcanoer · · Score: 1

    Bravo!

  26. A Great Review of Spacewar! for the uninitiated by Anonymous Coward · · Score: 0

    http://insomnia.ac/reviews/pdp-1/spacewar/

  27. This is NOT the original code by Anonymous Coward · · Score: 0

    They modified the binary to change the sizes of the ships.
    Who cares if this is running in 50 years?

  28. Re:wow by Anonymous Coward · · Score: 0

    It's boring and repetitive.

  29. Cinematronics SpaceWars by ogdenk · · Score: 1

    PDP-1 SpaceWar was a milestone but the arcade version from Cinematronics was a lot more fun I thought....

  30. For a moment there by saikou · · Score: 1

    I thought they ported Java onto Javascript/HTML5. You know, so there'd be an emulator of a java that runs emulator of PDP that runs a game.

    And the whole thing is inside of a Virtual box, that is installed on top of an instance running inside of a cloud :)

  31. 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.
  32. ASCII Art, lives forever by Tablizer · · Score: 1

    | .
    v
                .

                      * .
    .
      ==>
                               

  33. Re:wow by fishbowl · · Score: 1

    It's boring if it doesn't mesh with your imagination, and it's repetitive only in the sense that no two games are ever alike.

    On the other hand after you've ascended a few times, the easier class/race combos do tend to become routine, and I guess you can start to see the game as a series of easy steps:

    Survive to level 7. Do the mines. Do Soko. Do medusa. Do the castle. Do the quest. Get the bell. Get the candlestick from Vlad. Get the book. Find the square. Get the amulet. Do the planes. Ascend.

    But no matter how many times you've done this, it's still a challenge and always has some unpredictable elements. And you can *always* die on the next turn if you aren't careful.

    If you don't enjoy this game or this kind of game, maybe don't play it. It is interesting that you'd go out of your way just to criticize it on a forum where maybe one person in ten has ever played the game...

    --
    -fb Everything not expressly forbidden is now mandatory.
  34. 50 years later... This is humbling. by dannycim · · Score: 1

    You know, after working on my own long term project (25 years between updates), which Spacewar over-shadows by a factor of two, I've realized that code I write now, no matter how trivial, may be read back a long time afterward. And since I'm a very sloppy programmer, this is is embarrassing on a large scale.

    Oh well. http://sites.google.com/site/dannychouinard/Home/rdos3-2-coco2-enhanced-dos if you're curious.

  35. Re:Futureproofing via HTML5/JavaScript? Really??? by AmonTheMetalhead · · Score: 0

    They didn't say they wouldn't exist anymore, they stated that they might not be integrated in the browser anymore, and that's a fair statement given how fast browsers have evolved lately. And java doesn't come installed by default.

  36. does not work on Fedora 13 / Firefox by georgesdev · · Score: 1

    maybe it will in 15 years ;)

  37. 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.

    1. Re:C will live forever by Desler · · Score: 1

      What makes C so great is that it was born the way it is and does not change.

      Sure if you ignore the all changes between K&R C to ANSI C and then from C89 to C99 and then the changes that are going to happen with C1x the,n yes, it is has "not changed".

    2. Re:C will live forever by VolciMaster · · Score: 1

      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.

      C has changed since the initial release, and a new standard is issued every so many years, incorporating new features/strictures to the language. Compared to many languages, C is [probably] the least-changing of all, but that doesn't mean that a new version of the standard doesn't bring improvements/changes/fixes to previous editions.

    3. Re:C will live forever by mangu · · Score: 1

      that doesn't mean that a new version of the standard doesn't bring improvements/changes/fixes to previous editions.

      Yes, but the changes are mostly minor and do not affect software that's already working in C.

      Compare this to Python, where a basic mathematical operator like '/' was changed from one version to the other. In Python up to version 2 the expression (2/3) has the value 0, while in Python 3 it has the value 1.5. This makes it impossible to use a program developed for version 2 without a serious risk of subtle bugs. An automated migration tool is useless in this case, since the dividend type may depend on an input value.

    4. Re:C will live forever by Anonymous Coward · · Score: 0

      You can run a Python 2 program in a Python 2 interpreter; they aren't going anywhere. If you're porting a program to Python 3 and integer-truncation division is important to you, use the "//" operator.

    5. Re:C will live forever by petermgreen · · Score: 1

      What makes C so great is that it was born the way it is and does not change.

      It has had lots of stuff added over the years but generally C itself doesn't change in a way that breaks existing code (not sure if there have been any exceptions to this).

      I have been programming in C for about 25 years now and the first programs I wrote still compile and run unchanged today.

      Maybe the first ones do but I bet many later ones don't.

      If your only interfaces to the outside world are reading and writing stuff to/from the console in the local 8-bit character set (of which you can probablly assume the lower half is ascii but not much beyond that) and read and write files whose names are in the local 8-bit character set and you are prepared to live with worst case assumptions on the size of basic types then sure you can write stuff in a way that is platform and version independent. Want to go beyond that though and things get much less rosy.

      * The sizes of the basic datatypes can vary, making it rather hard to make code both portable and efficiant. C99 fixes this by adding a load of new fixed size types but C99 support is not universal.
      * Networking is reasonablly standardised (though not part of the C standard) but try and do anything else at the same time and you've got problems since the windows implementation of select only works on sockets. Oh and there is also the "fun" of gethostbyname VS getaddrinfo (the former is supported on pretty much all platforms but only supports IPv4, the latter supports multiple protocols but is relatively new).
      * Want to create a terminal interface that goes beyond a simple stream of text? On windows you have to use special API calls, on *nix you have to use escape codes that are terminal type dependent (which in practice means using a third party library like ncurses).
      * On windows the legacy 8-bit character set cannot support all valid filenames so afaict if you want to be able to access all files you need to use the platform specific functions that take UTF-16.

      Java otoh combines stability (i'm sure there are exceptions but code from java 1.0 is still supposed to run with the latest version of java) and cross platform abstraction (which are a little leaky but less than those of C) with a large standard library. You can write say an IRC client in java without doing anything platform specific. You can't do that in C (and no claiming unix specific code is cross platform because it works under cygwin or similar doesn't count).

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    6. Re:C will live forever by prockcore · · Score: 1

      I have been programming in C for about 25 years now and the first programs I wrote still compile and run unchanged today.

      Mine don't. Mainly because they were written for a 16-bit environment and call BIOS functions and modify video ram directly. They don't even compile anymore.. but even if you could compile them, they'd segfault immediately.

    7. Re:C will live forever by mangu · · Score: 1

      You can run a Python 2 program in a Python 2 interpreter; they aren't going anywhere

      Yes, they are. When Python 2 packages aren't available in the repositories I use, I don't want to keep all the dependencies by myself, I have more important things to do.

      If you're porting a program to Python 3 and integer-truncation division is important to you, use the "//" operator.

      I have *lots* of code. I don't want to check every single division in each formula I have to verify if the correct operator to use is '/' or '//'. I repeat, I have more important things to do.

      In conclusion, no Python 3 for me. And, since I don't know how long Python 2 will be available in the systems I use, I'm "deprecating" the Python language altogether.

  38. Re:Bah! by Anonymous Coward · · Score: 0

    URL shortening is unnecessary, this is not Twitter, fool.

  39. Re:wow by pinkushun · · Score: 1

    Before my time, but i can imagine why they are so pined over: Emotions and ideas attached to those games.

    Being the first of a kind, the possibilities those games presented were infinite, and captured imaginations.

    *That* is why those games are so revered.

  40. 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
  41. The First Step by Digital+Vomit · · Score: 1

    Here's a better idea for future-proofing software: end insane copyright laws.

    --
    Modern copyright is theft of culture from everyone and it retards the progress of the useful arts and sciences.
  42. Re:Bah! by GameboyRMH · · Score: 1

    Aahaha he nearly got me too. It's good to see the trolls trying new stuff, a little friendly competition is always fun.

    --
    "When information is power, privacy is freedom" - Jah-Wren Ryel
  43. Javascript/HTML??? by morgauxo · · Score: 1

    I get it that nothing will be around forever, includig Java but javascript and html never stop changing! I bet the java version still works longer than the new one does.

  44. Huh by bryan1945 · · Score: 1

    And I thought "Adventure" was the first graphical game. Or was that the first home PC/Mac game?

    --
    Vote monkeys into Congress. They are cheaper and more trustworthy.
  45. 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.

  46. Re:Bah! by Anonymous Coward · · Score: 0

    It is necessary if you want to try to hide a goatse redirect.

    I don't see how it is ever successful though. I just assume any URL shortened link goes to goatse.

  47. 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

  48. Star Raiders by SteveFoerster · · Score: 1

    You shouldn't compare it against Asteroids, you should compare it against Star Raiders for the 8-bit series Atari home computers. It was much, much more advanced. In fact, it's still kind of awesome.

    --
    Space game using normal deck of cards: http://BattleCards.org
  49. Oh, come on! by Anonymous Coward · · Score: 1

    For science sake, it's starting to get ridiculous, all these very simple HTML5 games that get so much attention on Slashdot. In case you Slashdot editors didn't notice, there are already plenty of HTML5 games out there that can easily compete with the best Flash games.

    http://www.playtankworld.com/
    http://websnooker.com/
    http://www.redshootinghood.info/
    http://www.pirateslovedaisies.com/
    http://wordsquared.com/
    http://www.effectgames.com/effect/games/crystalgalaxy/
    http://agent8ball.com/

    Please, STOP pretending like it's a big deal to port something to Javascript/HTML5.
    It's not.

    Plenty more games:
    http://www.html5-games.org/
    http://html5games.com/

  50. Spam anybody? by Anonymous Coward · · Score: 1

    Ok, so they can do space invaders in my browser in plain html. What can I do to block browser spam? One thing nice with flash is that it's easy to block. What about html5?

  51. Re:Futureproofing via HTML5/JavaScript? Really??? by VirtualJWN · · Score: 1

    At least they tried, and you gotta admit that playing in a browser is way cooler than a VT-52 or VT-100 terminal (kind of miss the turbine like fan noise though, kind of like you were in a ship. I remember a couple of monitors without fans that we had in college, had to remove the cover slightly and have a fan blowing on them to keep cool (tektronix I think).

    --
    "Any sufficiently advanced technology is indistinguishable from magic." - Arthur C. Clarke
  52. DEC GT-40 Lunar Lander by Anonymous Coward · · Score: 0

    I'm just waiting for someone to port the DEC Lunar Lander for the (PDP-11 based) GT-40 graphics system...the one where when you land at the target site, the astronaut jumps out of the lander and runs over to the McDonald's, then runs back to the lander and takes off.

    I know there are PDP-11 emulators out there, but I don't know of GT-40 emulator.