STRESS TEST - Action FPS
Gameplay | Mechanics | Systems
Project Details
Team Size - 4
Duration - 4 months
Playtime - 10 minutes
Platform - PC
Distribution - Itch.io
Tools - Unreal Engine 5, Perforce, Jira, Confluence, Audacity, Google Draw, Google Sheets
Roles - Gameplay Designer, Technical Designer, Systems Designer
Summary
Over the final 4 months of my Game Design Bachelor’s degree program, I worked with a team of 3 other designers on a single "capstone" game project. The goal of this project was to create a vertical slice of gameplay that would show potential employers that I can work with a team to create fun and engaging gameplay. The main systems I was responsible for designing and implementing were the weapons and progression.
Weapon Types
Weapon Parent Class
The first step when creating a weapons system for this game was to identify what shared behaviors the weapons would have. I identified that all the weapons in this game would need to fire a projectile with variable fire rate, damage, range, and I later added an ammo system with variable reload speed. There are too many specific shared behaviors to list but in summary: the weapon parent class was built to handle every weapon behavior that was not specific to a certain weapon type.
Screenshot of weapon parent class components and variables near end of production
Design Process
1
First, we brainstormed as many weapon types as we could, drawing inspiration from some of our favorite games and concepts we’ve always wanted to try.
2
Next, we narrowed down the list to just the ones we thought would fit into our game by using our design pillars, genre, and game concept.
3
Next, we tried to imagine potential gameplay scenarios for each weapon type. For example: shooting the ricochet rifle in a crowded hallway and watching the bullet rapidly bounce through all the enemies.
4
Finally, we considered scope and feasibility of each weapon type, cutting any that we determined would likely require too much time to implement.
Weapon Modifiers
Problem: We need more weapon variety
To serve the rogue-like nature of the game by increasing the variety of gameplay, the team decided that we needed a system to randomize our weapons. While one well-designed weapon is more valuable than a hundred shallow ones, we thought the variety of options was a vital part of the game's concept that we would be able to include without sacrificing quality. Offering players a diverse arsenal of weapons to use is something that our research found is vital to the genre.
Solution 1: Procedural Weapons
Given our very limited time frame, I opted for a procedural system that assigned modifiers to each weapon upon creation. The three weapon types acted as base classes that each had their own list of 10-20 modifiers that could be attached to them. These modifiers could change anything about the weapon's behavior, such as increasing its fire rate or adding a stacking damage buff whenever a player kills an enemy with it.
Flaws:
- Difficult to balance
- Sometimes created weapons that were not fun to use
- Required lots of work to refine
Screenshot of a designer tool I created that spawns custom weapons for testing
Solution 2: Curated Weapons
This solution was a "pivot" of the original system that involved keeping the modifier system but changing how they are attached to weapons. Instead of each weapon procedurally selecting it's own modifiers, I redesigned the system into a curated pool of weapons, each with preset modifiers that were balanced and tested to ensure every weapon had a purpose and a unique feel.
Improvements:
- Players always get offered fun weapons
- Much easier to control player progression
- Streamlined development
Screenshots of the data tables for curated weapons of each type
Examples of the weapons and their given modifiers in-game