As two separate projects at university, I have been creating a series of demos to test out mechanic ideas for a potential third person shooter project. The overall idea was to bring realistic aspects of certain shooter games (such as location based damage and ballistics) into a touchscreen game. To assist in iteration, the demo was created in Unity, utilising its C# scripting as well as features such as Mecanim for character animation and its robust physics system.
The Professional Specialisation aspect of the project was to focus on gameplay programming and the initial aims were split into three core parts:
- A basic third person cover sysytem
- Realistic ballistics with the aim of letting designers use real world values
- A location based damage system that can affect the player’s gameplay when they are injured.
These objectives went through a process – an investigation into how other games implement them, a rough idea on how they should work in code and then implementation. All three were successfully implemented in a prototype fashion.
- The cover system will look for a cover marked object, move the player to the cover position and force the player to crouch.
- Ballistics takes in values from real world weapons and outputs the correct kinetic energy. Rounds use a combination of raycast and physical collisions to both impart force and cause bullet effects on the health system from any distance.
- Each of the characters in the scene has a location sensitivity health system. This takes kinetic energy values, applies it to the hit location and then deals with the after effects such as knocking a character down or killing them.
The finished protoype can be played online at https://dl.dropboxusercontent.com/u/6573563/DemoWebBuilder.html or below. Please note the cover mechanic has been disabled for web player
The Innovation Project module was based around taking an investigation from initial idea to its conclusion. I decided, to tie in with my third person shooter game, to look at a brief delivered by one of my tutors looking into third person controls in a 3D environment. I implemented to control schemes to compare a touch screen focused scheme with the standard soft joystick option used by many porting companies.
To test these scheme, I created a simple map and a timing utility to chart a players progression through the level. In addition to this, I also created an implementation of the shoot scene with touch screen controls.
As you can see in the image below, I got the final demo working and deployed successfully to both my Nexus 7 tablet and my HTC One phone.