top of page
Portfolio
Portfolio
Portfolio
Repeater Roulette is a first person Roguelike Shooter set in a seemingly abandoned 1920s casino. The player must fight their way through various floors using their newly acquired weapon: a gun gruesomly grafted to their arm

Repeater Roulette
Final Year University Project

Git and Version Control

Gameplay Programming
Project Time: 8 Months
Game Engine: Unity
Team Size: 15

Jira Project Management

Human Computer Interaction




Represented the University at various events such as Comicon and EGX London
Mechanical Overview
Designed and programmed the majority of the UI adhering to feedback from the team. Major focus on usability and accessibility.
Created the level generation system and level transitions
Created the shop items, pickups and inventory system
Various unused prototypes such as a scoreboard
Took charge of all interactions and tutorialisation

Overall Contribution

- Implemented Majority of UI; Menus, Settings, Inventory, Abilities, Shop, HUD etc
- Implemented player health system, pickups and abilities
- Mastered the use of Scriptable Objects with Inheritance for modular implementation, working closely with designers
- Created the level generation system
- Explored the usage of delegates to decouple scripts
- Handled all interactions in the game including tutorialisation, opening cutscene and dialogue
- Created the "Perks" system that grants the player short ability boosts
- Saved game data to .JSON files
- Adhered to Agile Methodology by implementing sprint and playtesting feedback
- The experience I gained from this project was incredibly valuable to my journey as a programmer. I got to experience having so much passion for a project that when I wasn't able to work on it, I was sad. Everytime I was doing something else i'd be thinking "I could be working on repeater roulette right now". I can't wait to experience that feeling again.
- I put a lot more thought into the design pattern of my code architecture in this project. Using the singleton pattern for a game state manager and observer pattern for interactions.
- If I were to do this again, I would place more importance on memory allocation and optimisation. Making the game run smoother in general.
bottom of page