OutRage: Fight Fest

Programming a multiplayer

The logo for Photon Quantum.
Deterministic Simulation Deterministic Simulation

Fighting games require very specialised multiplayer programming in order to reduce latency, as milliseconds count when it comes to player-verses-player combat. In order to achieve the lowest latency possible, we opted to use Photon Quantum for our game simulation.

Having the opportunity to work first-hand with Photon Quantum, a deterministic entity-component system, inspired me to work on my own implementation of an ECS that utilises the latest C# language features.

Programming the

Throwing Props Throwing Props

I implemented gameplay features to enhance the combat experience in the game, such as picking up and throwing props and physics interactions with props.

Footage of props being thrown from 'OutRage: Fight Fest Demo' by UnstableVoltage.

Programming for

Animation State Machines Animation State Machines

In order to achieve precise control over the character animations we programmed our own Animation State Machine.

Unity provides an animation state machine of it's own called the "Animator". This tool features a graph editor where the developer can configure transitions between different states. Once you start adding hundreds of transitions between states, however, it can become a nightmare to maintain.

A screenshot of an example Animator inside Unity.
A screenshot of an example Animator inside Unity.
Check
By programming our own Animation State Machine, all our actions can have fast and precise visual feedback and reactions.
An unhandled error has occurred. Reload