«Motion Capture Shooter 1 Motion Capture Shooter An upper body movement controlled first person shooter that implements motion capture hardware. Name: ...»
Motion Capture Shooter 1
Motion Capture Shooter
An upper body movement controlled first person shooter that
implements motion capture hardware.
Name: Tudor Pascu
Candidate Number: 10356
Course: BSc Computer Science
Department: Informatics Supervisor: Dr. Martin White Year: 2010 Word Count: 11 553 (19 830 with appendix) Dissertation - Tudor Pascu - 2010 - Candidate Number 10356 Motion Capture Shooter 2 Summary This application is the result of a year of user-centred and field research and aims to produce a physically interactive user experience that involves the use of upper body movements as a means of controlling a virtual character. The game uses a motion capture suit that is provided through the University’s joint venture with Animazoo, a world-leading motion capture hardware developer. It is built on the new generation Unreal 3 technology, an advanced engine used by hugely popular games. This engine and its software development tools are available in a package entitled “Unreal Development Kit”, released by Epic Games in November 2009. The development of the application involved working with the University's eMove research department and is partly based on previous work and research they did on motion capture.
This application can be played traditionally or through gesture-based motion recognition. The implemented code translates the player’s movements into virtual events. The motion capture had to be implemented while taking into account the complexity of the first person shooter's standard control scheme. The resulted application allows the player to control the virtual character (walk, rotate, strafe, jump, use complicated weapons) through upper body gestures. The gesture recognition concept and control scheme is unique and was designed for this game.
The most part in the development of this game was the creation of numerous 3d assets used to detail the virtual environment. It implements a set of custom weapons designed and built uniquely for the purpose of this project. This project also involved the implementation of artificial intelligence, particle systems, physics systems and sounds. Photoshop, 3d Studio Max (with UDK plugins), VisualStudio (with UnrealScript plugins), Audacity,Unreal Development Kit tools and other applications were needed to complete the various components of the game.
This application is programmed in UnrealScript, a programming language based on C, developed by Epic Games for this engine. A large part of this project involved researching how the engine development kit works, understanding the fundamentals of the engine and learning a new programming language.
UDK is based on Unreal Tournament 3, a futuristic, fantastically-themed first person shooter also developed by Epic Games. The game's overall theme is very different from that of the original. Many modifications and additions were made to the engine.
This project is in accordance with the supervisor’s and university’s interests and may be used to showcase Animazoo’s hardware. The game is provided on a CD and can be installed by following the instructions found in the appendix of this report. Additionally, all textures, models and source code have been included in this submission.
I would like to thank the following people for their help and assistance in completing this project:
Dr. Martin White for his weekly advice that constantly pointed me in the right direction.
Jake Slack and Cash Garman for their help with integrating the motion capture suit in the game.
Epic Games Forum:
“Geodav” and all the other forums members that make the Epic Forums a helpful resource for developing an Unreal 3 based game.
Statement of Originality This report is submitted as a requirement for the undergraduate degree of BSc Computer Science at the University of Sussex. I hereby declare that all information presented in this piece of writing is the result of my own labour. I also declare that all intellectual content, technical specifications and design ideas are the product of my own work unless otherwise stated.
1.1 Problem Statement This project is centred on the design and implementation of a computer game that may work with motion capture technology provided through the university’s partnership with Animazoo. Animazoo is a world-leading motion capture hardware developer. The game should implement a control scheme where the keyboard and mouse inputs are replaced by upper body gestures. The first person shooter genre was chosen as it is the most immersive and popular type of computer action game.
A first person shooter, as the name would imply, allows the user to adopt a first-person point of view where her or she will see the game story unveil through the eyes of the virtual character. The first game of this genre that had international success dates back to 1992 when id Software released Wolfenstein 3D. This simple yet revolutionary game has set the standards for all first person shooter to follow. The concept behind Wolfenstein 3D was to experience the events from the perspective of a gun-slinging protagonist that is absorbed into an unknown and mysterious action-packed environment. As a result, a shooter themed game is now defined by the fight-for-survival premise where a player makes will use of a variety of weapons to progress through a level. This genre is the most sought after in action gaming and there have been many cases of success such as Activision's Modern Warfare 2 which earned 310 million dollars in sales during its first 24 hours of availability.
The first person shooter genre is a reasonable choice.
Motion capture has been used in games for many years as a way of realistically animating characters. Only recently some have attempted to produce motion capture controlled games, an undertaking that regarded by many as the future of gaming. Nitendo showed that this was possible in 2007 with the release of the Wii, an instantly popular and affordable console system. The Wii's motion capture capabilities are very limiting and as a result only simplistic were ever made for it.
The problem in motion gaming is that of hardware limitations and no games of mass-appeal genres have been produced. No affordable full-body motion capture system is accurate enough to control a proper game character. This project attempts to combine a massively popular computer gaming genre with motion capture technology to conclude an interesting, intuitive and insightful product.
The motion capture capability of the game may create an immersive and unique gaming experience for any first person shooter enthusiast.
The various tasks described above are divided between different departments in the company. This model works in a professional and well-structured game development corporation and is not entirely relevant in the creation of this project. This project will be built by only one individual and its success lies in time management.
Dissertation - Tudor Pascu - 2010 - Candidate Number 10356Motion Capture Shooter 11 1.2.2 Gaming Engines Few game developers build engines and it is quite common to license technology in order to build a game. A game engine can take up to 5 years to develop, five years that most game developers cannot afford. Building solid engine architectures is a large undertaking and few companies have the knowledgebase or the time to do so. As a result, only large game developers such as id Software (creators of Doom and Quake) and Epic Games (creators of the Unreal games, Gears of War etc.) invest money and time in creating development kits for others to use. The engines are then licensed and used by small companies that have the freedom to modify them to suit their projects.
A vital part in the development of a game is choosing the engine framework. It will represent the foundation and will influence the development of any game content. In making this decision, one must carefully analyze a project’s requirements and consider all development stages. For example, choosing the Unreal Engine to produce a simple game would be a mistake as it requires powerful hardware and a high level of detail in all 3d content. This is due to the fact that the Unreal Engine is a powerful hardware power-consuming tool. Similarly, it is a mistake to choose a simple engine such as Panda3D to create a hugely detailed game as the engine will not cope with highly detailed models.
For the purpose of this project, three engines were considered: Panda 3D, Unity and Unreal 3. Unity
and Unreal 3 were compared, tested and contrasted as follows:
General Beneficiaries Fully integrated game editing environment.
Unreal Gemini multithreaded rendering system will support highly detailed models.
A material editor tool that can be used to create complicated materials and shaders.
A powerful dynamic lighting system featuring global illumination that can be used to create realistically lit environments.
Solid physics system that can be used to assign weights and properties to objects.
Kismet, a powerful programming tool that can be used to create interactive environments and gameplay.
Animation editor that facilitates the importing of animations from several 3D Modelling and Animation tools.
Unreal Matinee editor, used for animating level elements.
UnrealScript, a C-based programming language.
Dissertation - Tudor Pascu - 2010 - Candidate Number 10356Motion Capture Shooter 12 Internet/LAN support.
Basic AI bot system that can be used to create a single player mode.
Visual Sound Cue Editor that facilitates the importing of sounds and supports various compression schemes.
Particle effects editor that facilitates the implementation of muzzleflashes, impact effects and explosions.
Online community support.
Personal Beneficiaries UnrealScript is an object-oriented programming language, similar to C and Java.
Satisfies the determination to create highly detailed models.
Previous experience with 3D Studio Max, a tool supported by UDK.
Previous experience with Unreal engines and development tools.
Drawbacks Requires a high level of detail. The asset creation development stage is time consuming and given the time frame for this project may cause problems.
Hardware-demanding Complicated interface (for beginners).
Lack of beginner/introductory tutorials.
General Beneficiaries Simple editor interface.
Direct3D 9 and OpenGL support, making the Unity’s graphics system cross-platform compatible.
Static lighting system.
Easy 3D asset and texturing importing.
Simplistic and easy-to-use particle system.
Optimized texture compression.
Pre-built shaders library including useful elements such as water.
Real-time texture painting.
Asset library including vegetation and other useful game objects.
Dissertation - Tudor Pascu - 2010 - Candidate Number 10356Motion Capture Shooter 13 Realtime networking and browser support.
PhysX system support allowing for the allocation of physics properties to game objects.
Prebuilt ragdoll and vehicle systems.
Various audio compression types supported.
Good library of tutorials and user documentation.
Previous experience with 3D Studio Max, a tool supported by Unity.
Drawbacks Limited graphics.
Indy version of Unity does not have dynamic lighting.
No pre-built first person shooter mode.
Various bugs and problems with the engine’s physics.
Given that both engines are available for free use, deciding which one to use involved understanding the scope of this project and concluding the system requirements. Part of this project’s goal is to create a visually pleasing product that displays highly detailed 3D artwork. A large stage in the development of this game is the 3D modelling and texturing. As a result, the Unreal Development Kit was chosen. Unity is very limiting as the independent free version of the engine does not support dynamic lighting. To make a believable environment, dynamic lighting is crucial and the Unreal Development Kit also supports Global Illumination. This decision was also based on previous work I have produced for past versions of the Unreal Engine. Furthermore, given that the genre of this game will be a first person shooter, UDK comes with a pre-built FPS mode that will be used in the final product.