Spacewar!, one of the world’s first digital games, is a primer on creative design

MoMA may have recently added 14 games to its permanent collection, but when it comes to taking games seriously, the modern art gatekeeper has some stiff competition from the Museum of the Moving Image in Queens. Not only is MoMI hosting IndieCade East for an entire weekend, but bright and airy halls are also exhibiting “Spacewar! Video Games Blast Off” – a major exhibit on the first 50 years of the medium.

That’s why I’m here at the museum on Friday night. John Sharp — the exhibition’s curator — is leading a Q&A with Steve Russell and Peter Samson, two of the people most responsible for creating Spacewar!. For the uninitiated, Spacewar! is an intense action game for 2 players. Each controls the rotation and thrust of a single spaceship and tries to destroy their opponent, slingshotting around the star at the center of the playfield to gain the upper hand, and trying to avoid getting sucked in by the star’s dangerously high gravity.

The significance of Spacewar! cannot be underestimated. It happens to be one of the very first digital games ever made (only William Higgenbotham’s gets regular credit for getting there earlier). Programmer (now composer) L. Peter Deutsch told Russell Brand in Rolling Stone in 1972:

“The programming of the thing was a remarkable tour de forge, because the machine did not have a multiply or divide, The way that the outline of the spaceship was rotated was by compiling a special-purpose program. Nice programming trick… Spacewar was ‘ not an outgrowth of any work on computer-graphics, but it may have inspired – some of it. That’s speculation”

When they weren’t talking what they were playing on their smartphones (Tiny Village) or designing speed runs for the NYC subway, they were talking about design. Hearing Steve and Peter talk about the game, I found myself startled at how familiar and relevant the story they were telling should seem to any game designer in this crazy distant future of today.

I found myself startled at how familiar and relevant the story was.

Steve and Peter get to MIT around 1960 with stars in their eyes about this wondrous new “computer” thing, curious and excited to experiment with its possibilities. MIT has one of the only 50 or so PDP-1s ever produced, so they’re in luck. They try out Prof. Minsky’s Minskytron, and it’s fun for a moment, but as one could expect, they quickly bore of moving three dots around by themselves.

Steve has a flash of brilliance. He thinks he can make something more fun, something that people would want to play many times. Something, maybe, that would also teach them something….like, how to fly a spaceship? (He’s been reading a lot of E.E. Smith, the father of space opera). He starts talking to his friends about this idea; they all love it. “Steve, that sounds really cool”, they say. “But I have no idea how to do it. Hey…YOU should do it!”

He procrastinates. Programming on the PDP-1 is a huge pain in the ass: compiling and debugging a program is an incredibly tedious process that takes hours if not days to complete. (To be more explicit, the debugging output is a total memory dump in octal notation. Steve calls it “absorbing….but not exciting”). Time passes and some clever fellow students write a debugger that works much faster — minutes instead of hours — and spits out output using the same 3-character assembly codes that the programmer has used in his code. All of a sudden, it’s possible to fix multiple bugs in a single hour!

But Steve still dawdles…until, one day, he’s telling a friend about his dream game yet again, and this friend says: “Steve, here’s a subroutine I wrote for calculating sin/cos. Now you’ve got a function for handling the movement. Now you really have no excuse not to make this.” 

Steve starts coding. He’s got an idea for how to make his program fun: add a goal! Zooming around space is great and all, but there’s lots more replay value when there’s an opponent to defeat. As Peter says, “you need a forcing function. And competition gives you that.” This is game design 101, but for the first computer game, it’s a revelation.

Where there are opponents, there are torpedoes. Of course, the PDP-1 still being what it is — one of the earliest computers — there’s not enough processing power to model the effects of gravity on both the spaceships AND the torpedoes. No problem: the torpedoes are obviously photon torpedoes, which are not affected by gravity.

Fun before realism.

Steve wants the game to be realistic — after all, it’s supposed to teach players something — but he quickly discovers that realism and fun don’t always mix. An attempt to make the torpedoes behave more like imperfect real-world munitions by giving them variable speed and direction backfires. Players protest en masse. Fun before realism. The prototype is scrapped after a couple of days.

More prototypes follow, like Peter’s Winds of Space. But adding a constant force that increases as your spaceship moves away from the star, driving the ship perpendicular to its direction of movement, isn’t exactly a hit either. Crumpled, scrapped. Some changes stay: Peter points out that Steve’s star map background is disastrously inaccurate, and puts his astronomy skills to use to make a correct one that finds its way into the final version of the game.

They continue to iterate and playtest.

A thousand hours, all told.

And then, one Saturday morning, at 1am, there’s a line of people outside the computer room waiting to play Spacewar.

No, wait. Excuse me. Spacewar!

“Once I got it working, I thought it deserved an exclamation point!”