Overview
XNA GSE is an IDE from Microsoft that extends C# Express to support the XNA Framework, which is Microsoft's cross-platform (read: Windows and Xbox 360) game development framework. GSE is built to make creating games quick and easy. For an example, Mitch loaded up a blank Windows Game project and showed us how GSE generates all the code necessary to run a windowed game. All that's left is for the programmer to add in his functionality. In a quick demo, Mitch added six lines of code to get a 3D grid on the screen which he could fly around. The code that's generated is from the XNA Framework, which abstracts pretty much everything involved with making a Windows/360 game, including game loops, window management (releasing and acquiring the device context, for example), platform best practices, etc. XNA also provides low-level render capabilities for those who want to get their hands dirty. Built on top of DirectX 9, XNA has a programmable pipeline only with no fixed function (on Xboxes) support - however the objects BasicEffect and SpriteBatch are awesome at getting graphics up and running as well as handling 2D and particles. In addition to unifying platform hardware APIs (tiling, resolve, surfaces, etc) it also provides resources for Model, Texture, Effects and Shaders. The Audio behind XNA is based on XACT, which supports logical names for access, no need to worry about low-level buffer management, and supports looping, streaming and memory management. Even input through XNA is extremely easy as there is no initialization or state management required, and this applies to the keyboard, mouse (Windows only) and Xbox 360 controller. Below is an image that bears testament to how easy input is using XNA.
On the math and storage side, XNA provides assets for Vector, Matrix, Quaternion, Plane, AABB, Sphere, Ray, Frustrum and Curve. Everything is right-handed by default and intersection and movement helpers exist as well. Storage is handled nicely as well. It's no secret that it can be a pain in the ass to make sure your game assets are stored properly on a Windows machine for runtime, let's not even talk about an Xbox (especially since I wouldn't know, haha). Luckily GSE handles that all for us, making sure to store files in the proper spots when you deploy your game on either platform.
XNA Game Studio Express 1.1
Mitch also talked a bit about the next point release of GSE, which is slated to go live in April. In addition to around 200 bug fixes, 1.1 plans to offer Vista support (pardon me while I laugh hysterically), be backwards compatible with v1.0, and include new features like
- 3D Audio
- Bitmap based text drawing
- BasicEffect supports per-pixel lighting (shader model 2.0 and above)
- Incremental deployment improvements
- Developer binary sharing
- Networking support
- Presentation and GUI
- Low level audio
- Multimedia playback
- Visual Studio support
- Cross platform projects (one project for Windows and Xbox)
- Better debugging
- Shader development
Sound like your ticket into game development? Find out more about XNA GSE here. |