elite – gdc 2011 gdc 2011 postmortems david braben

Download Elite – GDC 2011 GDC 2011 POSTMORTEMS David Braben

If you can't read please download the document

Upload: marcella-hancey

Post on 13-Dec-2015

224 views

Category:

Documents


8 download

TRANSCRIPT

  • Slide 1

Elite GDC 2011 GDC 2011 POSTMORTEMS David Braben Slide 2 So who Am I? David Braben Im an old timerIm an old timer Writing games commercially for 29 years, starting with Elite, written with Ian Bell in the early 1980s. Im Chairman of Frontier DevelopmentsIm 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 Slide 3 Elite GDC 2011 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 *Floating point performance up by ~20,000,000 times **Moores Law in games sector ~doubling faster than every year ***kflop per kbyte increased >1200 times since 1982 Perhaps the only field in which such a rapid rate of change has been sustained for so long only other software fields come close Slide 4 Elite GDC 2011 1980 - Acorn Acorn made simple machines (eg Acorn Atom)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 BBCSuccessor BBC Micro endorsed by the BBC Created a generation of programmers Encouraged easy experimentation in BASIC: 10 PRINT Hello 20 GOTO 10 Programming was coolProgramming was cool Mainstream press concentrated on the money to be made Magazines even had type-in listings! Slide 5 Elite GDC 2011 Coin-Drop Games were all about the Coin DropGames were all about the Coin Drop Arcade meant just that most games were in arcades Space Invader, Defender, Galaxian, Pac Man, Missile Command Space Invader, Defender, Galaxian, Pac Man, Missile Command Gameplay fell into a rigid structure: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 After a few minutes it became very hard to continue Games on home machines copied them shamelessly!Games on home machines copied them shamelessly! Despite the lack of the coin-drop requirement Slide 6 Elite GDC 2011 Motivation By 1982 games were stuck in a rutBy 1982 games were stuck in a rut 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 I had an over-clocked and highly modified Acorn AtomI had an over-clocked and highly modified Acorn Atom And already had 3D space ships flying around on it But no BBC Micro (I couldnt afford one) We had an unshakable belief that:We had an unshakable belief that: 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 gameSo we set about writing a game Slide 7 Elite GDC 2011 The Genesis of Elite Spaceships flying around and shooting felt dullSpaceships flying around and shooting felt dull Wanted a reason to really care about it Wanted it to feel more like going on an adventure ScoreScore 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 Slide 8 Elite GDC 2011 The Elite The RatingThe 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 TheShort 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 luckyWe were very very lucky We were at the right place, right time with the right game Slide 9 Elite GDC 2011 The Game Slide 10 Elite GDC 2011 The World Wanted to cram in as much as we couldWanted 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 Wouldnt it be great if we could store an entire galaxy in six bytes! Silver bullet #1: Fibonacci number sequencesSilver 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! Slide 11 Elite GDC 2011 Maths Running on a 2Mhz 6502 BBC Micro (fast for the time)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 tricksNeeded 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 Slide 12 Elite GDC 2011 Space Ships Needed as high a frame rate as possibleNeeded 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 couldnt afford the time to rotate and project all the vertices Fast hidden line removal solved both these Limited shapes to convex hullsLimited shapes to convex hulls With convex hulls lines are never partially occluded Using symmetry gave further efficienciesUsing symmetry gave further efficiencies Sharing matrix partial products gave a further 40% speed increase Slide 13 Elite GDC 2011 Rendering Lines had to be drawn then undrawnLines 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 performanceSpecial screen mode to improve performance Reduced horizontal resolution to 256 pixels Sped up calculation by ~20% Algorithm used depends on angle and lengthAlgorithm used depends on angle and length Slide 14 Elite GDC 2011 Text All text tokenised (letter pairs for planet names)All text tokenised (letter pairs for planet names) LAVE REIDQUAT ZAONCE LAVE REIDQUAT ZAONCE Then compressed using a recursive tokenising system Descriptive paragraphs added for humour:Descriptive paragraphs added for humour: (Only when docked as this overlay sat in the same memory space as the renderer) Slide 15 Elite GDC 2011 Paranoia We had a running playable game in autumn 1983We 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 paranoidWe became paranoid We thought if anyone saw it they would realise real time 3D graphics were possible We were terrified wed get ripped off Slide 16 Elite GDC 2011 Publishing So we took our precious creation to find a publisherSo we took our precious creation to find a publisher It was already close to being finished and fully playable Oh dearOh dear 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 AcornsoftBut 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 Slide 17 Elite GDC 2011 Every Publishers Nightmare And then, two weeks before it was to go to duplicationAnd then, two weeks before it was to go to duplication we changed it completely! We were mad! we changed it completely! We were mad! The game had been finished and tested for a monthThe 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 systemI was tinkering with a new radar system I didnt like the dual radar system that was then in-game I wanted something better for a sequel I discussed it with Ian, then with AcornI discussed it with Ian, then with Acorn We then spent all night grabbing new screenshots for the manual! Slide 18 Elite GDC 2011 Release Box design error by a couple of mmBox design error by a couple of mm Game cassette (or disc), quick reference chart, poster, manual, story, key strip didnt fold as tightly as expected It overflowed! Hired Thorpe Park for press launchHired Thorpe Park for press launch Amazing event; another world ITN newsITN news Embarrasingly gawky teenagers pretending to be cool! Auction for other versionsAuction for other versions Commodore 64, Spectrum, Amstrad, Apple ][ etc Slide 19 Elite GDC 2011 Afterwards Elite went on to sell a million copiesElite went on to sell a million copies And pirated a lot more! Converted on to 17 platforms Ian and I went our separate waysIan and I went our separate ways I went on to write the sequels and found Frontier Slide 20 Elite GDC 2011 Thank you for Listening Questions & Answers Answers