Xbox Launch: Lessons Learned - PowerPoint PPT Presentation

About This Presentation
Title:

Xbox Launch: Lessons Learned

Description:

Xbox Launch: Lessons Learned Pete Isensee Lead Developer Xbox Advanced Technology Group – PowerPoint PPT presentation

Number of Views:288
Avg rating:3.0/5.0
Slides: 30
Provided by: PeteI150
Category:

less

Transcript and Presenter's Notes

Title: Xbox Launch: Lessons Learned


1
Xbox LaunchLessons 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
  • Its all about games if its not about the
    games, its 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 didnt know what it wanted
  • We should communicate better
  • Your group doesnt understand
  • My group isnt valued
  • We didnt build tools soon enough
  • My group knows how to do its job the other
    groups dont

9
Xbox OS
  • Based on NT kernel
  • Extremely lean
  • No virtual memory paging
  • No multiple processes
  • Original goal lt 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 wasnt 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
  • Dont overdo it
  • Take advantage of 9 GB disc and 8 GB HD
  • Avoid silent load screens

24
Xbox Graphics
  • Exploiting the shaders
  • Games that dont fill the disc with content
  • Texture resolutions too low
  • Individual graphics files
  • Lessons learned
  • Shaders arent 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
  • Dont 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
Write a Comment
User Comments (0)
About PowerShow.com