In Arcane Annihilation you fight against endless wasves of zombies. The player can use the fast paced movement to avoid zombies. After each wave, the player is given a choice of weapons to pick. These weapons are procedurally generated and have there own each unqiue attrabutes.
In this project, I served as a Gameplay Programmer on a team of 10 individuals, encompassing a diverse array of disciplines, including artists, designers, and programmers.
First-Person Shooter, Endless Waves
Unreal Engine 5, Blueprint
The objective of this project was to swiftly prototype systems and features in order to showcase a functional game loop. The core systems within this project included Character Movement, the Weapons System, and AI. My primary focus and contribution were directed towards the movement system.
The movement design for this game drew inspiration from complex mechanics similar to those seen in games like Titanfall and Ultrakill. Consequently, I devised a Hierarchical State Machine to structure the various movement states in a hierarchical fashion. States higher up in the hierarchy served general tasks, while sub-states further down specialized in specific functions. This hierarchical organization proved invaluable for fine-tuning and controlling the movement behavior.
When a state begins the 'EnterState' function is called and when a state ends the 'ExitState' function is called. When the state is active the 'Update' method is called each frame. The image below displays the base state class.
Given the pivotal role of movement in this project, after discussions with the design team, I opted to develop a physics-based movement system. This decision offered extensive control over character movement and facilitated the functionality of various game mechanics. Importantly, it exposed numerous variables to Blueprint, enabling the design team to fine-tune values and achieve a responsive and satisfying movement experience.