As the lead programmer on one of the first true digital games, Spacewar!
, Steve Russell is one of the most important people in the history of our industry.
In a chat with John Romero at IndieCade in Los Angeles on Friday, Russell outlined how he started coding this thing in the first place. It all began when MIT got a PDP-1
"We talked about what was a better demonstration program," said Russell, "and I thought maybe something that taught people how to fly a spaceship would be a useful kind of thing. ... And I hoped someone else would build it," he joked. So how did he get roped into it, Romero asked? "They said yeah, 'somebody ought to do that. Somebody who really understands the idea. Why don't you do it?'," said Russell. "So I was shamed into doing some code."
"I discovered after a little poking around that I could use one vector for the direction each object was pointing, and do the sine and cosine of that vector once per cycle, and determine everything in accord with that vector," he said. And in 1961 he got a spaceship running. "It seemed like it needed some torpedoes, so I added some torpedoes," he said. And people started playing it.
"Pete Samson thought my stars were horribly unrealistic," said Russel, "So he coded up a starchart, a program he called 'expensive planetarium.' This was a clever piece of code that took up two pages of assembly."
Since this was created during the Cold War time, Romero wondered if Russell got any flak for creating a game about a war in space, symbolic of the current struggle. "No flak for the subject matter," Russell said. "But there was flak to some extent for the idea of using a computer to play a game!"
Considering the resolution was actually rectangular, why was the game's display circular, Romero asked. "This has to do with history of digital," Russell said. The engineers who started digital equipment had started on MIT programs for defense. "One of the things they had was a simple CRT display, called Whirlwind," which was made in 1951. They had a program called the bouncing ball. They pushed a spot off the top of the wall, had it bounce realistically off the screen or into a hole and disappear, which was key to getting more funding for future projects.
The tube in the display was used in WWII in radar. "If a dot moves, it leaves a trail behind it with the decay, and that's what you want because that's the airplane you're interesting," he said. Since the PDP-1 needed a display, "it became a stepping stone from Whirlwind," he said.
The display dictated how the code had to run, because for 50 microseconds you got a spot on the screen, but it decayed rapidly.
"So if you wanted a fix object, you had to keep displaying it," he said. That was enough time to give gravity to the ships, but "we didn't have time to determine the affect of gravity on the torpedoes," he said, "so we decided they were photon torpedoes."
Russel put all the big changeable variables like size of torpedoes and ships in the first page of code, so people could change them if they wanted. There was no software protection, after all. "About half the PDP1s went into universities," Russell said. "Some people actually got copies of the code and translated it into the computers they had, and others just said 'oh!' and wrote one of their own."
Romero, well-versed in the concept of mods through his time at id Software, points out that this was the first mod community. "While you're making the game, the 'expensive planetarium' was kind of a mod," he asserts.
"Oh yeah!" recalls Russell. "One of the lessons is that games were always collaborative. If you're creating stuff, you need an editor. And you had better pay attention to what the editors have to say."
"At the time the rule of thumb was for each hour of engineering time in writing the program, you needed to spend about an hour of testing time to get the game you were making into the lab," he recalled. "With Spacewar!
, since it was one of the first, I got about 100 to 1,000 times more testing time."
Russell joked that his game is unique in history -- After all, there are "No bug reports, no user complaints, and support is still available!" At this last remark Russell pointed to himself, as the audience erupted in applause.
Here's to this living legend in the advancement of video game art -- may he offer his support for many years to come!