xna studio: introduction to xna brian keller product manager microsoft corporation

24

Upload: joseph-watts

Post on 25-Dec-2015

239 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation
Page 2: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

XNA Studio: Introduction to XNAXNA Studio: Introduction to XNA

Brian KellerProduct ManagerMicrosoft Corporation

Page 3: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

XNA MissionXNA Mission

XNA enables studios and publishers to develop better games, more

effectively, on all platforms

Page 4: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

XNA Timeline XNA Timeline

Challenging questions:Assume identical SDKs, how much more effective are studios?How are we helping studios manage the transition from code to content?

Windows and Xbox tools convergence XACT, PIX

Common Controller, Live on Windows

SDK teams committed to this effort for current and new tools

Showed progress on tools convergence

Announced “XNA Studio”

Tech Preview at GDC

Page 5: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

XNA BackgroundXNA Background

Page 6: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

Game Technology Map Game Technology Map Realtime Rendering

RAD Games Tools PixomaticATI Radeon

Nvidia GeForce

Realtime Video Renderer

Creative SoundblasterREALTEK AC’97

Nvidia NForce

Realtime Audio Renderer

Simulation Technology

Criterion Renderware AIBiographic AI.implant

Ikuni

AI

LUAPython

JavaUnrealScript

Scripting Lang

C#, VB, C++

HavokCriterion Renderware Phyiscs

Novodex Novodex Physics

Physics Engine

Advanced Media OmiVoice

Voice Recognition

Multiplayer Technology

Quazal Net-ZTerraplay

Demonware BitDemon Butterfly Butterfly.NET

Networking

DirectPlay Winsock

Zona TerraZonaBigworld Bigworld

MMOG

GameSpy GameSpySega SNAPValve Steam

Online Services

Live

Audio Content

RAD Game Tools MilesCreative Labs Sensaura

CRI ADX Firelight FMOD Sound System

Audio

XACTDirectSound

Mesh/Material Content

PixoLogic Z-BrushInteractive Fx Amazon PaintRight Hemisphere Deep PaintRight Hemisphere Deep UV

3D Image Editor

Adobe PhotoshopJASC Paintshop PRO

Corel PainterWeb Technology Optpix iMageStudio

Image Editor

Rt/zen RT/Shader

Shader - Creation

Nvidia FX ComposerATI RenderMonkey

Shader - Composers

3D Editors

Animation Content

Third Wish Software MagpieOC3 Impersonator

Lip Sync

BiovisionMotion Analysis

Vicon Motion Systems

Motion Capture

Kaydara MotionBuilderRAD Game Tools Granny 3D

Natural Motion EndorphinCurious Labs Poser

Animation Editor

Cinematic Content

Pixar PRManMental Images Mental Ray

Splutterfish BrazilNvidia Gelato

Offline Renderer

Adobe PremierAVID Xpress

Adobe AfterEffectsDiscreet CombustionNewtek Digital Fusion

Compositing Editor

RAD Game Tools Bink CRI Sofdec

Factor 5 DivX

Video Playback

Process

MetroworksSN Systems

Dev Tools

Visual Studio

Intel VtuneSony Performance

Analyzer

Profilers

PIX

Xoreax IncrediBuildJetFrog JetBuild

Build Tools

MS Build

Alias MayaDiscreet 3D Studio Max

SoftImage XSI Newtek Lightwave

3D Editor

Game Engines

Criterion Renderware Graphics Epic Unreal

NDL Gamebyro (NetImerrse) Touchdown Entertainment Jupiter

Id Quake/DoomValve Half Life 2

Crytek CryEngine Vicarious Visions Intrinsic Alchemy

Spinor GmbH Shark 3D Trinigy GmbH Vision

Virtools (Prototyping)

Game Engines

Singular Inversions FaceGenVirtual Clones

Face Generation

Criterion Renderware Studio

Studio

Game Asset ConversionGame Asset Conversion

Converters

Right Hemisphere Deep Exploration Okino Polytrans

Converters

UI Creation/Menus

Macromedia Flash Secret Level Flash Player

Anark GameFaceCriterion Maestro

UI Creation/Menus

Compuware SoftICE

Debugger

Visual Studio

BugZilla

Bug Tracking

PerforceCVS

Subversion

Source Management

VS SourceSafeVS Team System

OSS DocbookDoxygen

ndoc

Document Generation

HTML HelpCakewalk Cakewalk ProSonic Foundry Sound Forge

Adobe AuditionDigidesign ProTools

OSS Audacity

Audio Editors

Alienbrain

Asset Management

World/Level Editors

World/Level Editors

Test Tools

GamePlay Analysis

Page 7: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

XNA PillarsXNA PillarsDesign/Content CreationDesign/Content Creation Game TechnologyGame TechnologyProcessProcess

Process/Build

Asset Management

Test Tools

Developer Tools

Game TechnologyDesign/Content Creation

Hybrid Holdings dPVS

Misc

Realtime Rendering

RAD Games Tools PixomaticATI Radeon

Nvidia GeForce

Realtime Video Renderer

Creative SoundblasterREALTEK AC’97

Nvidia NForce

Realtime Audio Renderer

Simulation Technology

Criterion Renderware AI Biographic AI.implant

Ikuni

AI

LUAPython

JavaUnrealScript

Scripting Lang

C#, VB, C++

HavokCriterion Renderware Phyiscs

Novodex Novodex Physics

Physics Engine

Advanced Media OmiVoice [Xb]

Voice Recognition

Multiplayer Technology

Quazal Net-ZTerraplay

Demonware BitDemon Butterfly Butterfly.NET

Networking

DirectPlay Winsock

Zona TerraZonaBigworld Bigworld

MMOG

GameSpy GameSpySega SNAPValve Steam

Online Services

Live

Audio Content

MetroworksSN Systems

Dev Tools

Visual Studio

Game Engines

Micro Forte BigWorldCriterion Renderware Graphics

Epic Unreal NDL Gamebyro (NetImerrse)

Touchdown Entertainment Jupiter Id Quake/DoomValve Half Life 2

Crytek CryEngine Vicarious Visions Intrinsic Alchemy

Spinor GmbH Shark 3D Trinigy GmbH Vision

Virtools (Prototyping)

Game Engines

Criterion Renderware Studio

Studio

Mesh/Material Content

PixoLogic Z-BrushInteractive Fx Amazon PaintRight Hemisphere Deep Paint Right Hemisphere Deep UV

3D Image Editor

Adobe PhotoshopJASC Paintshop PRO

Corel PainterWeb Technology Optpix iMageStudio

Image Editor

Rt/zen RT/Shader

Shader - Creation

Nvidia FX ComposerATI RenderMonkey

Shader - Composers

Singular Inversions FaceGenVirtual Clones

Face Generation

3D Editors

Alias MayaDiscreet 3D Studio Max

SoftImage XSI Newtek Lightwave

3D Editor

Animation Content

Third Wish Software MagpieOC3 Impersonator

Lip Sync

BiovisionMotion Analysis

Vicon Motion Systems

Motion Capture

Kaydara MotionBuilderRAD Game Tools Granny 3D

Natural Motion EndorphinCurious Labs Poser

Animation Editor

Cinematic Content

Compositing Editor

RAD Game Tools BinkCRI Sofdec

Factor 5 DivX

Video Playback

Pixar PRManMental Images Mental Ray

Splutterfish BrazilNvidia Gelato

Offline Renderer

RAD Game Tools MilesCreative Labs Sensaura

CRI ADX Firelight FMOD Sound System

Audio

XACTDirectSound

Design Tool Format Converters

Game Asset Conversion

Game Asset Conversion

Compuware SoftICE

Debugger

Visual Studio

BugZilla

Bug Tracking

Intel VtuneSony Performance

Analyzer

Profilers

PIX

PerforceCVS

Subversion

Source Management

VS SourceSafeVS Team System

Alienbrain

Asset Management

Cakewalk Cakewalk ProSonic Foundry Sound Forge

Adobe AuditionDigidesign ProTools

OSS Audacity

Audio Editors

Right Hemisphere Deep Exploration Okino Polytrans

Converters

UI Creation/Menus

Macromedia Flash Secret Level Flash Player

Anark GameFaceCriterion Maestro

UI Creation/Menus

World/Level Editors

World/Level Editors

Test Tools GamePlay Analysis

Xoreax IncrediBuildJetFrog JetBuild

Build Tools

MS Build

OSS DocbookDoxygen

ndoc

Document Generation

HTML Help

Adobe PremierAVID Xpress

Adobe AfterEffectsDiscreet CombustionNewtek Digital Fusion

Page 8: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

Design and Content CreationDesign and Content Creation

Page 9: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

Design and content creation commentsDesign and content creation comments

We need to build games for multiple platforms.

We don’t delete anything from source code

control.

We need better systems for managing how content is created. Our current system is barely handling 40+

artists and designers, let alone any outsourcing.

Our content builds all use different technologies. Tracking down problems between build scripts

and build tools can be very difficult.

It’s all about rapid iteration.

We often have problems because someone forgot to check something in.

Page 10: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

Today’s content build systemsToday’s content build systems

Core build technology

Game specific

build tools

Basic build infrastructur

e (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

•Game specific, homegrown solutions

• Poor experience creating and maintaining build scripts

• Game specific tools limit potential investment

•Core technology not robust•Hard to log, profile and debug

•Studios should be able to leverage existing solutions

•Studios should get this from core build technology

Observations

Page 11: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

Game content relationshipsGame content relationships

Game Tools

Work Items

Build

Studio Tools

Game ContentAsset

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 efficientLimited time/incentive means no common system is evolving

Page 12: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

We know that…We know that…

Content relationships are keyEveryone wants standard ways to describe and query content relationships

But, Can’t replace existing relationship informationMust be useful without complete knowledgeAcknowledge that not all content is equal

Page 13: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

XNA BuildXNA Build

Core build technology

Game specific

build tools

Basic build infrastructur

e (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

•Game specific, homegrown solutions

MSBuild• Robust and extensible • Visual Studio build engine • Ships with .NET Framework

2.0

•Monitor and record game build tools into relationship store

•Use for 1st build optimizations

•Great editing environment

•HTML, XML, RSS build logging

•Deployment for MS platforms •Debugging

•Incremental builds•Distributed build support

XNA Build

Page 14: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

XNA and content relationshipsXNA and content relationships

Work Items

1.Build tools add build relationships

3.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?

Relationship

Store

Asset Mgmt

2.Content tools opt-in• Simple API used to record relationships

Does NOT replacing existing relationships

• Working with DCC vendors• Studios decide whether and how much

to use this for their tools

1

4

1.Establish common relationship store

3

2

1

2

3

4

Page 15: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

Building MechCommander 2 using XNA BuildWhat are the implications of changing this texture?Building MechCommander 2 using XNA BuildWhat are the implications of changing this texture?

Mech.ini

.tga

.ASE .ASE…

.tga

.tga

.tga

.tga

Page 16: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

MechCommander 2XNA Build observationsMechCommander 2XNA Build observations

Incremental builds were dramatically reduced

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

Build Type One asset changed No content changed

Original Build System (Code + Content)

384 seconds 380 seconds

With XNA Build(Code + Content)

61-268 seconds (depending on

asset)

27 seconds

Performance Gain Up to 6x faster 14x faster

Page 17: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

“XNA Studio”“XNA Studio”

Page 18: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

Process commentsProcess comments

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.

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

Page 19: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

Visual Studio 2005 Team System

Work Items

Source Code Control

Build Automation

Project Management

•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

•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

Page 20: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

GameContentCreator

GameProducer

“XNA Studio”

•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

Page 21: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

XNA Homehttp://www.microsoft.com/xna

Feedback / [email protected]

Page 22: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation
Page 23: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation

© 2006 Microsoft Corporation. All rights reserved.Microsoft, DirectX, 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.

Page 24: XNA Studio: Introduction to XNA Brian Keller Product Manager Microsoft Corporation