Introduction to Microsoft XNA Presentation/Presenter Title Slide

Download Report

Transcript Introduction to Microsoft XNA 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
People were concerned about performance, but DirectX proved itself
.. Fast forward ..
DirectX 8 introduces the programmable shader
Type libraries exposed to Visual Basic
.. Fast forward ..
Microsoft .NET replaces VB6
People need access to DirectX from .NET (not VB6)
Microsoft introduces Managed DirectX
People start grumbling that Managed DirectX being only a wrapper
for C++ doesn’t save them development time
From Windows to the Console
To this point, all platforms have been
supported by Microsoft
The desktop PC
The server
Tablet PCs
Pocket PCs
Smart phones
Embedded XP
.. except for Xbox 360
From Business to Gaming
Game development has always required a
very special set of niche skills
It has always been very difficult for
business professionals to develop
enthusiast game programming skills
C++ has traditionally been the de-facto
standard for games, but most software
developers use a higher level language
(Java, C#, VB.NET)
XNA Game Studio Express
Goals
Embrace creator community on Microsoft platforms
Windows
Retail Xbox 360
Make writing games significantly easier
Establish a vibrant creator community
Provide education solutions for academia using retail
Xbox 360 consoles
XNA Development Tools Overview
Platform
XNA Game Studio Express
Extends C# Express to
support XNA Framework
Adds support for building
game content
XNA Framework
.NET game framework
XNA Game Studio Express
XNA Framework
Write games for your Xbox 360!
XNA Framework
The XNA Framework is a .NET game
development platform that you use to
create games for Xbox 360 and Windows
XNA Framework Layers
Games
Extended
Framework
Core
Framework
Content
Application Model
Graphics
Platform
Legend
Code
Starter Kits
XNA Provides
Audio
Direct3D
You Provide
Components
Content Pipeline
Input
XACT
Math
XINPUT
Community
Storage
XContent
Extended Framework
Games
Application Model
Extended
Framework
Core
Framework
Code
Starter Kits
Content
Application Model
Graphics
Platform
Direct3D
Audio
Content Pipeline
Input
XACT
Math
XINPUT
Lets you focus on making your game and not worry
about the platform it’s running on
Get up and running quickly
First lines of code you write are for your game
Platform abstraction
What’s the best way to design the game loop?
How do I create and manage my Window?
How do I follow platform best practices?
Game
This is the main type for your game
Load, Update and Draw events
Comps
Storage
XContent
Games
Extended
Framework
Core
Framework
Platform
The Game
Code
Starter Kits
Content
Application Model
Graphics
Direct3D
Audio
Content Pipeline
Input
XACT
Comps
Math
XINPUT
Storage
XContent
Core Framework
Games
Graphics
Extended
Framework
Core
Framework
Platform
Code
Starter Kits
Content
Application Model
Graphics
Audio
Direct3D
Content Pipeline
Input
XACT
Math
XINPUT
Provides low level render capabilities
Built on top of Direct3D 9
Updated APIs that follow .NET Design Guidelines
Effects
Resources
Lock/Unlock
Vertex streams
Provided resources
Mesh
Texture
Effects and shaders
Comps
Storage
XContent
Games
Extended
Framework
Core
Framework
Platform
Graphics
Code
Starter Kits
Content
Application Model
Graphics
Direct3D
Audio
Content Pipeline
Input
XACT
Comps
Math
XINPUT
Storage
XContent
Games
Input
Extended
Framework
Core
Framework
Platform
Code
Starter Kits
Content
Application Model
Graphics
Direct3D
Audio
Content Pipeline
Input
XACT
Makes getting user input extremely easy
Immediate mode programming model
No initialization
No state management
Provides
Xbox 360 controller
Keyboard
Mouse (Windows only)
Comps
Math
XINPUT
Storage
XContent
Games
Extended
Framework
Core
Framework
Platform
Input
Code
Starter Kits
Content
Application Model
Graphics
Direct3D
Audio
Content Pipeline
Input
XACT
Comps
Math
XINPUT
Storage
XContent
Games
Audio
Extended
Framework
Core
Framework
Code
Starter Kits
Content
Application Model
Graphics
Platform
Easier to play your sounds
Build up sound assets using XACT Tool
Add sounds
Adjust properties
Build “banks” of sounds
Easier integration for developers
Access them via logical names
Looping, streaming, and memory management
No low-level buffer management
Direct3D
Audio
Content Pipeline
Input
XACT
Comps
Math
XINPUT
Storage
XContent
Games
Storage
Extended
Framework
Core
Framework
Platform
Code
Starter Kits
Content
Application Model
Graphics
Direct3D
Audio
Comps
Content Pipeline
Input
XACT
Math
XINPUT
Provides an easy way to read and write
game data and saves
StorageContainer acts as a virtual file system
Files stored in the correct location on each platform
Supports multiple storage devices and profiles on Xbox
360
Stream based easily integrates with System.IO
Storage
XContent
Games
Extended
Framework
Math
Core
Framework
Platform
Math library for games
Vector, Matrix, Quaternion, Plane, AABB,
Sphere, Ray, Frustum, Curve
Right-handed by default
Easy integration
Intersection tests
Movement helpers
Code
Starter Kits
Content
Application Model
Graphics
Direct3D
Audio
Content Pipeline
Input
XACT
Comps
Math
XINPUT
Storage
XContent
Pong evolved
Add background image
Turn paddle and ball to 3D
Add music
Keep score
Splash screen
New rules
Etc.
What’s coming in Part 2
XNA Framework Content Pipeline
XACT
Resources used
www.riemers.net
www.xnaresources.com
www.turbosquid.com/xna
Milkshape3D
Nvidia FX Composer
Based on Pong Tutorial from David Bailey
Wrap Up
XNA Game Studio Express
Available Now
Requires C# Express
Resources
Forums
http://forums.microsoft.com/msdn
XNA Developer Center
http://msdn.com/xna
XNA team blog
http://blogs.msdn.com/xna
Contacts
[email protected]