Game Programmer

FightXercise

Genre Fighting
Year 2016-2017
Platform Android
Tools used Unity, MySQL, Blender, Google Fit, Mocap
Development time 1 year
Team size 2 people
Role Gameplay programmer, designer, texture artist

FightXercise is a mobile fighting game inspired by classics like Street Fighter with the twist that players need to exercise in real-life in order to improve their avatar stats.



Hitbox system

A custom hitbox system was implemented in order to check hits to the body and parry events. Moreover, it makes easy to synchronize the hitbox zone with the avatar animations using the Unity animation system.

Ability system

Each character can select up to six different moves and bring them to battle.

Each move has its own animation and six different stats: strength, speed, range, stun, pushback and reload.

Through the battle the six available moves appear on the right side of the screen and need a small time to recharge once the player uses them.

Ability tree

Moves can be unlocked as players gain levels in the combat mode.

Moves are split in three different category trees: strength, speed and endurance.

To unlock advanced moves, players need to unlock adjacent moves first.

Enemy AI

Enemy avatar uses a goal-driven agent behavior with customizable bias for different combat patterns.

Scene transition

To ease the flow of the game, an asynchronous loading scene transition was implemented.

Avatar statistics

As players use the external service Google Fit, their avatars gain points in three different statistics: strength, agility and endurance.

  • Strength increases the damage output and stun force of the players avatar.
  • Agility increases movement speed and reload speed of the players avatar.
  • Endurance increase the avatars health points and reduces the stun time.

Data persistence

Information about player progress (tickets, avatar experience, avatar level, customizations unlocked, abilities unlocked), avatar statistics (strength, agility, endurance), game configuration options and authentication for external services are saved on external files.