Toolkit for Augmented Reality Games development using XNA
Goblin XNA is a platform for research on 3D user interfaces, including mobile augmented reality and virtual reality, with an emphasis on games. Need to setting up your computer should have the specification : Windows XP, Vista, or 7 Requirements for running XNA Game Studio 3.1.
It is written in C# and based on Microsoft XNA Game Studio 3.1.
XNAGoblin details
Goblin XNA
http://graphics.cs.columbia.edu/projects/goblin/ uses a scene graph to support 3D scene manipulation and rendering, mixing real and virtual imagery. 6DOF (six-degrees-of-freedom) position and orientation tracking is accomplished using the ALVAR or ARTag marker-based camera tracking package with DirectShow or PGRFly (for Point Grey cameras), and InterSense hybrid trackers. In addition to regular desktop and hand-held computer displays, Goblin XNA also supports the Vuzix iWear VR920 head-worn display in monoscopic and stereoscopic modes, along with its 3DOF orientation tracker. Physics is supported through the Newton Game Dynamics library, and networking through the Lidgren library. Goblin XNA also includes a 2D GUI system to allow the creation of classical 2D interaction components.
Installation XNA
XNA is a very cool initiative from Microsoft that takes away the need for a lot of the low level coding normally required in the creation of a computer game. This is achieved by a set of libraries, tools and use of the C# programming language.
Below some of the concepts and series of basic knowledge on XNA Programming :
Develop 2D games :
# Installing XNA and opening your first XNA project
# Rendering 2D images to the screen
# Scaling, rotating and positioning 2D images
# Keyboard input
# Playing sound effects in XNA
# Per-pixel texture manipulations
# Random terrain slope generation
# Alpha blending
# Collision detection (the most complex case is covered: per-pixel transformed)
# And even a complete 2D particle engine for the explosions!
Develop 3D games:
# Starting a project: setting up and using the Development Environment
# The effect file: effects are needed to draw stuff on the screen
# The first triangle: defining points, displaying them using XNA
# World space: defining points in 3D space, defining camera position
# Rotation & translation: rotating and moving the scene
# Keyboard: read user input on the keyboard using XNA
# Load 3D models, adding colors, textures
# Lighting basics: lighting can be complex to fully understand, a whole chapter on this subject
Are games really written using XNA?
The main target for XNA is hobbyists and for people learning to write games. Since it uses C# (a managed language that requires a runtime environment) it runs a lot slower than equivalent C++ code (that compiles down to machine level code) so commercial PC and Xbox 360 games are typically written in C++. Having said this with the release of XNA 3.0 Microsoft have created a means of releasing your own game written using XNA online (via Xbox Live) and obtaining royalties for it (set at 70%). How profitable this is remains to be seen.
How do you get started with XNA?
To create XNA games for the PC is completely free. You just need to download the XNA Game Studio from Microsoft and you can use it with the free version of Visual Studio C# Express. If you already own the commercial Visual Studio 2008 that can (and should) be used instead as it adds more features.
The software required to start writing your own XNA code is completely free:
#
Microsoft XNA Game Studio 2.0, the programming environment
#
Microsoft Visual Studio C# Express (link, make sure you select the C# edition, marked in green). XNA Game Studio 2.0 will also work with the full version of Visual Studio 2005.
Why is it cool?
XNA takes away a lot of the pain of working with the graphics, input etc. on a PC, Xbox or Zune. It implements the .NET framework and comes with a number of tools for game creation. It supports graphics via managed Direct3D and the Xbox 360 controller (for Xbox or PC). It supports sound and includes a content creation tool for sound developers. From version 3.0 it includes multi player support. C# itself is a very nice language to program for.