introduction to xna studio l.
Skip this Video
Loading SlideShow in 5 Seconds..
Introduction to XNA Studio PowerPoint Presentation
Download Presentation
Introduction to XNA Studio

Loading in 2 Seconds...

play fullscreen
1 / 34

Introduction to XNA Studio - PowerPoint PPT Presentation

  • Uploaded on

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. XNA Team Mission Statement.

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Introduction to XNA Studio' - mindy

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
introduction to xna studio

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

xna team mission statement
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)

xna roadmap
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
  • Beta at US GDC - March
  • Release in Summer 06
  • Showed progress on booked XNA components
  • Talked more with Game Developers
  • Focus on supporting entire game studios
  • Announced XNA Studio
xna pillars
XNA Pillars

Design/Content Creation


Game Technology

xna pillar assessment core problems
XNA Pillar Assessment – Core Problems

Each group has their own major issues that exist across groups of products

Not just technology issues – integration and standards issues!

other findings studio staffing grows towards content
Other Findings: Studio staffing grows towards content…

One example:

Dev Studio

130 people at dev house, outsourced group, and publisher on game

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.

I can’t tell you the number of times a build has failed because someone forgot to check something in

We don’t delete anything from our source code control system because we don’t know what is connected to what.

We just don’t have enough knowledge about what needs to be rebuilt to do incremental builds

Content build comments:
today s content build systems

Complex content build scripts

  • Über tool builds everything
    • Intimate knowledge of content
Today’s content build systems

Today’s Content Build

Solution Tenets

  • Game specific, homegrown solutions
  • Studios should be able to leverage existing solutions

Advanced build (distributed)

Basic build infrastructure (logging etc)

  • Game specific, homegrown solutions
  • Studios shouldn’t have to worry about this
  • Need good tools for creating and maintaining build scripts
  • Game specific tools limit investment in supporting tools

Game specific build tools

  • Perl scripts
  • Batch files, nmake
  • Core technology needs to be robust
  • Profiling and debuging a must

Core build technology

game content relationships

Game Tools

DCC Tools

Studio Tools

Asset Management




Game content relationships
  • 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

Game Content

we believe
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
xna build and content relationships















XNA Build and content relationships
  • Add content build relationships
    • Record content relationships as seen by build tools
  • Establish common relationship store
  • 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
  • Query engine for relationships
    • Make content relationships available
xna content build

XNA Build

  • Incremental builds
  • Distributed build support
  • XNA Build
  • HTML, XML, RSS build logging
  • Deployment for MS platforms
  • Debugging
  • XNA Build
  • Monitor and record game build tools into relationship store
    • Use for 1st build optimizations
  • Great editing environment
  • Complex content build scripts
  • Über tool builds everything
    • Intimate knowledge of content
  • MSBuild
  • Robust and extensible
  • Visual Studio build engine
  • Ships with .NET 2.0
XNA Content Build

Today’s Content Build

XNA Content Build

  • Game specific, homegrown solutions

Advanced build (distributed)

Basic build infrastructure (logging etc)

  • Game specific, homegrown solutions

Game specific build tools

  • Perl scripts
  • Batch files, nmake

Core build technology

building mechcommander2 using xna build









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…

unused files

create new build file for xna build process
Create New Build File for XNA Build Process

<Project DefaultTargets="ProcessModels;ProcessSounds;MakeFastFiles"


<UsingTask TaskName="XnaExecTask" AssemblyFile="C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.Xna.XNAExecTask.dll"/>

<UsingTask TaskName="ASEConvTask" AssemblyFile=".\utils\tasks\bin\MechCommander2Tasks.dll"/>

<UsingTask TaskName="XPListTask" AssemblyFile=".\utils\tasks\bin\MechCommander2Tasks.dll"/>

<UsingTask TaskName="XPFileTask" AssemblyFile=".\utils\tasks\bin\MechCommander2Tasks.dll"/>












<ArtFastFiles Include="$(ArtDirectory)\*.tga"/>

<ArtFastFiles Include="$(ArtDirectory)\*.fit"/>

<ArtFastFiles Include="$(ArtDirectory)\*.csv"/>

<ArtFastFiles Include="$(ArtDirectory)\*.exe"/>

execute xna build
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
raw log output of build steps
Raw Log Output of Build Steps

Currently support, XML, HTML, RSS outputs…

<?xml version="1.0" encoding="utf-16"?>

<FileTracker xmlns:FileTracker="">

<Tool Path="c:\xna\mc2\tools\xpfile.exe" DateAdded="10/22/2005 00:41:20" DateUpdated="05/18/2005 19:48:00" Version="0" Ignore="0" CommandLine="c:\xna\mc2\tools\xpfile.exe -r .\content\responsefiles\\misc.rsp .\content\fastfiles\\misc.fst -z 20480000">


<Root Path="C:\XNA\MC2\CONTENT\RESPONSEFILES\MISC.RSP" DateAdded="11/21/2005 21:25:15" DateUpdated="11/21/2005 21:25:15" Version="0" Ignore="0" >

<Dependency Path="C:\XNA\MC2\CONTENT\DATA\EFFECTS\MC2.FX" DateAdded="10/22/2005 00:45:59" DateUpdated="05/06/2005 21:01:00" Version="0" Ignore="0" />

<Dependency Path="C:\XNA\MC2\CONTENT\DATA\OBJECTS\2CIVLIVING.FIT" DateAdded="10/22/2005 00:45:17" DateUpdated="05/06/2005 21:02:00" Version="0" Ignore="0" />

<Dependency Path="C:\XNA\MC2\CONTENT\DATA\OBJECTS\2STORYCIVLIVING.FIT" DateAdded="10/22/2005 00:45:17" DateUpdated="05/06/2005 21:02:00" Version="0" Ignore="0" />

<Dependency Path="C:\XNA\MC2\CONTENT\DATA\OBJECTS\AC.FIT" DateAdded="10/22/2005 00:45:17" DateUpdated="05/06/2005 21:02:00" Version="0" Ignore="0" />

generated build execution report
Generated Build Execution Report

Build Report



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


.\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

sample read analysis
Sample Read Analysis

.csv file output as well as HTML, XML, and RSS – load into Excel and Pivot table

to your heart’s content!

mechcommander 2 xna build observations
MechCommander 2XNA 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
work remains until beta release
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
content build comments26

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

We have two source code control systems: one for code and one for content. It’s a hassle managing and coordinating both.

Artists don’t have the right tools to put things into the system. The asset wrangler puts things in the right places.

Content build comments
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

Visual Studio 2005 Team System
visual studio 2005 work items

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
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
visual studio 2005 source control

Scalable and robust

  • Integrated check in with work items
  • Extensible check in rules
  • Accessed through web services or .NET API
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
visual studio 2005 build automation

Scripted nightly build

  • Generates reports
    • Code coverage, Unit tests
    • Bugs fixed, Bug Trends
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
visual studio 2005 project management

2 way sync with MS Project, Excel

  • Project Portal
    • Access to high-level project information
    • Web access work items
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
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

Work Items

Source Code Control

  • Publisher specific reports
    • Milestone etc

Build Automation

Project Management

XNA Studio – Expanding these tools further to include Content Creators and Producers
  • 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!