Download
xbox launch lessons learned n.
Skip this Video
Loading SlideShow in 5 Seconds..
Xbox Launch: Lessons Learned PowerPoint Presentation
Download Presentation
Xbox Launch: Lessons Learned

Xbox Launch: Lessons Learned

152 Views Download Presentation
Download Presentation

Xbox Launch: Lessons Learned

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Xbox Launch:Lessons Learned Pete Isensee Lead Developer Xbox Advanced Technology Group

  2. Presentation Goals • Xbox system team lessons learned • Xbox game developer lessons learned • How these lessons apply to game development in general

  3. Xbox Launch Goals • Excellent hardware at reasonable cost • Superior software development libraries and tools • Launch (well before) Christmas 2001 • Solid lineup of launch titles • It’s all about games – if it’s not about the games, it’s not a priority

  4. The Version 1.0 Stigma • “Microsoft has a reputation for blowing version 1.0 of whatever it does, then relentlessly improving its products and finally getting it right with version 3.0” – Houston Chronicle • Xbox unspoken goal: get it right for 1.0

  5. The Hardware • CPU: 733 MHz Pentium III • GPU: 233 MHz NVIDIA NV2A • Audio: NVIDIA MCPX • Memory: 64 MB • Hard Disk: 8 GB • DVD: 5x CAV • Network: Ethernet 10/100 Mb/S • Controllers: 4 ports

  6. The Numbers – the Xbox • Approval to shelf: 21 months • System software builds: 352 • Software development kit releases: 20 • Birthrate: 1 Xbox every 3 seconds • Xbox consoles sold in 2001: 1.5 million

  7. The Numbers – the Games • Signed developers: 300+ • Launch titles: 19 • Titles shipped to date: 50+ • Games sold in 2001: 4.5 million • Copies of Halo sold to date: 1,000,000+

  8. Postmortem Ad Nauseum • We needed more resources • We needed a better schedule • The specs were inadequate • Marketing didn’t know what it wanted • We should communicate better • Your group doesn’t understand • My group isn’t valued • We didn’t build tools soon enough • My group knows how to do its job – the other groups don’t

  9. Xbox OS • Based on NT kernel • Extremely lean • No virtual memory paging • No multiple processes • Original goal: < 1MB • Xbox kernel runtime: 150K • Lessons learned • Taking advantage of existing technology • Knowing when to create new technology • Set goals

  10. Specifications • Spec template • Specs for major components • Some minor components were overlooked • Lessons learned • Specs/design documents are critical • New hires • Product documentation • Packaging, manuals • Keep them up to date

  11. Library Design • Polling-based rather than event-driven • Game “owns” the hardware • Ring 0 (kernel mode) • Direct access to GPU and CPU • Up-front memory allocation • Lessons learned • Understand your customer • Get input from your customer

  12. Library Design • Familiar API • Direct3D, DirectSound • Win32 File I/O • New APIs • Input • Lessons learned • Consistency improves the learning curve • Consistency can be misleading

  13. Source Code Management • Internal tool • Public checkins • Labels • Branching (demos, patches) • Lessons learned • Source code management is essential • Communicate about source code changes

  14. Assertions • Rest In Peace (RIP) debug protocol BOOL XFindNextSoundtrack( HANDLE FindHandle, PXSOUNDTRACK_DATA pSoundtrackData ) { RIP((NULL != FindHandle)); RIP((INVALID_HANDLE_VALUE != FindHandle)); RIP((NULL != pSoundtrackData)); . . . • Lessons learned • Assert yourself

  15. Bug Tracking • Internal bug tracking tool • Bug priorities • Scheduling • Resolving and closing • Lessons learned • Fix bugs now • Verify fixes

  16. Milestones • Monthly releases of XDK • If feature was baked, it shipped • If feature wasn’t ready, it shipped next month • Lessons learned • The importance of milestones • Code lockdowns • Change process management

  17. Trimming the Feature Set • Online • Dashboard • Tools • Lessons learned • Implement the strategic features first • Be realistic • Cut early

  18. Quality Assurance • Testers per developer • Test plans • Daily builds • Build verification tests (smoke test) • Stress • Lessons learned • Test early • Test often

  19. Xbox Hardware

  20. Xbox Hardware • Xbox controller • “The chubbiest controller on the market” - LA Times • Lack of usability testing • Actual ergonomics • Lessons learned • Awareness of a global market • Usability testing

  21. Xbox System Team Tools • Microsoft Visual Studio/Visual C++ • Word/Excel • Source control (internal tool) • Bug tracking (internal tool) • Lessons learned • Use the right tools for the job • Take advantage of existing tools • Build good tools

  22. Xbox Audio • User-created soundtracks • Incredible audio hardware • Dolby Digital, Dolby 5.1 • Lessons learned • Simple features can have dramatic impact • Investing in future technology

  23. Xbox Audio • Games not taking advantage of DSP • 3D reverb • Occlusion/Obstruction • Too many 3D positioned sounds • Prerendering reverb/filtering into audio • Lessons learned • Untapped audio capabilities • Don’t overdo it • Take advantage of 9 GB disc and 8 GB HD • Avoid silent load screens

  24. Xbox Graphics • Exploiting the shaders • Games that don’t fill the disc with content • Texture resolutions too low • Individual graphics files • Lessons learned • Shaders aren’t just for performance wins • Take advantage of 9 GB disc and 8 GB HD • Author at high resolutions; downsample later • Bundle assets together

  25. Xbox Graphics • Taking true advantage of the hardware • HDTV • Anti-aliasing • Lessons learned • Porting issues • Understanding your audience • Making tradeoffs

  26. Xbox Hard Disk • 8 GB total; 750 MB utility partition • Online content • Save games and user profiles • Untapped potential • Lessons learned • Invest in the future (online) • Take advantage of the cache • Streaming textures

  27. Xbox International • Xbox Dashboard • German and the 30% rule • Far East fonts • NTSC/PAL – 60/50 Hz • Lessons learned • Build your game as if it were shipping in multiple countries • Keep string resources separate from code • Design UI with internationalization in mind • Don’t tie game logic to frame rate

  28. Summary • Xbox launch • Shipping on time • Shipping without bugs • Quality engineering practices • The future of Xbox games • Lifelike graphics • Cinema-quality audio • Online play • Voice

  29. Questions • http://www.xbox.com • Please fill out your feedback forms