top of page

Repeater Roulette

falmouth logo.jpg

This is a third-year student game currently being developed by Average Soup at Falmouth University.

​

Repeater Roulette is a First-Person Roguelike Shooter set in an alternate dystopian timeline. Within a seemingly abandoned 1920s casino owned by an eccentric scientist, the player must fight their way through various floors of the Scientist’s casino using their newly acquired weapon; their arm which has been gruesomely turned into a gun. No playthrough will be the same with procedurally generated rooms and randomised deals where the player can gamble to upgrade. Players will be able to create outlandish combinations, stacking various upgrades to create a unique weapon and experience.

​

project gat bar 2.png
project gat bar 1.png
ProjectGatCollage1.jpg
ProjectGatCollage2 (2).jpg
project gat gore.png

limb dismemberment system:

The limb dismemberment is a core mechanic in the game and brings the perfect gore style we were aiming for throughout development. With the limb mechanic, I created functions to give the enemies bleed when shooting off limbs as well as child limbs to be taken off as well e.g if the player shoots the upper leg of the lower leg will be shot off too. The function "ApplyDismebermentDamage" applies a bleed damage over time in ticks using a coroutine.

bleed pic.PNG
limb script.PNG
limb.PNG

Here is an example of one of the enemy type's limbs that have been cut up and ready to be spawned in the engine after a limb is dismembered:

limbs.png


enemy ai:

Researching into multiple AI techniques, behaviour trees seemed most suitable for our game considering the vast amount of enemy types we want. Finite-state machines was an option but would've become too messy with the amount of behaviours we want to be connected together.

Scriptable object class to hold data for each enemy:

data.PNG

Current behaviour tree layout for the human deformity class:

bt.PNG
commonenemy behaviour.PNG

During the development phase, I encountered numerous issues, mainly having to do with pathfinding. I had trouble getting the enemies to vault over objects and land on different nav meshes. After doing research, I ended up using "NavMesh Links" to create a path over obstacles for the AI.

​

Another issue I overcame was performance issues on limb dismemberment. I was using the profiler in Unity to determine what is making the performance decrease. After realising the limbs that were being shot off the enemies had a drastic performance hit I decided to change the limb count from thirteen to nine. I also made it so the limbs will get in by an object pool if there are too many that are in the scene.

​

Approaching issues

 

my ROles - Project manager, ai & gameplay programmer

This project is being developed by a team I formed at the start of my final year, I took the role of project manager and have been monitoring the team as well as making sure the goals are reached. Throughout the development of this project, I have also created some of the core mechanics of the game. One of the vital parts of our game is the AI, and I was responsible for that. 

​​

I also worked on player movement, which includes walking, sprinting, vaulting, and sliding, all combined to achieve the fast-paced movement that we are pushing for.

  • Enemy AI

  • Movement System

  • Limb Dismemberment

  • Object pooling

  • Project managing

  • Scrum meetings

  • In engine development

bottom of page