How Elite took flight
GDC 2011: Frontier Developments chairman David Braben reveals what it took to get space trading sim out of spacedock and onto 17 different platforms.
We'll begin emailing you updates about %gameName%.
Who was there: David Braben, who, along with Ian Bell, developed the seminal 1984 3D space flight and trading sim Elite, originally released on the BBC Micro computer.
What they talked about: While much of the Game Developers Conference is fixated on looking ahead to the future of the gaming industry, this year's GDC has a series of talks focused squarely on the past. One such session came courtesy of Frontier Developments chairman David Braben, who took time Wednesday afternoon to offer up a classic game postmortem on Elite.
Braben started by admitting the session is designed to be a nostalgia trip. Going back to 1980 (complete with a picture of Braben and Bell from the era), he talked about how a company called Acorn made it possible for him to get into the industry. The Acorn Atom computer let users program at a relatively cheap price, with everything needed for programming included. There was also the BBC Micro, endorsed by the British media arm, which Braben said created a generation of programmers with the easy-to-experiment-with BASIC language.
Essentially all games made during the era were designed for arcade play, he said. The average playtime was no more than 10 minutes, they had steep difficulty curves, and even the extra-life-at-10,000-points milestone was fairly universal. Braben noted that even home games--which didn't live off a constant stream of pocket change--retained most of those design constraints for no apparent reason.
Braben said he thought that games were already stuck in a rut at the time, despite being an incredibly new medium. He and Bell responded by wanting to write a game for themselves that was something they wanted to play. He stressed it wasn't designed with a market in mind.
The pair was also a bit young and inexperienced to know the game they wanted to make was technically daunting for the hardware at the time, Braben said. But they struck out with the belief that 22K would be plenty of memory and that any problem they ran into could be overcome with a little thought.
In early experiments, Braben realized two things. First off, flying ships around shooting other ships was a bit dull. Each enemy ship would just be replaced with another, tougher ship, but without a sense of purpose behind it, the game didn't capture the feeling Braben wanted of going on an adventure.
Second, Braben and Bell realized they hated the idea of scoring points. They wanted a score to be something that could be traded in for upgrades, not just extra lives at every 10,000 points. As for how to get money and make players feel like they were going on journeys, Braben said Bell came up with the idea to have them engage in interstellar trading. That led to the idea of piracy as a playable possibility, bounties for particularly prolific pirates, and the notion of rags-to-riches character development.
Braben acknowledged that score wasn't totally useless, but it should be limited to giving players a sense of progression. The player's pilot rating was created in response, giving them the long-term goal of raising their rank to "The Elite." Unfortunately, short filenames and a lack of support for spaces necessitate the abbreviation of the rank to "Elite," giving the game its name.
Next, Braben busted out an Acorn emulator on his laptop and took the audience through the early stages of gameplay, from equipping his ship to looking at star maps to choose a destination. Once in the gameplay, he stuck around just long enough to show the space station docking gameplay, which required players to match the station's rotation as they lined up with a docking bay. It could be particularly nerve-rattling at the end of a long journey with a hold full of expensive cargo, Braben noted, but he completed the task without a problem before resuming his talk.
For the world of Elite, Braben and Bell wanted to create a huge universe for players to explore, but they had equally huge problems with memory (the aforementioned 22K of RAM). One trick they used to get around the issue was Fibonacci number sequences to fake randomized, procedurally generated universes with little impact on memory. They created hundreds of different universes using different seed numbers and had a "beauty parade," culling possible universes as they turned up with an uneven distribution of locations, or even remote star systems that would have effectively stranded any players unlucky enough to start there. Other math tricks (using logarithms to increase speed on multiplication and division tasks) also had to be employed, because the alternative was not being able to make the game, Braben said.
As for ship design, Braben said he and Bell ran into problems with making enemy ships. They knew they wanted about 20 or so lines in the wireframe models to make the shapes distinct. On top of that, standard wireframe graphics resulted in muddled messes for complex shapes (he mentioned Battlezone), because it was like building ships out of glass, and players wouldn't be able to instantly figure out which lines were in front and which were in back of the ship. However, Braben said they implemented a method to hide the lines that shouldn't be visible to players, which made a world of difference not just on the ease of ship identification, but on the speed at which the game ran.
Text was another problem, Braben said, much like video is in modern games. Instead of saving a list of lengthy planet names, the developers just created a set of generic letter pairs that the game would mix and match as needed to get the same output without as much strain on the memory. The effort was so successful they used that same compression technique on all the text in the game, going so far as to rename items and menu lists to use those same preexisting letter sequences to save bytes here and there. When players were docked and the memory space for the game's renderer was no longer needed, Braben said they added descriptive paragraphs for the planets to add some humor. For example, one planet may be "a tedious place," while another is famous for its "mountain poet."
In the fall of 1983, they had a running playable version of the game and began taking it to publishers, an experience he referred to as "heart destroying" while acknowledging it's something developers still deal with today. The first reaction they received was that Elite was a great tech demo but didn't make for a good game because it didn't have three lives and a 10-minute play time. According to the publishers, consumers wouldn't "get" 3D, and the market for a game like Elite was too niche.
It was discouraging enough that Braben started to wonder if the publishers were right. However, he eventually found Acornsoft, a publisher started by techies working out of a converted house. Braben and Bell signed on with the company and split the advance money (which Braben used to buy a BBC Micro). And perhaps more importantly, Braben said he and Bell retained the film rights for the game, as well as the rights to bring it to other platforms.
Then Braben said he became "every publisher's nightmare." With the game finished and two weeks away from duplication, he and Bell decided to change it. Until that point, Elite had used two separate radars to give players a sense of location in 3D space: one from above and one from the side. Players would have to cross-reference the two radars to figure out where they were--a tricky task with a steep learning curve. In tinkering with the game for a sequel, Braben figured out how to depict a 3D radar system and implement it in the game. He showed it off to Acornsoft, and they agreed it should go in.
The work paid off in the end, as Elite was a resounding success. The game was eventually converted to 17 different platforms, selling a million copies in the process.
After the main portion of the talk, Braben was asked by an audience member if Elite 4 was still on the drawing board.
"Yes," he replied. "It would be a tragedy if it [weren't]."
Quote: "The fantastic thing about being young is you don't know what's not possible and you don't know quite what you're getting into."--Braben, on how Elite benefited from his lack of development experience.
Takeaway: There's a good reason 3D space flight trading sims weren't common when Braben and Bell made Elite. The pair had to reach deep into their mathematical bag of tricks to coax every bit of power from the hardware of the time.