Download presentation
Presentation is loading. Please wait.
Published byAlexander Matthews Modified over 9 years ago
3
2 XNA Games Studio: The What and the How Paul Foster, Microsoft
4
3 Agenda Update on XNA Games Studio 3.0 Building a 3D game for Windows and Xbox 360
5
4
6
5 XNA Game Studio – Enabled game development on retail Xbox 360 – Easy to use game framework 2006 2007 2008 Multiplayer, Visual Studio, developer sharing Adopted by over 700 universities 4 XBLA contracts awarded in Dream Build Play Community Games on Xbox LIVE Enabling game development on Zune Xbox LIVE Arcade support
7
6 XNA Game Studio Components Framework Framework
8
7 Xbox LIVE Marketplace XNA Game Studio Components Framework Framework Xbox LIVE CommunityGames Arcade
9
8 XNA GS 3.0 - summary Visual Studio 2008 support – Including Visual C# Express 2008 C#3.0 Cross-platform project synchronisation Content improvements – Compression – Multiple content projects – New Media API – New SoundEffect API – WAV, WMA and MP3 support
10
9 Community Games Sell your game via Xbox LIVE Marketplace Four Steps 1. Create your game using XNAGS 3.0 2. Submit and self-classify it 3. Have it Peer-Reviewed 4. Release! No Portfolio Management – You own your game Games are unrated – Classification information will be visible
11
10 Building a 3D game Key development steps & approaches
12
11 http://XNA-UK.net XNA UK community Charles Humphrey Richard Conlon Psionic
13
12 Key XNA stuff 1. Game architecture 2. Game components 3. Collision detection 4. Adding special effects 5. Even more super cool special effects 6. Adding audio 7. Baddies 8. Port to Xbox 360
14
13 Core Framework GraphicsGraphicsAudioAudioInputInputMathMathStorageStorage NetworkingNetworking Gamer Services Extended Framework Application Model Content Pipeline GamesGames Starter Kits Your Code Your Content ComponentsComponents PlatformPlatform DirectXDirectXXDKXDK.NET Framework.NET CF NetworkingNetworking Gamer Services XNA Framework Layers
15
Application Model 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
16
15 Step 1: Basic game architecture
17
16 Step 2: Game component strategy SkyBox, Model GameComponent DrawableGameComponent Game Services – Code independence and communications
18
17 Step 2: component strategy Adding the Skybox Adding the primary model
19
18 Step 3: Bounding spheres/boxes Collision detection built in!.Intersects() method – BoundingSphere and Boundingbox – XNA Boundingbox is Axis Aligned – Simple and fast – Can be inaccurate depending on model shape See Sharky’s blog http://sharky.bluecog.co.nz/?p=108http://sharky.bluecog.co.nz/?p=108
20
19 Improved collision detection Use basic model BoundingSphere as first test On collision use smaller BS for refined test Refined BS calculated from Mesh Bone Structure See Sharky’s blog http://sharky.bluecog.co.nz/?p=119http://sharky.bluecog.co.nz/?p=119
21
20 Alternate custom content pipeline approach Keeps life simple and fast Single shape, closer to optimal solution – Custom Content Pipeline Processor – Better fitting BoundingBox
22
21 Step 3: Collision detection
23
22 Step 4: Particle effects What: – Very cool special effects – Simply ‘medium to large numbers of graphics originating from a small space’* How: – Primarily PointSprite /Billboard implementation – Coupled with behavioural algorithm – Shader implementations run on GPU – HLSL – Resource pooling critical to usage *See Ziggyware: http://www.ziggyware.com/readarticle.php?article_id=171 http://www.ziggyware.com/readarticle.php?article_id=171
24
23 Step 4: Particle effects
25
24 Step 4b: Volumetric Clouds Using Billboards rather than PointSprites Why – Billboard more control – Graphic card differences Billboard – Textured Quad rendered as two triangles – Sprite Sheet – Multiple billboards contained in a bounding box – Eye position used to cause rotation of billboards within BB – Shader - GPU computation See Niniane Wang – http://niniane.org/clouds/ http://niniane.org/clouds/
26
25 Step 4b: Volumetric Clouds
27
Step 5: Audio 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
28
27 Step 5: Audio
29
28 Step 6: Baddies Very simple to achieve - enormous potential to develop Common base class for player and bad guy – Common methods e.g. Collided – Array of bad guy resources AI – Finite state machine ‘switch on mind’ – Reducing counters and events change ‘state of mind’ Level difficulty changes very easy – Modify behavioural probabilities
30
29 Step 6: Baddies
31
30 Step 7: Xbox 360 port Right-click Project – Create Copy of Project for Xbox 360... ‘#if XBOX’ used to direct compilation – Small amount of API difference – Very high level of HW consistency – Target HW optimisations
32
31 Step 7: Xbox 360 port
33
32 Next Steps Explore our demo code at http://xna-uk.nethttp://xna-uk.net Create Your Game Get started using XNA Game Studio 2.0 Participate in the community beta! Visit http://creators.xna.comhttp://creators.xna.com – Game Best Practices (Soon!) – Samples, Tutorials, Videos – Active Forums
34
33 XNA Creators Club Starter Kits
35
34 Community Over 40 active communities in 8 languages More than 400 games And LOTS of reading material
36
35 © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.