XNA Studio Introduction to XNA Brian Keller Product
XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation
XNA Mission XNA enables studios and publishers to develop better games, more effectively, on all platforms
XNA Timeline Windows and Xbox tools convergence XACT, PIX Common Controller, Live on Windows Showed progress on tools convergence Announced “XNA Studio” Tech Preview at GDC SDK teams committed to this effort for current and new tools Challenging questions: Assume identical SDKs, how much more effective are studios? How are we helping studios manage the transition from code to content?
XNA Background
Game Technology Map
XNA Pillars Design/Content Creation Process Game Technology
Design and Content Creation
Design and content creation comments We need to build games for multiple platforms. It’s all about rapid iteration. Our content builds all use different technologies. Tracking down problems between build scripts and build tools can be very difficult. We need better systems for managing how content is created. Our current system is barely handling 40+ artists and designers, let alone any outsourcing. We don’t delete anything from source code control. We often have problems because someone forgot to check something in.
Today’s content build systems Today’s Content Build Observations Advanced build (distributed) • Game specific, homegrown solutions • Studios should be able to leverage existing solutions Basic build infrastructure (logging etc) • Game specific, homegrown solutions • Studios should get this from core build technology 1. Complex content build scripts 2. Über tool builds everything • Intimate knowledge of content • Poor experience creating and maintaining build scripts • Game specific tools limit potential investment • Perl scripts • Batch files, nmake • … • Core technology not robust • Hard to log, profile and debug Game specific build tools Core build technology
Game content relationships DCC Tools Huge quantities of content being created with complex relationships Studio Tools Game Content Asset Management Work Items Build Most tools store content relationships in tool specific ways Content storage, production and build tools have limited knowledge of relationships Custom knowledge of relationships is required to become more efficient Limited time/incentive means no common system is evolving
We know that… Content relationships are key Everyone wants standard ways to describe and query content relationships But, Can’t replace existing relationship information Must be useful without complete knowledge Acknowledge that not all content is equal
XNA Build Today’s Content Build XNA Build Advanced build (distributed) • Game specific, homegrown solutions • Incremental builds • Distributed build support Basic build infrastructure (logging etc) • Game specific, homegrown solutions • HTML, XML, RSS build logging • Deployment for MS platforms • Debugging 1. Complex content build scripts 2. Über tool builds everything • Intimate knowledge of content • Monitor and record game build tools into relationship store • Use for 1 st build optimizations • Great editing environment • Perl scripts • Batch files, nmake • … MSBuild • Robust and extensible • Visual Studio build engine • Ships with. NET Framework 2. 0 Game specific build tools Core build technology
XNA and content relationships 1. 1 Establish common relationship store 1. 2 Build tools add build relationships 3 1 Relationship 4 Store Asset Mgmt 2. 3 Content tools opt-in • Simple API used to record relationships Does NOT replacing existing relationships Work Items • • Working with DCC vendors Studios decide whether and how much to use this for their tools 2 3. 4 Query engine for relationships • • Who depends on this content? Is this content used? Who signed off on this content? What changed in the level last month?
Building Mech. Commander 2 using XNA Build What are the implications of changing this texture? Mech. ini . ASE . tga … . ASE . tga
Mech. Commander 2 XNA Build observations Incremental builds were dramatically reduced Build Type One asset changed No content changed 384 seconds 380 seconds With XNA Build (Code + Content) 61 -268 seconds (depending on asset) 27 seconds Performance Gain Up to 6 x faster 14 x faster Original Build System (Code + Content) Added benefits: Anybody in the studio can easily query this information Build dependencies easily surfaced 10% of models not used in build Additional relationship information revealed 40% of shipped textures were not used in game
“XNA Studio”
Process comments Good tools exist for different things but they aren’t integrated. Programmers use Project and our bug system, the art team and design team use Excel and the producers use Project when talking to the publisher. Finding out current status is a full-time job We have good core systems, but we don’t have the right interfaces to them and that leads to mistakes. Having an asset wrangler has helped a lot but we’d like to get it right the first time. We store most of our content in our source code control system but we keep large files in a share that gets backed up every week.
Visual Studio 2005 Team System • Extensible work items • Customize work item: fields, states and rules • Link work items to check-ins, reports etc • Notifications of work items assigned to you • Scalable and robust • Integrated check in with work items • Extensible check in rules • Accessed through web services or. NET API Work Items Source Code Control Build Automation Project Management • Scripted nightly build • Generates reports • Code coverage, Unit tests • Bugs fixed, Bug Trends • 2 way sync with MS Project, Excel • Project Portal • Access to high-level project information • Web access work items
“XNA Studio” Game Content Creator Game Producer • Example content work items: • Art, design audio… • Studios customize for themselves • Integrate asset management into DCC tools • Enable code style checks for content • Customizing system for game content • Size, capacity, history management • Asset viewers, diffs etc Work Items Source Code Control Build Automation Project Management • Develop content build tasks • Build content reports • Asset trends, Build/footprint trends • Publisher specific reports • Milestone etc
XNA Home http: //www. microsoft. com/xna Feedback / Questions xna@microsoft. com © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
© 2006 Microsoft Corporation. All rights reserved. Microsoft, Direct. X, Xbox 360, the Xbox logo, and XNA are either registered trademarks or trademarks of Microsoft Corporation in the United Sates and / or other countries. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
- Slides: 24