1 / 12

C# Game Development with XNA

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

Download Presentation

C# Game Development with XNA

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. C# Game Development with XNA Philip Degarmo

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

  3. Purpose of XNA • Make game development easier and faster for the hobbyist developer

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

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

  6. How can XNA be used? • Visualization • GPGPU • Skill Building

  7. Visualization • Very easy to integrate your C# code into an XNA application • Possible to integrate with .net Windows Forms

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

  9. Getting Skills • Practice with performance-sensitive C# • Opportunities to learn some very cool algorithms • Spatial Partitioning (BSP/Octrees) • Path Finding • Portfolio work

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

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

  12. Resources • aclysma at gmail dot com • http://creators.xna.com/ • http://forums.xna.com/

More Related