Scientific Gaming — Minnesota Spacewar Reconstructed
This is a reconstruction of Minnesota Spacewar, a once popular flavor of Spacewar!, the earliest known digital computer game.
Moreover, this application is meant as a test-bed to explore various features of Spacewar! and their effect on gameplay.
All scripts and images © 2014 Norbert Landsteiner, mass:werk – media environments, www.masswerk.at.
There are presets both to play the game in the Minnesota version and to play it using the mechanics of the original MIT version.
▶ Click here for a true impression of the original code of Spacewar! running on an emulated PDP-1.
- Handmade bytes & pixels
- Historical references (see below)
- A reconstruction of Minnesota Spacewar
- An option to display a Sun (or gravitational star) animated by Conway's Game of Life, as popular throughout the 1970s.
Minnesota Spacewar is a flavor of Spacewar!, developed at the University of Minnesota by Albert W. Kuhfeld in 1966-1968.
Minnesota Spacewar differs from the original game (further referred to as "MIT-Spacewar!") by putting an extra emphasis on the tactical aspects of the game. It does so, by limiting the supply of torpedoes, and most importantly, by introducing a modified hyperspace mode, the so-called Minnesota Hyperspace. In this mode ships won't just be transfered to a random location as with tradional hyperspace, but rather would go invisible, still to be controlled by the player, with the location disclosed by the exhaust flames of a thrusting ship or by any torpedoes fired. A ship in hyperspace is fully interacting with its environment and may still be shot by the opponent, also it will burst on any collision with an object.
It should be probably mentioned that the original game — just like the original MIT-Spacewar! — was operated by custom control boxes, which are here emulated by the keyboard.
The game may be stwiched to the gameplay and mechanics of the original MIT-version by the console switch labled "MIT-Mode", additionally there are presets for usual setups for both versions.
For a detailed list of the features implemented, see the comparison table at the bottom of this page.
(Minnesota Hyperspace might have been influenced by a special "twin-star mode", to be found in some later versions of MIT-Spacewar!: While under the hood still the usual game, this mode features a remarkable visual displacement in the display layer: The "Needle" would be fixed to the center, right in between the doubled suns, pushing rather the whole universe, when thrusting, than being moved itself. The "Wedge" would be dragged by gravity into this very center, thus threatening to ultimately collide with its sister ship. Notably, this mode also featured split locations for the ships: The location visible on the screen, which would also be used for hit-detection, and a hidden, true location of the maneuvering ships, only disclosed by the ships' exhaust flames and the trails of any torpedoes fired.
Click here to explore Spacewar! in twin-star mode.
As a side note, these split locations bear a remarkable resemblence with contemporaneous psycho analysis, as taught by Jacques Lacan, who introduced a dual category of the self, the je, as the topos of our actions, and the moi, as the topos of our self-perception.
Also, as another ancester of Minnesota Hyperspace, MIT-Spacewar! shortly displayed a bright, heralding spot, where a spaceship was just to reappear from hyperspace. Hitting this spot with a torpedo would actually destroy the ship in hyperspace.)
The original game of Spacewar! was conceived in 1961 by Martin Graetz, Stephen Russell, and Wayne Wiitanen. It was first realized on the PDP-1 in 1962 by Stephen Russell, Peter Samson, Dan Edwards, and Martin Graetz, together with Alan Kotok, Steve Piner, and Robert A Saunders. Spacewar! is in the public domain, but this credit paragraph must accompany all distributed versions of the program. (It is enclosed here, even if this is not the original code.) For detailled information, visit this page.
Sources for the Reconstruction
Descriptions of Minnesota Spacewar are to be found in a few articles published in the early 1970s:
- "Spacewar", by Albert W. Kuhfeld,
in Analog/Astounding Science Fiction magazine, Vol. LXXXVII, No. 5, July 1971; pp. 67-79.
The article was reprinted twice, for the Foreign Service Institute, and in French translation in «L'Informatique» May/June 1973.
- "SPACE WAR! – A Computer Game Today, Reality Tomorrow", by Joseph F. Goodavage,
in SAGA magazine, Nov. 1972 issue; pp. 34-37 and pp. 92-94.
- "SPACEWAR – Fanatic Life and Symbolic Death Among the Computer Bums", by Stewart Brand,
in Rolling Stone magazine, 7 Dec. 1972 issue.
Reprinted in Brand, Stewart, Two Cybernetic Frontiers; Random House, Bookworks, 1974.
Albert W. Kuhfeld, the original author of Minnesota Spacewar, gives the most detailed description of the game.
While the article was published in 1971, the game had already reached its final state in 1969, when the article had been originally proposed. The program saw development in 1966 – 1968, with the main work done in 1967. As of writing the article, Minnesota Spacewar had iterated to its final form, version III: "Version I was a crude, get-it-working sort of thing that was fun to play, but really only served to define the programming problems. Version II was slightly faster and had a few more features. Version III has bells and whistles." (p. 78)
The main shot of the article, a photo showing the game being played at the original installation, a CDC 3100 computer at the Williams Laboratory of Nuclear Physics tandem Van de Graaff accelerator, was shot in 1970 and shows a custom display setup, which was only introduced after the original development of the game had been done.
Kuhfeld's account doesn't only give a detailed description (including screenshots and a rough outline of the code), but is also quite remarkable for his emphasis on the tactical side of the game, even putting it on par with chess or checkers:
"Spacewar is rather like chess or checkers, in that the game goes through certain phases in which the optimum strategies are quite different. In analogy with chess these phases can be called the opening, the midgame, and the endgame. The opening starts with both ships motionless on opposite sides of the sun, continues as they make orbit and jockey for position, and ends after the ships make their first firing pass at each other. If both ships survive this first pass the players then enter the midgame, in which considerations of tactics dominate — rather than orbitmaking, as in the opening. And the endgame limps in as one or both ships begin to run low on fuel and ammunition. Here a certain conservatism is necessary to winning: shots are placed more carefully, fuel use is minimized, and both players must be alert for kamikaze attacks by their opponent.» (p. 73, 74)
Kuhfeld deepens this theme by describing a whole library of gambits and standard maneuvers, often accompanied by illustrative screenshots. (The screenshots are rather plots printed by a record-and-playback option of the game.)
As for the game itself, he mentions the following properties:
- Hyperspace invisibility with the ships being maneuverable as usual, disclosed by exhaust flames or any torpedoes fired. Since the player doesn't see his ship's location himself, this is still a risky maneuver. ("While programming Minnesota Spacewar, I opted for a panic button involving skill rather than luck.", p. 71)
- A limited supply of 20 torpedoes (half the amount of torpedoes in MIT-Spacewar!).
- Optional salvoes of four torpedoes or less, followed by a cooling time of one second.
- Torpedoes have a lifetime of 15 seconds and are limited to a total of four per player concurrently on the screen.
(This is quite long as compared to a lifetime of approx. 2.7 seconds in the original MIT-Spacewar!, which is just enough to cross about half the screen, when fired from a resting ship.)
- Fuel supply for 2 minutes of thrust.
- A ship flying through the debris of a destroyed ship would explode.
- A flowchart of the program shows a box for drawing flares for retro rockets in the front of the ships.
- A score printout would not only mention wins, but also draws.
- The screenshots/plots do not only provide details on the ships' outlines, but also show kaleidoscopic animations used to render explosions and the central Sun.
Or, in his own words:
"Each version of Spacewar has its own minor details and limitations, depending upon the whims of the programmer(s) and the structure of the computer used. Fuel and torpedoes are often limited in the interests of realism, just as they would be for real spaceships: For example, in Minnesota Spacewar each ship has two minutes of fuel and twenty torpedoes. The torpedoes are fired at one-second intervals in salvoes of four or less, and have a lifetime of fifteen seconds. Each ship can have at most four torpedoes in action at one time. These limitations prevent space from becoming filled with torpedoes that long ago missed their targets but still are menaces. (Remember how live torpedoes and mines washed up on various shores for years after WorId War II was over? That sort of weapon is ungentlemanly.) Since fuel is consumed only when the rockets are fired, each ship has much more than two minutes of normal powered flight.» (p. 73)
As another difference to the traditional MIT-game, Kuhfeld's version featured starting positions quite close to the Sun, which are also visible in the illustrative screenshots. (This also provides a hint on the game being run with a modified ratio of acceleration and gravity, since using the ratio of MIT-Spacewar! ships wouldn't have been able to evade the Sun from a position such close. Also, most of the maneuvers described would be possible with modified ratio only.):
«Since the ships start quite close to the sun, the first necessity of the opening game is to avoid getting trapped and destroyed by it — and even a second's hesitation can be fatal. There are half-a-dozen opening gambits to choose from during these first hurried moments, and the effectiveness of each gambit depends strongly upon the one chosen by the enemy. This calls for split-second decisions; the wrong response can be suicide. It helps to know your opponent's strengths and weaknesses — he's going to avoid his weaknesses, so out of simple justice you should avoid his strengths.» (p. 74, 75)
Additional Informations by Albert W. Kuhfeld:
There are some additional informations provided by Albert W. Kuhfeld, exceeding the informations provided in the article:
- The retro rockets would have decelerated the ships by a quarter of the force of the main rockets.
(The value was calculated by bit-shifting, so it would be approximately a quarter of the main rockets.)
- The animations were produced by a set of random generators providing values for x- and y-axes and were projected through circular masks. The Sun featured a mask of fixed size, explosions would increase in size, while being dimmed. (This is also asserts that the display used supported varying intensities.)
- Torpedo gravity or partial damage (which are known from other ports of Spacewar) were not an option.
- The background starfield was implemented as a fixed map.
- The computer running the program was a Control Data CDC 3100 with 8k of 24-bit words, later expanded to 12k, at the University of Minnesota Department of Physics and Astronomics Williams Laboratory of Nuclear Physics tandem Van de Graaff accelerator.
- The display to be seen on the photo was a point-addressable CRT, implemented by Gil Pyle, who also wrote the interface routines for it. (There is no information on the resolution of the display.) Inferring from the flowchart provided in the article, the display featured some kind of memory, since outlines, explosions, and rocket flares had to be explicitly cleared.
- The "screenshots" were rather prints produced by a record-and-playback option of the game and by using a point plotter.
- Kuhfeld knew the original game of Spacewar! from MIT.
- Game development was done in 1966 – 1968, mostly in 1967.
Joseph F. Goodavage gives an account of his introduction to Spacewar! (probably running on a DEC PDP-8) at MIT in 1972. While describing the scene and the game itself, the article includes also a quite enthusiastic digression on Minnesota Spacewar:
«A different version, called "Minnesota Spacewar" (originally played at the Univ. of Minnesota), has a variation of panic button use. Instead of disappearing and then reappearing at random, the Minnesota game allows the pilot to use skill instead of blind luck. In "Minnesota Spacewar," your ship becomes instantly invisible when you hit the panic button.
You can't see yourself, but then, neither can your opponent. The advantage lies with whoever is best at mentally plotting trajectories. Although your space is invisible, your rocket's flaming exhaust is not! Every time you change course, your ship is momentarily visible, which helps you to calculate your position according to your timing and speed. Your opponent, however, can also do the same.
Remaining invisible for too long a period can be exceedingly dangerous. Running "blind," you may ram your enemy headlong — or drift into the Sun without knowing it — until a brilliant nuclear explosion tells the story.
Limitations on the amount of fuel (and torpedoes) add to the realism of the battle. This is similar to the conditions that prevailed about WW II submarines (modern nuclear attack subs, powered by atomic reactors, can cruise indefinitely.)
The limits placed upon fuel and torpedoes requires additional skill for the combatants and make the outcome of the battle even more interesting and exciting. In "Minnesota Spacewar," every ship has about 20 torpedoes and several minutes of fuel. In order to keep space from being cluttered with live torpedoes that missed their targets, but are still dangerously zooming around every which way — disappearing off one end of the CRT and reappearing on the other — they may be fired only at intervals of one second, and in salvoes of from one to four at a time. The lifetime of each torpedo is limited to about 20 seconds, and no more than four can be launched and armed at any one time.
Fuel is used only when the spaceships' rockets are fired for acceleration, deceleration, or changes in course, so that the actual time of each flight exceeds the alloted two minutes of normally powered flight.» (p. 92, 94)
Goodavage also notes the game's three tactical phases and he refers, quite like Kuhfeld, to the ships by the terms "Arrow" and "Flying Wedge", hinting to Goodavage being acquainted with Kuhfeld's text.
As for the normal game, Goodavage describes the torpedoes as affected by gravity, just like the spaceships, which was quite typical for later implementations, but opposed to the original versions of MIT-Spacewar!:
"The blazing star in the center of the field, however, is quite a different case; as far as the spaceships and torpedoes are concerned, it possesses a "real" gravitational field.» (p. 37)
While this passage suggests that torpedoes would have been effected by gravity just like the ships, it is positively confirmed that there was no torpedo gravity in Minnesota Spacewar.
Stewart Brand's epic Rolling Stone article isn't actually adding anything new to this, but rather provides another historical reference point for the game: "There was a variation called Minnesota Hyperspace in which you kept your position but became invisible; however if you applied thrust, your rocket flame could be seen...." Also, he gives some further examples on later additions to the game, as introduced by other ports of Spacewar: "Score-keeping. Space mines, Partial damage — if hit in a fin you could not turn in that direction."
On the other hand Stewart Brand adds substantial background to the game itself and its importance in history, like in this comprehensive passage near the end of his article:
«Yet Spacewar, if anyone cared to notice, was a flawless crystal ball of things to come in computer science and computer use:
- It was intensely interactive in real time with the computer.
- It encouraged new programming by the user.
- It bonded human and machine through a responsive broadband interface of live graphics display.
- It served primarily as a communication device between humans.
- It was a game.
- It functioned best on standalone equipment (and disrupted multiple-user equipment).
- It served human interest, not machine. (Spacewar is trivial to a computer.)
- It was delightful.
In those days of batch processing and passive computerism (data was something you sent to a manufacturer, like color-film), Spacewar was heresy, uninvited and unwelcome.»
Some of the points made here are truly important: While the DEC PDP-1 was the epitome of interactive computing, as pioneered at MIT, and Spacewar! beeing conceived purposely as a demo-application for the new machine, it is quite out of this tradition. By the way it's for humans rather acting within the realm of a simulated environment than interacting with it, as well as by establishing a special realm of both tactical "split-second decisions" and quick motor response (see Kuhfeld's description above, or compare Steve Russell quoted in Brand's article, "It seems to be a reasonable compromise between action […] and thought."), it pioneered a new mode of interaction, which might have been vital to the special "magic" (c.f. Alan Kay) of the original desktop metaphor and the WIMP-interface. With Spacewar! it wasn't just a dialog between human and computer anymore, as in, "The operator talks to the computer" (quoted from a Bell Labs educational film, see also Steven Coons in this presentation of Sketchpad), the computer rather established a reality of its own for humans to act within it, became an appliance for humans to establish purpose of sorts within its realm.
In the extended version of Brand's article (to be found in the reprint) there is also an account by Steve Russell on an experimental feature in MIT-Spacewar!, which wasn't as successful as expected:
«One of the things I experimented with was putting a little more realism in it. The torpedoes in Spacewar go plodding along very reliably. I said, 'Gee, that's not real. Most real-world devices have some noise in them.' So I put a little random error in the torpedoes. They wouldn't always go quite the direction you aimed them, and they didn't always go quite as far as you expected, and they didn't go quite as fast as you expected. I thought it was kind of a neat idea, but everybody just hated it. And if you think about it, you'll see that people take a great deal of effort to make sure that their guns and knives and other offensive weapons are the best they can have. That variation died very quickly.»
(Two Cybernetic Frontiers, p. 56)
This relation between a quasi-natural noise and predictability has haunted simulation in computer games ever since. A special option was added to the reconstructed game in order to explore the effects of the dismissed feature.
Moreover, there are some other descriptions of Spacewar in the 1970s mentioning hyperspace invisibility, a feature also to be found in the PDP-8 version of Spacewar. There are also notions that the use of hyperspace was sometimes frowned on.
The Game Reconstructed
Where details were available, the reconstruction is based on descriptions and screenshots of the original game. For features and properties lacking a detailed description, like accelerations, angular velocity, frame rate, etc, basic values were adjusted to versions 4.x of MIT-Spacewar! (based either on configuration values to be found in the PDP-1 assmbler code or on visual impression). Kuhfeld confirms to have known the MIT-version. Moreover, given that there is at least one quotation from comments to be found in the original source code in Kuhfeld's illustrations, it might only be fair to assume that Kuhfeld did know the original code and would have built on this.
While Kuhfeld's screenshot and descriptions do convey a pretty good idea of the animations of the Sun and any explosions, there is no detailed information on the dynamic aspects of these. Some freedom in interpretation might have been added to these.
Additionally, there is an option for overriding the animation of the Sun by Conway's Game of Life, which was quite popular throughout the 1970s. (This can bee seen in some screenshots of 1970s-versions of Spacewar and was originally implemented, when there wasn't detailed information on Kuhfeld's original implementation. Since I happen to like it, it's still provided as an option.)
While the basic values of gravity and acceleration were inferred from MIT-Spacewar!, it was quite clear that the game would not work with these settings, given the setup positions as close to the Sun as described and depicted. Therefor the acceleration of the ships was significantly increased as compared to the MIT-version. Also, reduced gravity is a quarter of the normal amount, while it is a sixth in the MIT-version.
(A few options, like partial damage and torpedo gravity were added, when it was quite unclear, whether these would have been implemented in Minnesota Spacewar or not. As it shows, these were not present in the original game. Since these were to be typically found in later ports of Spacewar, they are still included as an option in order to let those be explored in praxi.)
In order to provide an easy comparision, the basic mechanics and the gameplay may be switched to those of the original MIT-version by activating the MIT-Mode switch. This will not only change the outlines of the ships, but will also have effect on ship-acceleration, the amount of reduced gravity, torpedo lifetime and spacing, as well as on the salvo cooling time, and — most prominently — the hyperspace behavior. (These aspects may be controlled in even finer granularity in the Advanced Settings, accessible by the related button at the top right of the emulation.)
There are three preset buttons to set the console switches to common values for the two major versions and an alternate setup (representing some other features of Spacewar as played in the 1970s). By the use of the MIT Spacewar preset-button, the game may be completely set up to work like the original game (version 4.x), with the following exceptions: The original game uses a screen area of a square aspect ratio and the ships are scaled up as compared to the original game.
(And while nitpicking: The behavior of ships colliding in the center of the Sun, being set to not to kill on contact, is to be found in versions prior to 4.x, like in the well known version 3.1, but not in version 4. In later versions the ships would rather collide at the very extreme position at the top right, where they would have been warped to by the Sun.)
BTW: Ship names. Ships were originally called the "Needle" and the "Wedge", while they were later dubbed — as in Minnesota Spacewar — "Arrow" and "Flying Wedge".
Details and Version Comparison
|Choose the following setup for realistic conditions:
||Setup for close to original gameplay:
|Ships are invisible, but still controllable. The position will be revealed by the ships exhaust flame or any torpedoes shot, which are still rendered. Even in hyperspace, ships will collide with any objects.
(Hyperspace may be disabled by a console switch, an option that was probably not present in Kuhfeld's version, but is documented for other flavors using Minnesota-style hyperspace invisibility.)
|Ships are warped from the screen (for about a torpedo's lifetime) and will be replaced at a random location with random direction, rotation angle, and velocity. The position a ship will reappear at is indicated by a bright spot, shooting at which will destroy the ship. Hyperspace is unreliable and a ship will breach with a propability of one eight while returning from hyperspace, with the propability increasing with every try, cumulating to certainty at the eighth try.|
|Torpedoes may be fired as single shots or in salvoes of four torpedoes or less. For each player there is a limit of four torpedoes concurrently on the screen. Torpedoes are spaced temporarily by one second and have a lifetime of 15 seconds. An extra second of "cooling" is added to every salvo. There is a limited supply of only 20 torpedoes for each player.
(An additional option was added to double this amount, which happens to be the same as in the MIT-version. Please note that there is no historic reference for this. Also, there is an option to disable salvoes, to be found in every known version of Spacewar. Torpedo speed is infered from Spacewar! 4.x, but a bit higher, approx. 110%)
|Torpedoes may be fired as single shots or in salvoes of unlimited count. Lifetime is limited to approx. 2.7 seconds (96 frames) only. Torpedo spacing is 20 frames or approx. 0.56 seconds, said to be the "cooling time" of the torpedo tubes. The original game features a supply of 31 torpedoes for each player, which might be mimicked by activating the "torpedoes x2" switch at the virtual console.|
|Fuel supply is quite ample, providing 2 minutes of thrust.||Fuel supply is for 30 seconds of thrust only.|
|While the ships' angular velocity is based on Spacewar! 4.x, the ships' acceleration has been significantly increased to work with the setup positions documented in Kuhfeld's article and to allow the maneuvers described.
Moreover, the Minnesota-version features retro-thrust, which are decelerating the ships movement by quarter of the main rockets.
|Ship acceleration and angular velocity are based on Spacewar! 4.x. The ships' acceleration is only a third of the value chosen for the Minnesota version.|
|Starting positions are significantly closer to the Sun as compared to the MIT-version, as to force a quick reaction by the players (c.f. the quotes above). In this reconstruction, the ships' distance to the Sun is reduced to 50% of the distance to be observed in the MIT-version.||Ships are placed diagonally, each separated from the screens center by a fourth of the total width available.|
|Gravity is infered from the MIT-version. Reduced gravity is a quarter of full gravity (in order to compensate the higher acceleration rate).||Full and reduced gravity are adjusted to the values to be observed in Spacewar! 4.x; reduced gravity is only a sixth of the amount of full gravity.|
|As opposed to the MIT-version, a winning ship may collide with the debris of its broken opponent, resulting in a draw. Other, see the info on the MIT-version at the right.
The after-time is adjusted to the value of Spacewar! 4.x (2 x torpedo lifetime of the MIT-version).
|A ship wins, if the opposing ship is shot or breaks while colliding with the Sun. In case both ships would be out of torpedoes, the game is considered to be draw. A winning ship may still collide with the Sun or with a stray torpedo, resulting in the game being a draw.|
|This feature was not present in the original Minnesota Spacewar, but is well documented for various later versions of Spacewar and was added as an additional option. With partial damage enabled, a ship will loose any of the following abilities when hit: turn left, turn right, thrust, retro-thrust. The ship will break on the forth hit.||See the entry at the left. This feature was not present in the original MIT-version.|
|While this was not a feature in the original Minnesota Spacewar, torpedo gravity is well known to have existed in later ports of Spacewar. (The reason for the lack of torpedo gravity in the Minnesota version is the same as for the MIT version: While most operations could be handled by bit-shifting, gravity had to be calculated by floating-point operations, which were quite expensive in terms of machine cycles. Real-time computing was still a walk on the edge throughout the 1960s.)
The actual behavior is not based on any facts, but some aspects like torpedoes being "planted" in the Sun or being accelerated (in a steep angle) when passing through the Sun, are described in various memories on the game.
|See the entry at the left. This feature was not present in the original MIT-version.|
|Shapes are based on screenshots in Kuhfeld's article. Switching shapes will also change the general gameplay and mechanics. Affected values are torpedo count, spacing, and lifetime, ships' velocity, low gravity, setup positions, hyperspace functionallity, collision behavior in the after-time (compare the entries above), and the appearance of the Sun.||Ship outlines are based on the original MIT-game. Switching outlines affects also the general gameplay and behavior (see above).|
|This is the dismissed quasi-realistic feature of the MIT version that would add random noise to the speed, angle, and lifetime of the torpedoes (see Steve Russell's quote above). The amount of the random noise has been chosen deliberately in the absence of a true historic example.
(Since this never gained the blessing of an official feature, it is only added to the top of the emulation, alongside the display controls.)
|The Sun is animated by a kaleidoscope effect, produced by random values mirrored by x/y-axes and projected through a circular mask.||The MIT-version used a short, spinning line, which produced a quite hypnotic effect with the sustain provided by the "P7" phosphor of the Type 30 CRT display. In MIT-mode the Sun is switched to its original appearance.|
|Like in MIT-Spacewar! the Sun may be switched to kill on contact or rather warp the ships.
Moreover, there is an option to override the standard animation of the Sun by Conway's Game of Life, which was quite popular in the 1970s.
|Explosions are rendered as kaleisdoscope effects, quite like the Sun, but in increasing size and deminishing intensity. While there are no explosion effects for stranded torpedoes, torpedo-hits occuring with partial damage are animated by a small particle effect, like in the MIT-setup. (Please note that there was no partial damage in the original Minnesota Spacewar. It was added here as an option, but there is no model for this or the related visual effects in the original game.)||Explosions are rendered as particle effects.|
|Like in MIT-Spacewar! octogonal hitboxes (consisting of two rectangles) are used for hit detection. Motion based distortions were added to the hitboxes, in order to provide a more accurate detection.|
|Like the MIT version Minnesota Spacewar started with a random starfield for the background, which was soon dismissed in favor for an aesthetically pleasing star-map. Opposed to the moving starfield to be found in the MIT version, this was rather a wallpaper-like fixed backdrop.
(Both versions used the stars both as an aesthetical and a functional provision: Kuhfeld describes the stars to "provide a fine 'atmosphere' to put the players in the proper mood and serve as motionless reference points useful in judging ship velocity".)
|A score display was added, functionally comparable to the scorer-patch for Spacewar! 4.8 (and a similar scorer to be found in some flavors of versions 4.2–4.4 of MIT-Spacewar!). The scorer is activated by a console switch and displays scores as a game is over. As mentioned in Kuhfeld's description, the scorer also lists draws, and, additionally, the games played in total. (In Minnesota-Spacewar, as described in Kuhfeld's article, scores were output by a console printer.)|
|The machine running Kuhfeld's original program was a CDC 3100 with a custom display. The display depicted in the article was a CRT with random-addressable plotting position (and probably did not have a P-7 phosphor providing long sustain for movement trails). While there is no information on the resolution or the aspect ratio of this display, the photo in the article shows a screen ratio, which appears to be significantly wider than high, but might be a bit closer to a square than 4:3. A resolution of 640 x 512 pixels was chosen deliberatly (which is in height half the technical resolution of the MIT's PDP-1 Type 30 CRT display and the same as its visual resolution). Probably the original resolution was quite higher than the resolution of the emulated display.
For all emulation modes the CRT is supposed to be some kind of 'animated' display (without a memory or auto-refresh), just like the PDP-1's. There is an option to emulate a "P7" phosphor of dual charistics, featuring a long sustain, which causes moving objects to paint fading trails, quite like in the original MIT-setup (but with the trails a bit shorter). Furthermore, a symbol generator is emulated as a device to generate some vectorized character output. The emulated display features both a medium blue phosphor color (quite often found in 1970's displays) and a whitish configuration, best for high contrast environments. Emulated blur was added to the display for a bit of analog flair.
While the artwork evokes a faint resemblance of the original display, the control console is just a mix of period-flair. No attempt has been made to reproduce the impression of the CD 3100 or its particular installation.
|Some features that are well known to have existed in 1970s versions of Spacewar, but neither in Minnesota Spacewar, nor in the MIT-version, are not present, like space mines, multiple torpedo tubes, or torpedo reload indicators. Also, some 1970s implementation featured an extra button for detonating torpedoes by remote control — a feature not implemented here, but which would make some sense with a torpedo lifetime of 15 seconds or more.
A feature present in the original Minnesota Spacewar, but missing here, is a special recording and playback option.
|The reconstruction is not based on the code outline provided as an illustration to Kuhfeld's article, but rather orients itself at account's on the internals of Spacewar! provided by Steve Russell in various interviews. But without much surprise, the implementation happens to be quite in alignment with Kuhfeld's outline. There might be more than one way to skin a cat, but there is apparently just a limited number of approaches to programming Spacewar!.
Last, but not least: Special thanks to the original author of the game, for contacting me and providing further insight in the game and its history.
Have fun and enjoy!
Vienna, March/April 2014