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."
Open source software :)
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.
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/
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?
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.
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.
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?
First link is goatse. Do not click! Second link is O.K.
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.
How does the speed of this Javascript emulator (on a typical PC) compare to the original hardware PDP-1?
If you port the emulator to plain vanilla ANSI C, then it should still run in 100 years unchanged.
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.
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.
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.
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.
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.
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.
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
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.
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
antipaucity