1 / 29

Xbox Launch: Lessons Learned

Xbox Launch: Lessons Learned. Pete Isensee Lead Developer Xbox Advanced Technology Group. Presentation Goals. Xbox system team lessons learned Xbox game developer lessons learned How these lessons apply to game development in general. Xbox Launch Goals.

wilson
Download Presentation

Xbox Launch: Lessons Learned

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related