Extending Microsoft's XNA Framework with Physics, Animation, and Sound
Advisor: Gary Zoppetti
August 2009 - December 2009

Abstract

Microsoft developed the XNA Framework to simplify game development. It is fast becoming the most popular framework that allows enthusiasts, hobbyists, and academe to develop video games for the PC and Xbox 360. It lacks, however, critical elements for creating realistic and immersive games. We are building our own framework on top of XNA to support rigid-body physics; animation; first- and third-person cameras; background and 3D sound; and scene management. Character animations are implemented using XNAnimation, a free third-party animation library created by Bruno Evangelista. Both background and 3D sound is managed using FMOD Ex. Our physics and animation infrastructure will leverage Havok Physics and Animation, two products from the world's top physics middleware provider for the video game industry. Because Havok's software uses native C++, and XNA uses C#, we must develop a library that efficiently communicates between the unmanaged runtime system used by C++, and the managed system used by C#. This requires a careful design that minimizes communication, as every transition between the two systems is costly, and too many may render a game unplayable.

Objectives

This work was presented at a poster session in Fall 2008 at Millersville University