DEC PDP-1 emulator running "Spacewar", the earliest known digital video game
masswerk.at
masswerk.at
Around 1962, there was an open house evening, the first time I set eyes on a computer. I briefly got to play this exact game.
Later that year, I busted up a bunch of spring clothespins, to use as toggles to work out binary arithmetic from a book our grandfather had given us. The look on my Dad's face was priceless.
[1] Outer Orbit (closer to Spacewar! and its orbital mechanics): https://www.masswerk.at/outerorbit/
[2] Gravi-o-roids! (featuring multiple gravity attractors and probably the better game): https://www.masswerk.at/gravioroids/
The circular screen also brings up the idea of having circular displays today. It seems at first pretty inefficient, like windows are rectangles, duh. But such constraints can produce creative solutions, a very different way how to layout the UI. It's fun to think about how it could look like. (we have circular screens in many watches, but that's a bit special case ...
(This issue also features a paper on Spacewar! by J.M. Graetz, "Spacewar. Real-Time Capabilities of the PDP-1".)
[1] https://bitsavers.org/pdf/dec/decus/confProceedings/DECUS_19...
The PDP-1 provided also the basis for the first commercial CAD system by Itek.
[2] https://web.archive.org/web/20130129213055/http://cadhistory...
Related to the topic of music on the Mark I: "BBC finds oldest digital music recording", https://bit-tech.net/news/beeb-finds-oldest-digital-music-re...
See also this paper for a bit more background: https://link.springer.com/chapter/10.1007/978-3-319-53280-6_...
> David Link’s eponymous installation LoveLetters was first shown at dOCUMENTA(13), 2012. In it, the artist and computer archeologist Link romantically resurrects the earliest electronic, programmable and universal calculating machine worldwide: the Manchester University Computer or MUC. In 1953 and out of nowhere, it started to produce strange and touching love letters, addressed to anonymous people, or perhaps machines. The present version Love Letters – core is also based on the original source code by Christopher Strachey, a friend and colleague of Alan M. Turing, from 1951, and accompanied by two photographic prints of love letters on vintage CR tubes in the first on-screen font ever.
(Gallery Gabriele Senn, https://galeriesenn.at/love-letters/)
http://bitsavers.trailing-edge.com/pdf/dec/pdp1/FRAP_DECAL_I...
Flight of the PIXIE - Yuja Wang:
https://www.youtube.com/watch?v=jDrqR9XssJI
Films from the University of Cambridge Library Archives:
https://www.cl.cam.ac.uk/library/archives.html
It wasn't until I implemented pie menus in PostScript for the NeWS window system in 1988 that they were actually drawn in round windows.
https://donhopkins.medium.com/how-to-choose-with-pie-menus-m...
More:
https://news.ycombinator.com/item?id=39217923
DonHopkins 87 days ago | parent | context | favorite | on: Kando: The Cross-Platform Pie Menu
Thanks for the shout out and links!
That timeline you linked to goes along with this article I wrote a few years ago:
Pie Menus: A 30 Year Retrospective. By Don Hopkins, Ground Up Software, May 15, 2018.
https://donhopkins.medium.com/pie-menus-936fed383ff1#8546
The earliest known implementation of pie menus was in an early CAD system called PIXIE developed at Cambridge University by Neil E. Wiseman, Heinz U. Lemke, John O. Hiles, on a PDP-7 with a 340 vector display with a light pen.
Neil E. Wiseman, Heinz U. Lemke, John O. Hiles, PIXIE: A New Approach to Graphical Man-Machine Communication, Proceedings of 1969 CAD Conference Southampton IEEE Conference Publication 51, pp. 463–471.
https://www.donhopkins.com/home/documents/PIXIE%20a%20new%20...
Flight of the PIXIE - Yuja Wang:
https://www.youtube.com/watch?v=jDrqR9XssJI
Films from the University of Cambridge Library Archives:
https://www.cl.cam.ac.uk/library/archives.html
In 1986 Mike Gallaher and I together came up with the same idea, and I implemented a prototype proof-of-concept for the X10 window system I called "theta menus":
https://donhopkins.com/home/pub/piemenus/theta-menus/
Mitch Bradley suggested the name "pie menu", and I implemented them in the X10 "uwm" window manager, which I integrated into Mitch's Sun Forth system so it was possible to script the window manager in Forth:
https://donhopkins.com/home/pub/piemenus/pietest/
https://donhopkins.com/home/pub/piemenus/pietest/fuwm-main.f
X10 Pie Menu Window Manager:
https://www.youtube.com/watch?v=IJhvB6kwmog
You could define both pie menus and linear menus in a special menu definition syntax in your .uwmrc file, and configure them to run various window management, application launching, and shell scripting commands. But there was no pie menu editor, just a text file defining the menus.
We performed an experiment to compare the speed and error rate of pie menus and linear menus, which I programmed in Forth to randomize and present the menus and measure the error rates and timing statistics.
Pie Menu Experiment:
https://www.youtube.com/watch?v=s0zEUi6p2ws
Implementing a Forth scriptable pie menu window manager for X10 led the way to implementing pie menus in PostScript for various versions of the NeWS window system. It was easy for me to make the transition from Forth to PostScript, which is much more like Lisp than like Forth, and NeWS had an object oriented programming system like Smalltalk which is great for implementing user interface toolkits.
Just the pie menus from All The Widgets:
https://www.youtube.com/watch?v=mOLS9I_tdKE
Ben Shneiderman demo: Don Hopkins and pie menus in ~ Spring 1989 on a Sun Workstation, running the NEWS operating system.
https://www.youtube.com/watch?v=8Fne3j7cWzg
[...]
https://apps.kde.org/kspaceduel/
I remember playing this in the age of KDE 2 (which in my opinion was peak desktop experience)
In other words, the burden of maintaining the display is entirely on the program and the instructions for this have to be recomputed for each frame (as memory for storing any screen related information was horribly expensive and thus unfeasible.) Which makes this even more remarkable.
Vectrex is a line plotter. It still has to refresh the entire display every frame however and it's still the bottleneck. That's why arcade games like Asteroids have GPU-like hardware that execute display lists to unburden the CPU from this overhead.
Should the title read "earliest known Digital video game"? I keep reading it "the very first computer game ever", instead of "from DEC". Maybe I am wrong, is it the very first video game (before tennis for two, etc)?
Triangle Ship: A=left S=thrust D=right 4=fire
Rocket Ship: J=left K=thrust L=right 0=fire
I guess there are two human players, sharing a keyboard.
There are also virtual touch controllers. If a touch device is not auto-detected, toggle them on/off with Options Menu (top right corner) -> Virtual Controllers.
Finally, you can change keyboard mappings by the "Keyboard" menu at the top. (The splash screen, which is not part of the original game, reflects the current mapping.)
---
If interested in the code (PDP-1 assembler), see this walk-through: https://www.masswerk.at/spacewar/inside/
Canonical reading on the game's history: "The Origin of Spacewar" by J. M. Graetz, https://www.masswerk.at/spacewar/SpacewarOrigin.html
(There are some unrestored, like at the Smithsonian, but these are stored away in boxes.)
[1] https://computerhistory.org/exhibits/pdp-1/
[2] https://www.computerhistory.org/pdp-1/
Regarding the CRT tube and phosphor: The display uses a CRT tube developed for RADAR, which uses P7 phosphor. This features a short, responsive activation in bright blue and a long sustain in greenish-yellow. (It's actually a 3D display, as in X/Y and time. It also features 8 intensities of brightness, which do not scale too well, for which Spacewar! rather manages apparent brightness by refresh rates.)