+ All Categories
Home > Documents > Presentation/Presenter Title Slide

Presentation/Presenter Title Slide

Date post: 31-Dec-2015
Category:
Upload: wesley-buckley
View: 14 times
Download: 0 times
Share this document with a friend
Description:
Presentation/Presenter Title Slide. Introduction to Microsoft XNA and how it can affect you and your children … presented by Jon Davis. From Manual to Managed Code. Windows 95 era: Game developers begged for better (abstracted) access to hardware resources Microsoft came up with DirectX - PowerPoint PPT Presentation
Popular Tags:
24
Introduction to Introduction to Microsoft XNA Microsoft XNA and how it can affect you and your children … and how it can affect you and your children … presented by Jon Davis presented by Jon Davis Slide
Transcript
Page 1: Presentation/Presenter Title Slide

Introduction to Introduction to Microsoft XNAMicrosoft XNA

and how it can affect you and your children …and how it can affect you and your children …

presented by Jon Davispresented by Jon Davis

Presentation/Presenter Title Slide

Page 2: Presentation/Presenter Title Slide

From Manual to Managed From Manual to Managed CodeCodeWindows 95 era: Game developers begged for better Windows 95 era: Game developers begged for better (abstracted) access to hardware resources(abstracted) access to hardware resources

Microsoft came up with DirectXMicrosoft came up with DirectX

People were concerned about performance, but DirectX People were concerned about performance, but DirectX proved itselfproved itself

.. Fast forward .... Fast forward ..

DirectX 8 introduces the programmable shaderDirectX 8 introduces the programmable shader

Type libraries exposed to Visual BasicType libraries exposed to Visual Basic

.. Fast forward .... Fast forward ..

Microsoft .NET replaces VB6Microsoft .NET replaces VB6

People need access to DirectX from .NET (not VB6)People need access to DirectX from .NET (not VB6)

Microsoft introduces Managed DirectXMicrosoft introduces Managed DirectX

People start grumbling that Managed DirectX being only a People start grumbling that Managed DirectX being only a wrapper for C++ doesn’t save them development timewrapper for C++ doesn’t save them development time

Page 3: Presentation/Presenter Title Slide

From Windows to the From Windows to the ConsoleConsoleTo this point, all platforms have been To this point, all platforms have been supported by Microsoftsupported by Microsoft

The desktop PCThe desktop PC

The serverThe server

Tablet PCsTablet PCs

Pocket PCsPocket PCs

Smart phonesSmart phones

Embedded XPEmbedded XP

.. .. exceptexcept for Xbox 360 for Xbox 360

Page 4: Presentation/Presenter Title Slide

From Business to GamingFrom Business to Gaming

Game development has always Game development has always required a very special set of niche required a very special set of niche skillsskills

It has always been very difficult for It has always been very difficult for business professionals to develop business professionals to develop enthusiast game programming skillsenthusiast game programming skills

C++ has traditionally been the de-C++ has traditionally been the de-facto standard for games, but most facto standard for games, but most software developers use a higher level software developers use a higher level language (Java, C#, VB.NET)language (Java, C#, VB.NET)

Page 5: Presentation/Presenter Title Slide
Page 6: Presentation/Presenter Title Slide

Embrace creator community on Microsoft platforms Embrace creator community on Microsoft platforms WindowsWindows

Retail Xbox 360Retail Xbox 360

Make writing games significantly easierMake writing games significantly easier

Establish a vibrant creator community Establish a vibrant creator community

Provide education solutions for academia using Provide education solutions for academia using retail Xbox 360 consolesretail Xbox 360 consoles

XNA Game Studio ExpressXNA Game Studio Express GoalsGoals

Page 7: Presentation/Presenter Title Slide

XNA Development Tools Overview XNA Development Tools Overview

XNA FrameworkXNA Framework

.NET game framework.NET game frameworkWrite games for your Xbox Write games for your Xbox

360!360!

XNA Game Studio XNA Game Studio ExpressExpress

XNA FrameworkXNA Framework

XNA Game Studio ExpressXNA Game Studio Express

Extends C# Express to Extends C# Express to support XNA Frameworksupport XNA Framework

Adds support for building Adds support for building game contentgame content

PlatformPlatform

Page 8: Presentation/Presenter Title Slide

XNA FrameworkXNA Framework

The XNA Framework is a .NET game The XNA Framework is a .NET game development platform that you use to development platform that you use to

create games for Xbox 360 and create games for Xbox 360 and WindowsWindows

Page 9: Presentation/Presenter Title Slide

XNA Framework LayersXNA Framework Layers

PlatformPlatform

CoreCoreFrameworkFramework

ExtendedExtendedFrameworkFramework

GamesGames

XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D

GraphicsGraphics AudioAudio InputInput MathMath StorageStorage

Application ModelApplication Model Content PipelineContent Pipeline

Starter KitsStarter Kits CodeCode ContentContent ComponenComponentsts

Legend XNA ProvidesXNA Provides You ProvideYou Provide CommunityCommunity

Page 10: Presentation/Presenter Title Slide

Extended FrameworkExtended Framework

Page 11: Presentation/Presenter Title Slide

Application ModelApplication ModelLets you focus on making your game and not Lets you focus on making your game and not

worry about the platform it’s running onworry about the platform it’s running on

Get up and running quicklyGet up and running quicklyFirst lines of code you write are for your gameFirst lines of code you write are for your game

Platform abstractionPlatform abstractionWhat’s the best way to design the game loop? What’s the best way to design the game loop?

How do I create and manage my Window?How do I create and manage my Window?

How do I follow platform best practices?How do I follow platform best practices?

GameGameThis is the main type for your gameThis is the main type for your game

Load, Update and Draw eventsLoad, Update and Draw events

PlatformPlatform

CoreCoreFrameworkFramework

ExtendedExtendedFrameworkFramework

GamesGames

XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D

GraphicsGraphics AudioAudio InputInput MathMath StorageStorage

Application ModelApplication Model Content PipelineContent Pipeline

Starter KitsStarter Kits CodeCode ConteContenntt

Comps

Page 12: Presentation/Presenter Title Slide

The GameThe Game

PlatformPlatform

CoreCoreFrameworkFramework

ExtendedExtendedFrameworkFramework

GamesGames

XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D

GraphicsGraphics AudioAudio InputInput MathMath StorageStorage

Application ModelApplication Model Content PipelineContent Pipeline

Starter KitsStarter Kits CodeCode ConteContenntt

Comps

Page 13: Presentation/Presenter Title Slide

Core FrameworkCore Framework

Page 14: Presentation/Presenter Title Slide

GraphicsGraphicsProvides low level render capabilitiesProvides low level render capabilities

Built on top of Direct3D 9Built on top of Direct3D 9Updated APIs that follow .NET Design Updated APIs that follow .NET Design GuidelinesGuidelines

EffectsEffectsResourcesResourcesLock/UnlockLock/UnlockVertex streamsVertex streams

Provided resourcesProvided resourcesMesh Mesh TextureTextureEffects and shadersEffects and shaders

PlatformPlatform

CoreCoreFrameworkFramework

ExtendedExtendedFrameworkFramework

GamesGames

XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D

GraphicsGraphics AudioAudio InputInput MathMath StorageStorage

Application ModelApplication Model Content PipelineContent Pipeline

Starter KitsStarter Kits CodeCode ConteContenntt

Comps

Page 15: Presentation/Presenter Title Slide

GraphicsGraphics

PlatformPlatform

CoreCoreFrameworkFramework

ExtendedExtendedFrameworkFramework

GamesGames

XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D

GraphicsGraphics AudioAudio InputInput MathMath StorageStorage

Application ModelApplication Model Content PipelineContent Pipeline

Starter KitsStarter Kits CodeCode ConteContenntt

Comps

Page 16: Presentation/Presenter Title Slide

InputInputMakes getting user input extremely easyMakes getting user input extremely easy

Immediate mode programming modelImmediate mode programming modelNo initializationNo initialization

No state managementNo state management

ProvidesProvidesXbox 360 controllerXbox 360 controller

KeyboardKeyboard

Mouse (Windows only)Mouse (Windows only)

PlatformPlatform

CoreCoreFrameworkFramework

ExtendedExtendedFrameworkFramework

GamesGames

XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D

GraphicsGraphics AudioAudio InputInput MathMath StorageStorage

Application ModelApplication Model Content PipelineContent Pipeline

Starter KitsStarter Kits CodeCode ConteContenntt

Comps

Page 17: Presentation/Presenter Title Slide

InputInput

PlatformPlatform

CoreCoreFrameworkFramework

ExtendedExtendedFrameworkFramework

GamesGames

XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D

GraphicsGraphics AudioAudio InputInput MathMath StorageStorage

Application ModelApplication Model Content PipelineContent Pipeline

Starter KitsStarter Kits CodeCode ConteContenntt

Comps

Page 18: Presentation/Presenter Title Slide

AudioAudio

Easier to play your soundsEasier to play your sounds

Build up sound assets using XACT ToolBuild up sound assets using XACT ToolAdd soundsAdd sounds

Adjust propertiesAdjust properties

Build “banks” of soundsBuild “banks” of sounds

Easier integration for developersEasier integration for developersAccess them via logical namesAccess them via logical names

Looping, streaming, and memory managementLooping, streaming, and memory management

No low-level buffer managementNo low-level buffer management

PlatformPlatform

CoreCoreFrameworkFramework

ExtendedExtendedFrameworkFramework

GamesGames

XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D

GraphicsGraphics AudioAudio InputInput MathMath StorageStorage

Application ModelApplication Model Content PipelineContent Pipeline

Starter KitsStarter Kits CodeCode ConteContenntt

Comps

Page 19: Presentation/Presenter Title Slide

StorageStorage

Provides an easy way to read and writeProvides an easy way to read and write

game data and savesgame data and saves

StorageContainer acts as a virtual file StorageContainer acts as a virtual file systemsystem

Files stored in the correct location on each Files stored in the correct location on each platformplatform

Supports multiple storage devices and profiles Supports multiple storage devices and profiles on Xbox 360on Xbox 360

Stream based easily integrates with Stream based easily integrates with System.IOSystem.IO

PlatformPlatform

CoreCoreFrameworkFramework

ExtendedExtendedFrameworkFramework

GamesGames

XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D

GraphicsGraphics AudioAudio InputInput MathMath StorageStorage

Application ModelApplication Model Content PipelineContent Pipeline

Starter KitsStarter Kits CodeCode ConteContenntt

Comps

Page 20: Presentation/Presenter Title Slide

MathMath

Math library for gamesMath library for games

Vector, Matrix, Quaternion, Plane, AABB, Vector, Matrix, Quaternion, Plane, AABB, Sphere, Ray, Frustum, CurveSphere, Ray, Frustum, Curve

Right-handed by defaultRight-handed by default

Easy integrationEasy integration

Intersection testsIntersection tests

Movement helpersMovement helpers

PlatformPlatform

CoreCoreFrameworkFramework

ExtendedExtendedFrameworkFramework

GamesGames

XACTXACT XINPUTXINPUT XContentXContentDirect3DDirect3D

GraphicsGraphics AudioAudio InputInput MathMath StorageStorage

Application ModelApplication Model Content PipelineContent Pipeline

Starter KitsStarter Kits CodeCode ConteContenntt

Comps

Page 21: Presentation/Presenter Title Slide

Pong evolvedPong evolved

Add background imageAdd background image

Turn paddle and ball to 3DTurn paddle and ball to 3D

Add musicAdd music

Keep scoreKeep score

Splash screenSplash screen

New rulesNew rules

Etc.Etc.

Page 22: Presentation/Presenter Title Slide

What’s coming in Part 2What’s coming in Part 2

XNA Framework Content PipelineXNA Framework Content Pipeline

XACTXACT

Page 23: Presentation/Presenter Title Slide

Resources usedResources used

www.riemers.netwww.riemers.net

www.xnaresources.comwww.xnaresources.com

www.turbosquid.com/xnawww.turbosquid.com/xna

Milkshape3DMilkshape3D

Nvidia FX ComposerNvidia FX Composer

Based on Pong Tutorial from David Based on Pong Tutorial from David BaileyBailey

Page 24: Presentation/Presenter Title Slide

Wrap UpWrap Up

XNA Game Studio ExpressXNA Game Studio ExpressAvailable NowAvailable Now

Requires C# ExpressRequires C# Express

ResourcesResourcesForumsForums

http://forums.microsoft.com/msdnhttp://forums.microsoft.com/msdn

XNA Developer CenterXNA Developer Centerhttp://msdn.com/xnahttp://msdn.com/xna

XNA team blogXNA team bloghttp://blogs.msdn.com/xnahttp://blogs.msdn.com/xna

[email protected]@microsoft.com


Recommended