top of page

TIME GLADIATOR

GAME INFO

  • Genre: Retro First Person Shooter

  • Engine: Unity

  • Team Size: 3

  • Development Time: 48 Hours

CONTRIBUTIONS

  • General game design

  • Player controller and rewind mechanics.

  • Enemy AI

  • Level/Arena Transitions

PROGRAMMING GOALS

  • Create a retro first person shooter with the prompt "Rewind"

  • Make a functional and arcade-like game within a 48 hour window.

  • Freshen up on my Unity C# skills

PLAYER CONTROLLER AND REWIND

  • The project was an opportunity for me to freshen up on my Unity C# skills after I'd been primarily working in Unreal Engine for the time.

  • Starting off I created a very basic player controller which allowed for basic directional movement, aiming and shooting, and the unique ability for the player to rewind their character to their position and health from the last 5 seconds. (We figured this would be a fun mechanic that would include the prompt of Rewind). This part of development was relatively quick but the rewind function was a fun excuse to learn about time manipulation in unity.

Screenshot 2022-12-23 200752.png
Screenshot 2022-12-23 200627sdf.png
Screenshot 2022-12-23 200627.png

ENEMIES

  • Most of my time was spent on programming and designing the enemies in the game. We had three basic enemies planned out; a melee enemy, a ranged enemy, and a bulky grenadier that would throw bombs at an arch towards the player relative to how far they were.

  • All three of these enemies would use Unity's built in AI and navmesh system to navigate around the map with each enemy having different parameters to determine their stopping distance from their target.

  • Melee enemies would raycast when they were close enough to the player to determine if they were in range for a melee attack, ranged enemies would raycast towards the player to determine if any obstacles were in the way. If not then they would fire a projectile, and the grenadier would spawn three physics-based grenades that would adjust the force and throwing angle depending on how far away the player was. (The grenadier was my personal favorite to make).

  • Lastly each enemy type needed their own state machine to help determine what animation state they needed to be in to update their sprite. 

LEVEL TRANSITIONS

  • A fun mechanic that we thought would go well with the concept of "Rewind" would be if we changed the arena between each wave, and have the player go to a new arena going back in time. Starting with a futuristic arena, a modern battlefield, a Civil War battlefield, and a medieval castle.

  • Level transitions posed a unique problem in that each new level would need a new navmesh to account for the new layout and geometry and the enemies would need the new navmesh info into their component since the game functioned within one scene and enemies were spawned in from real-time.

  • Thankfully after some research I was able to change the navmesh info for the enemies depending on what level the game-manager had the determined the player was at.

Screenshot 2022-12-23 200713.png
Screenshot 2022-12-23 200731.png

CONCLUSION

  • All in all Time Gladiator was a fun and short project that gave me a free excuse to freshen up on my C# skills in Unity, and gave me a better understanding of using states to help create a polished and animated AI/enemy system.

Contact

If you'd like to get in contact email me at Mikeygamedev@Outlook.com

Untitled-1.png
bottom of page