ELITE by David Braben (Frontier Developments) Game

Download Report

Transcript ELITE by David Braben (Frontier Developments) Game

GDC 2011
POSTMORTEMS
David Braben
Elite – GDC 2011
So who Am I? – David Braben
•
I’m an ‘old timer’
–
•
Writing games commercially for 29 years, starting with “Elite”, written with Ian Bell in the early 1980s.
I’m Chairman of Frontier Developments
–
–
–
We are 210 people, based in Cambridge, UK
Supporting a wide range of platforms and genres
Mature in-house tool chain
Winding back time…
1. (1982) 8 bit: Apple® II, Pet, BBC Micro, Spectrum, NES, C64, etc
2. (1988) 16 bit: Atari® ST, Amiga, Megadrive, SNES, PC
3. (1994) 32 bit: PlayStation®, Saturn™, N64, PC
4. (2000) PlayStation® 2, Xbox®, Gamecube™, PSP™, PC
5. (2006) Xbox® 360, PlayStation® 3, PC
Perhaps the only field in which such a rapid rate of
change has been sustained for so long – only other
software fields come close
*Floating point performance up by ~20,000,000 times
**Moore’s ‘Law’ in games sector ~doubling faster than every year
***kflop per kbyte increased >1200 times since 1982
Elite – GDC 2011
1980 - Acorn
• Acorn made simple machines (eg Acorn Atom)
– Easy to program, & (relatively) cheap -£120 for a kit
– Everything needed for programming included
• Successor ‘BBC Micro’ endorsed by the BBC
– Created a generation of programmers
– Encouraged easy experimentation in BASIC:
10 PRINT “Hello”
20 GOTO 10
• Programming was ‘cool’
– Mainstream press concentrated on the money to be made
– Magazines even had type-in listings!
Elite – GDC 2011
Coin-Drop
• Games were all about the ‘Coin Drop’
– ‘Arcade’ meant just that – most games were in arcades
•
Space Invader, Defender, Galaxian, Pac Man, Missile Command
• Gameplay fell into a rigid structure:
– Play time was typically no more than 10 minutes
– Three lives, with an extra one at 10,000 score
– Steep difficulty curve
•
After a few minutes it became very hard to continue
• Games on home machines copied them shamelessly!
– Despite the lack of the coin-drop requirement
Elite – GDC 2011
Motivation
•
By 1982 games were ‘stuck in a rut’
–
–
–
•
I had an over-clocked and highly modified Acorn Atom
–
–
•
And already had 3D space ships flying around on it
But no BBC Micro (I couldn’t afford one)
We had an unshakable belief that:
–
–
•
Seems remarkable given how young the industry was!
Ian and I wanted to make a game that broke out of this ‘rut’
We wanted to write a game for ourselves, not an imagined ‘arcade’ player
22k was a lot of memory
A silver bullet can be found for just about any problem if you look hard enough
So we set about writing a game…
Elite – GDC 2011
The Genesis of “Elite”
• Spaceships flying around and shooting felt dull
– Wanted a reason to really care about it
– Wanted it to feel more like going on an adventure
• Score
–
–
–
–
–
This was one of our pet hates
We wanted to be able to spend ‘score’ on upgrades, not just get extra lives at 10,000
Margaret Thatcher was in power, and money seemed to be the obvious choice!
Trading was added, as a way of justifying going on a journey
Piracy, bounty, profit, rags-to-riches flowed naturally from that
Elite – GDC 2011
“The Elite”
• The Rating
– We wanted to reward and track progression
– The player needed to feel special, part of a secret organisation
– Becoming one of “The Elite” felt like a great goal
• Short filenames and no spaces killed the “The”
– So we referred to it as “Elite” and it stuck
– And so “Elite” was born
• We were very very lucky
– We were at the right place, right time with the right game
Elite – GDC 2011
The Game
Elite – GDC 2011
The World
•
Wanted to cram in as much as we could…
–
–
–
•
BBC Micro had 32K of RAM including screen, ~22K left for the game
Wanted a huge world to explore, but memory was a BIG problem
Wouldn’t it be great if we could store an entire galaxy in six bytes!
Silver bullet #1: Fibonacci number sequences
–
–
–
–
12 34 46 80 126 206 332 538 870 1408 2278 3686 5964 9650
Positions, names, governments, economies came for ‘free’
This ‘trickery’ gave us galaxies to explore and made Elite feel huge
Beauty parade: threw away 100s of galaxies!
Elite – GDC 2011
Maths
• Running on a 2Mhz 6502 BBC Micro (fast for the time)
–
–
–
–
No multiply or divide (have to implement ‘long’ division and multiplication)
A single 8 bit ‘accumulator’ and two 8 bit index registers
Tasks like matrix multiplication were very slow indeed
C64 was worse - a 1Mhz 6510 (half the speed of the BBC) but with more RAM
• Needed some innovative tricks
– Logarithms gave a 10x speed boost on multiply and divide with two 256 byte tables
– Matrix operations using addition only for fixed known rotation rates
– ‘Lazy evaluation’
Elite – GDC 2011
Space Ships
• Needed as high a frame rate as possible
–
–
–
–
Problem was to get recognisable shapes needed 20+ lines
BUT complex shapes look a mess without hidden line removal
AND couldn’t afford the time to rotate and project all the vertices
Fast hidden line removal solved both these
• Limited shapes to convex hulls
– With convex hulls lines are never partially occluded
• Using symmetry gave further efficiencies
– Sharing matrix partial products gave a further 40% speed increase
Elite – GDC 2011
Rendering
• Lines had to be drawn then undrawn
– Clearing the screen was way too slow
– Could not ‘double buffer’ the screen for obvious memory reasons
– Lines drawn by inverting the pixels so same routines used for both
• Special screen mode to improve performance
– Reduced horizontal resolution to 256 pixels
– Sped up calculation by ~20%
• Algorithm used depends on angle and length
Elite – GDC 2011
Text
• All text tokenised (letter pairs for planet names)
LAVE REIDQUAT ZAONCE
– Then compressed using a recursive tokenising system
• Descriptive paragraphs added for humour:
(Only when docked as this overlay sat in the same memory space as the renderer)
Elite – GDC 2011
Paranoia
• We had a running playable game in autumn 1983
– I went to a talk by Acorn in which a 3D demo was shown
– It was spooling from a disc drive, but calculated offline
– It was a rotating house, at a lower frame rate than what we already had running
• We became paranoid
– We thought if anyone saw it they would realise real time 3D graphics were possible
– We were terrified we’d get ripped off
Elite – GDC 2011
Publishing
•
So we took our precious creation to find a publisher
–
•
Oh dear…
–
–
–
•
It was already close to being finished and fully playable
We were told ‘we had a great tech demo’ but no good as a game
Needed three lives and a play time of 10 minutes
And the user would not save their position on their own cassette
But then we found Acornsoft
–
–
–
They were techies like us and adored it
We split an advance of £2,000 and I bought a BBC Micro!
We also retained the film rights (!) and rights to other platforms
Elite – GDC 2011
Every Publisher’s Nightmare
•
And then, two weeks before it was to go to duplication…
…we changed it completely! We were mad!
•
The game had been finished and tested for a month
(Acornsoft rightly believed a September release was better than a summer one)
•
I was tinkering with a new radar system
–
–
•
I didn’t like the dual radar system that was then in-game
I wanted something better for a sequel
I discussed it with Ian, then with Acorn
–
We then spent all night grabbing new screenshots for the manual!
Elite – GDC 2011
Release
• Box design error by a couple of mm
– Game cassette (or disc), quick reference chart, poster,
manual, story, key strip – didn’t fold as tightly as expected
– It overflowed!
• Hired Thorpe Park for press launch
– Amazing event; another world
• ITN news
– Embarrasingly gawky teenagers pretending to be ‘cool’!
• Auction for other versions
– Commodore 64, Spectrum, Amstrad, Apple ][ etc
Elite – GDC 2011
Afterwards
• Elite went on to sell a million copies
– And pirated a lot more!
– Converted on to 17 platforms
• Ian and I went our separate ways
– I went on to write the sequels and found Frontier
Elite – GDC 2011
Thank you for Listening
Questions
&
Answers
Elite – GDC 2011