Upload
francis-frazier
View
34
Download
1
Embed Size (px)
DESCRIPTION
C# Game Development with XNA. Philip Degarmo. Introduction. What is XNA? Microsoft’s replacement for “Managed DirectX” “XNA” = “XNA Game Studio” – de facto but wrong All VS SKUs supported (including express) Only C# supported Who am I? Texas A&M 5 th year senior CS major - PowerPoint PPT Presentation
Citation preview
C# Game Development with XNA
Philip Degarmo
Introduction
• What is XNA?– Microsoft’s replacement for “Managed DirectX”– “XNA” = “XNA Game Studio” – de facto but wrong– All VS SKUs supported (including express)– Only C# supported
• Who am I?– Texas A&M 5th year senior CS major– Lead Developer for a Microsoft DreamBuildPlay
finalist game, “Sprockets of Strife”• http://www.teamsprockets.com
Purpose of XNA
• Make game development easier and faster for the hobbyist developer
Basic Features
• XBOX*/Windows cross-platform abstraction– Graphics– Sound– Input– Networking– and many other things
• Limited Zune Support (3.0 preview only)• XBOX Live Publishing
– “Community Games”– Commercial
• * - XBOX development costs $99/year or $49/4 months. PC development and all tools are completely free.
Setup
• Download from creators.xna.com
• Run the installer
• XNA Game Studio 2.0 requires VS 2005 SP1, any SKU (including express)
• XNA Game Studio 3.0 preview requires 2008, any SKU (including express)
How can XNA be used?
• Visualization
• GPGPU
• Skill Building
Visualization
• Very easy to integrate your C# code into an XNA application
• Possible to integrate with .net Windows Forms
GPGPU
• General purpose use of the GPU– Massively parallel stream processing– Becoming more common in everyday desktop
computers
• XNA Graphics is a very thin abstraction– API calls are fairly direct– API calls closely mirror C++/DirectX– HLSL is compiled and runs on the GPU– MUCH easier to play with the GPU than it is in C++
Getting Skills
• Practice with performance-sensitive C#
• Opportunities to learn some very cool algorithms– Spatial Partitioning (BSP/Octrees)– Path Finding
• Portfolio work
XNA Shortcommings
• XBOX Performance– 4 cores.. 3.2 GHz.. No problem right?– No out-of-order execution– Compact framework GC, stiffer penalties for
collection and creation• Object pools can alleviate this
– Inlining isn’t as good as PC• Manual inlining can potentially yield a major speed
improvement in a pinch
Outlook
• Adoption by games industry– Some in tools, casual games– No big $$$$ games – but that’s not XNA’s
purpose!
• Long term support– Replaces “Managed DirectX”
Resources
• aclysma at gmail dot com
• http://creators.xna.com/
• http://forums.xna.com/