Premise – The Physical Shooter

Developed for my honours project, the Vigilante Combat and Movement System is a prototype created to showcase how physical animation can be used to drive player feedback. The goal is to have a combat system that feels dynamic and fluid without compromising gameplay responsiveness or stability.
The videos below show the functionality added within the final semester, along with full playthroughs of the prototype’s levels. Further down this page, there are further details on the systems featured in the prototype with accompanying videos.
Alternatively, the prototype can be downloaded to play locally from here.
Instead of using physical animation to drive the gameplay, I use it as a tool to add interactivity to the game’s kinematic base. Mainly used for changes in inertia, hit reactions and showing health.
Secondary Premise – A Study into Character Controllers
I also used this project to create a first person character controller with a feature-set one would expect in a modern first person shooter.
The goal was to develop a character with full-body awareness without any of the clunkiness or popping that can come with it. While not using physical animation like the enemies, all but reloads were procedurally animated with spring-based interpolation.
System Breakdown
Physics
With the enemy bodies being physically active, this allows them to seamlessly interact with other physics objects in the environment.
In the first example, the enemy crawls across some small physics objects. Dev-side, the character is playing back a crawling animation and all but the pelvis is physically driven, and the animation influence from legs is removed. As the limbs collide and react to these small objects, this simple setup provides convincing character presence with little effect on the core balance or mechanics.
The second example demonstrates the configuration used during live gameplay, where the physics is simulated on the upper body while the feet remain driven by the base animation, providing collisions with the environment and other characters.
Impacts
Much like the recoil from firearms, instead of relying on a “hit” animation, enemies receive physics impulses on their body at the location they were hit.
This allows for feedback from successful shots to be accurate to the direction/location the enemy was shot from and the type of weapon that was used. As they take damage, they become increasingly groggy, despite using the same core animations. This is because the strength of the physical animation proportionally scales to the health the enemy has.
Recoil
I wanted to dynamically simulate recoil forces for both players and enemies. They use the same data stored within the weapon’s parameters, but simulate the forces in different ways:
For players, this is done by adding offsets to the position and rotation of the player’s arms.
For enemies, this is done through physics impulses from the weapon that spread throughout the character’s torso. As the character takes damage, their ability to handle the weapon’s recoil is weakened, resulting in less accurate firing.
Melee
Since the enemies had physics influence, I wanted to see how other physics bodies could interact with them.
In the prototype, the player can kick physics objects in the environment with doors and desks providing instant kills. Such events are accentuated by a brief period of slow motion on impact.
Weapons
There are three weapons featured in the game, this restricted quantity allowed me to prioritise making them feel distinctive from each other:
- 9MM is the starting weapon for the player, it’s semi-automatic and reasonably accurate with a modest damage output.
- MCAR-4 is a fully automatic assault rifle that excels in most combat scenarios, it is only underpinned by weaker per-shot damage and less predictable recoil.
- ANHL-8R is a rifle from the future, its high damage output is matched by an equally large amount of recoil, this weapon is also capable of dismembering enemies on impact.
Grenades
In addition to guns and kicks, the player can also throw grenades. These apply radial damage and physics forces to enemies within the area. These also trigger camera shakes if the player is close enough to the blast.
Movement
The player has full body presence. With an animated body, dynamic depth of field and weapon raising. In addition to standard jogging, jumping and sprinting, the player can also vault over short obstacles or slide under gaps.
Levels
Each level was designed to have a unique identity, both visually and in gameplay:
- TRAIN features tight spaces with a high-intensity backdrop.
- ROOFTOPS is about speed and quick reactions.
- OFFICES asks the player to be methodical in their approach with challenging combat spaces and features the most scripted events.