Repeater Roulette
By Average Soup
Itch.io - https://average-soup.itch.io/repeater-roulette
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.
​
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.
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:
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:
Current behaviour tree layout for the human deformity class:
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