Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to XNA Studio Presentation by Joe Nalewabau Program Manager Architect, XNA Dev team Given today by Jeff Pobst, Lead Tech Game Manager Xbox.

Similar presentations


Presentation on theme: "Introduction to XNA Studio Presentation by Joe Nalewabau Program Manager Architect, XNA Dev team Given today by Jeff Pobst, Lead Tech Game Manager Xbox."— Presentation transcript:

1 Introduction to XNA Studio Presentation by Joe Nalewabau Program Manager Architect, XNA Dev team Given today by Jeff Pobst, Lead Tech Game Manager Xbox Advanced Technology Group

2 XNA Team Mission Statement XNA enables studios and publishers to develop better games, more effectively, on all platforms All platforms = All platforms When you hear “Microsoft Platforms” we mean: Windows (current / future), Xbox (current / next-gen), and Mobile devices (PDA’s, smartphones)

3 XNA Background and Research talking with Game Developers

4 XNA Roadmap XNA announcement –DirectX SDK and XDK tools convergence –Direct X, HLSL –XACT, PIX –Common Controller –Live on Windows Windows and Xbox teams working on these components Showed progress on booked XNA components Talked more with Game Developers Focus on supporting entire game studios Announced XNA Studio Beta at US GDC - March Release in Summer 06

5 Game Technology Map

6 XNA Pillars Design/Content Creation Game Technology Process

7 XNA Pillar Assessment – Core Problems Design Content Creation Instant Preview Changes to content tools or game engine can break production Content build is game specific and often not reliable Workflow between content creators is ad-hoc ProcessProcess tools built for programmers with little integration Code and content build systems are different Lack of industry wide testing tools Game Technology Lack of standard scripting languages and tool sets Non-game UI takes considerable development time Each group has their own major issues that exist across groups of products Not just technology issues – integration and standards issues!

8 Other Findings: Studio staffing grows towards content… InternalOutsourced Art Studio % Programmers 16 18% Content Creators 373074% Producers 2 2% Test 5 6% Total 6030 PublisherTotal % 12% 52% 1 2% 39 34% 40 Dev Studio 130 people at dev house, outsourced group, and publisher on game One example:

9 XNA Build Addressing Content Management and Workflow Efficiency

10 Content build comments: We need to build games for multiple platforms. Content builds fail all the time, sometimes it’s easy to spot, but sometimes it takes forever. We just don’t have enough knowledge about what needs to be rebuilt to do incremental builds We don’t delete anything from our source code control system because we don’t know what is connected to what. I can’t tell you the number of times a build has failed because someone forgot to check something in

11 Today’s content build systems Core build technology Game specific build tools Basic build infrastructure (logging etc) Advanced build (distributed) 1.Complex content build scripts 2.Über tool builds everything Intimate knowledge of content Perl scripts Batch files, nmake … Today’s Content Build Game specific, homegrown solutions Need good tools for creating and maintaining build scripts Game specific tools limit investment in supporting tools Core technology needs to be robust Profiling and debuging a must Studios should be able to leverage existing solutions Studios shouldn’t have to worry about this Solution Tenets

12 Game content relationships Game Tools Work Items Build Studio Tools Game Content Asset Management DCC Tools Huge quantities of content being created with complex relationships –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

13 We Believe: Content relationships are key –Everyone wants standard ways to describe and query content relationships But, –We can’t replace existing relationship information –Must be useful without complete knowledge –Acknowledge that not all content is equal

14 XNA Build and content relationships Work Items 1.Add content build relationships –Record content relationships as seen by build tools 3.Query engine for relationships Make content relationships available Relationship Store Asset Mgmt 2.Add production content relationships Simple API used to record relationships Does NOT replacing existing relationships  Working with DCC vendors for output  Studios decide how to use this for their tools 1 4 1.Establish common relationship store 3 2 1 2 3 4

15 XNA Content Build Core build technology Game specific build tools Basic build infrastructure (logging etc) Advanced build (distributed) 1.Complex content build scripts 2.Über tool builds everything Intimate knowledge of content Perl scripts Batch files, nmake … Today’s Content Build Game specific, homegrown solutions MSBuild Robust and extensible Visual Studio build engine Ships with.NET 2.0 XNA Build Monitor and record game build tools into relationship store Use for 1 st build optimizations Great editing environment XNA Build HTML, XML, RSS build logging Deployment for MS platforms Debugging XNA Build Incremental builds Distributed build support XNA Content Build

16 Building MechCommander2 using XNA Build Create build file using existing tools and processes Execute build file to not only build game, but record the file read and write dependencies Future builds identify changed files and only build dependant targets Analyze data to find dependencies and also… Mech.ini.tga.ASE ….tga unused files

17 Create New Build File for XNA Build Process <Project DefaultTargets="ProcessModels;ProcessSounds;MakeFastFiles" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">.\build\ $(BuildDirectory)\depends\.\tools\.\content\.\content\data\.\content\sound\.\content\responsefiles\.\content\fastfiles\

18 Execute XNA Build New Build file has target tags – tying building to resources created Run new build file to build product using same tools as always In addition to building game, relationship store is populated: –All file reads –All file writes –File reads and writes per target created –Information about the creation and update of each target stored

19 Raw Log Output of Build Steps … Currently support, XML, HTML, RSS outputs…

20 Generated Build Execution Report Build Report Summary Project:c:\xna\mc2\mc2.xbs Total build time: 0 hours 7 min 22.262s ProcessModels 392.01s ProcessSounds 38.41s MakeArtFastFile 95.84s MakeMissionFastFile 47.93s MakeMiscFastFile 12.48s MakeTGLFastFile 161.81s MakeTextureFastFile 135.75s MakeFastFiles 0.00s 0 Error(s) 0 Warning(s) Detailled output per target ProcessModels.\tools\aseconv.exe 2CivLiving.ini 2CivLivingEnc.ini 2StoryCivLiving.ini 2StoryCivLivingEnc.ini Aerospotter.ini airstrikemarker.ini ambulance.ini AmbulanceProp.ini AmmoDump.ini AmmoDumpEnc.ini anubis.ini AnubisLeftArm.ini AnubisRightArm.ini apc.ini armoredcar.ini ArmoredCarProp.ini ArtilleryPiece.ini atlas.ini atlasleftarm.ini AtlasRightArm.ini AutocannonCamo1.ini AutocannonCamo1Enc.ini AutocannonCamo2.ini AutocannonCamo2Enc.ini AutocannonCamo3.ini AutocannonCamo3Enc.ini AutocannonCamo4.ini AutocannonCamo4Enc.ini AutoCannonPopup.ini AutoCannonPopupEnc.ini Barracks.ini BarracksEnc.ini Barrels.ini birch1.ini Birch1Dead.ini birch2.ini birch2dead.ini birch3.ini birch3dead.ini bloodasp.ini bloodaspleftarm.ini bloodasprightarm.ini bluebeaconlight.ini bridge.ini Bridge5.ini BTurretControl.ini BTurretControlEnc.ini BurningTrashBarrel.ini bushwacker.ini BushwackerLeftArm.ini BushwackerRightArm.ini cactus1.ini cactus2.ini Cactus3.ini Cactus4.ini CamoNetting.ini cargotruck.ini CargoTruckProp.ini

21 Sample Read Analysis Count of File Read Root FileTotal C:\XNA\MC2\CONTENT\RESPONSEFILES\TGL.RSP2328 C:\XNA\MC2\CONTENT\RESPONSEFILES\TEXTURES.RSP1371 C:\XNA\MC2\CONTENT\RESPONSEFILES\MISSION.RSP1345 C:\XNA\MC2\CONTENT\RESPONSEFILES\MISC.RSP1241 C:\XNA\MC2\CONTENT\RESPONSEFILES\ART.RSP664 C:\XNA\MC2\CONTENT\SOUND\BETTY\BETTY.RSP55 C:\XNA\MC2\CONTENT\SOUND\PILOTS\PILOT1.RSP43 C:\XNA\MC2\CONTENT\SOUND\PILOTS\PILOT10.RSP43 C:\XNA\MC2\CONTENT\SOUND\PILOTS\PILOT11.RSP43 C:\XNA\MC2\CONTENT\SOUND\PILOTS\PILOT13.RSP43 C:\XNA\MC2\CONTENT\SOUND\PILOTS\PILOT15.RSP43 C:\XNA\MC2\CONTENT\SOUND\PILOTS\PILOT17.RSP43 C:\XNA\MC2\CONTENT\SOUND\PILOTS\PILOT19.RSP43 C:\XNA\MC2\CONTENT\SOUND\PILOTS\PILOT20.RSP43.csv file output as well as HTML, XML, and RSS – load into Excel and Pivot table to your heart’s content!

22 Sample Write Analysis File WrittenTotal C:\XNA\MC2\CONTENT\DATA\TGL\2CIVLIVING.TGL1 C:\XNA\MC2\CONTENT\DATA\TGL\2CIVLIVINGDAM.TGL1 C:\XNA\MC2\CONTENT\DATA\TGL\2CIVLIVINGDAMX.TGL1 C:\XNA\MC2\CONTENT\DATA\TGL\2CIVLIVINGENC.TGL1 C:\XNA\MC2\CONTENT\DATA\TGL\2CIVLIVINGL1.TGL1 C:\XNA\MC2\CONTENT\DATA\TGL\2CIVLIVINGX.TGL1 C:\XNA\MC2\CONTENT\DATA\TGL\2STORYCIVLIVING.TGL1 C:\XNA\MC2\CONTENT\DATA\TGL\2STORYCIVLIVINGDAM.TGL1 C:\XNA\MC2\CONTENT\DATA\TGL\2STORYCIVLIVINGDAMX.TGL1 C:\XNA\MC2\CONTENT\DATA\TGL\2STORYCIVLIVINGENC.TGL1 C:\XNA\MC2\CONTENT\DATA\TGL\2STORYCIVLIVINGL1.TGL1 C:\XNA\MC2\CONTENT\DATA\TGL\2STORYCIVLIVINGX.TGL1 C:\XNA\MC2\CONTENT\DATA\TGL\AEROSPOTTER.TGL1 C:\XNA\MC2\CONTENT\DATA\TGL\AEROSPOTTERDAM.TGL1 C:\XNA\MC2\CONTENT\DATA\TGL\AEROSPOTTERL1.TGL1

23 MechCommander 2 XNA Build observations Build times were dramatically reduced as new tool understood dependencies better than previous homebrew system Added benefits: –Data is now pivotable! Build dependencies easily surfaced –Additional relationship information revealed 40% of shipped textures were not used in game 40% of shipped textures were not used in game Build TypeNo content changedOne asset changed Original Build System132 seconds134 seconds With XNA Build6 seconds33 seconds Performance Gain22x faster4x faster

24 Work Remains until Beta Release GUI front-end for tools Additional optimizations Additional reporting options and analysis Beta at US GDC - March Release in Summer 06

25 XNA Studio Addressing Process and day-to-day operations

26 Content build comments Artists don’t have the right tools to put things into the system. The asset wrangler puts things in the right places. We have two source code control systems: one for code and one for content. It’s a hassle managing and coordinating both. Programmers track progress through Project and our bug system, the art team and design team use Excel and the producers use Project. Finding out current status is a full-time job

27 Visual Studio 2005 Team System VS 2005 – new role based products –Modeling for Architects –Web testing tools for QA –Code Profiling for Devs All built on Team Foundation Server 4 key elements to TFS Work Items Source Code Control Build Automation Project Management

28 Visual Studio 2005 Work Items Similar to typical “bugs” in structure Both information and workflow in “task” MS’s internal bug system productized Supports multiple task/bug types and allows for custom types Programmer can see work items in Visual Studio 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

29 Visual Studio 2005 Source Control Source Control based on SQL Server 2005 –ROBUST! –Scalable! Supports integrating work item or bug completion with check-in Also supports custom processes – check-in tests, etc. Can be accessed through web services or.NET APIs for further integration with other systems Scalable and robust Integrated check in with work items Extensible check in rules Accessed through web services or.NET API

30 Visual Studio 2005 Build Automation VS 2005 ships will full support for build server integration Automated builds can tie in to workflow and asset management Data Analysis on builds, check-ins, etc. can be automatically available to project managers on regular basis Scripted nightly build Generates reports Code coverage, Unit tests Bugs fixed, Bug Trends

31 Visual Studio 2005 Project Management SQL database of all assets, work items, check-in data, etc. opens up new possibilities –Two way synchronization with Excel and Project files on planned and actuals –Web access to data, design the information output that you care about 2 way sync with MS Project, Excel Project Portal Access to high-level project information Web access work items

32 Game Content Creator Game Producer XNA Studio – Expanding these tools further to include Content Creators and Producers 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 Develop content build tasks Build content reports Asset trends, Build/footprint trends Publisher specific reports Milestone etc Work Items Source Code Control Build Automation Project Management

33 Summary XNA’s mission is to solve problems that allow you (the game creator) to spend more of your time on the entertainment part of your product! XNA Build and XNA Studio / Visual Studio 2005 are first steps in providing solutions for digital content creators, producers, and game programmers Beta due out in March 2006!

34


Download ppt "Introduction to XNA Studio Presentation by Joe Nalewabau Program Manager Architect, XNA Dev team Given today by Jeff Pobst, Lead Tech Game Manager Xbox."

Similar presentations


Ads by Google