PRISM PANIC
Team: Solo Project / Tools: Unreal Engine 5, Maya, Rider / Timeline: 1 Month
Prism Panic is a fast psychedelic arcade FPS where the player fights escalating swarms on a floating arena using one rapid-fire weapon, high-mobility movement, and score-chasing survival.
​
I built this project as a focused gameplay systems prototype. The goal was not to create a large FPS campaign. The goal was to explore control feel, weapon feedback, enemy pressure, spawn pacing, score chasing, and readability under escalating chaos.
ELEVATOR PITCH
Move fast. Shoot constantly. Survive the swarm. Chase a higher score.
​
Prism Panic is built around one core loop:
Move → Shoot → Survive → Score → Restart
​
The project uses a deliberately small scope:
-
One arena
-
One weapon
-
Two enemy types
-
One life per run
-
Continuous difficulty escalation
-
Local high score chasing
-
​
This small scope allowed me to focus on tuning the moment-to-moment feel instead of spreading the design across too many systems.
1. Panic Control
The game should feel chaotic, but not random. The player moves quickly, dodges swarms, escapes danger, and makes sharp decisions under pressure.
​
2. Readable Chaos
The screen can become crowded, but the player still needs to read enemies, projectiles, arena edges, weapon feedback, and movement space.
​
3. Arcade Replayability
Runs are short, score-driven, and restart quickly. The player should always feel like they can survive longer or score higher on the next attempt.
Player Movement and Gameplay Feel
Movement was one of the most important parts of the project. I wanted the player to feel fast, jumpy, and slightly slippery, closer to older arena shooters than modern grounded FPS movement.
​
The design goal was not realism. It was controlled panic.
Â
I implemented and tuned the player character in C++, including:
​
-
Ground speed
-
Jump strength and gravity
-
Momentum preservation
-
Ground friction
-
Braking friction
-
Mouse/input feel
-
Footstep and jump audio timing
-
Fall death and restart flow
​
The movement needed to support three gameplay goals:
-
Survival under pressure:Â The player needs enough speed to dodge swarms and reposition.
-
Arena risk:Â The floating arena creates danger. Fast movement helps the player escape, but careless movement can lead to falling.
-
Skill expression:Â Slight slide and momentum give the player room to improve without making movement feel uncontrollable.
​
During Tuning, I reduced the amount of movement chaos when it started to hurt control. The final goal was a fast, bouncy feel where the player can recover through skill instead of feeling punished by the controls.
Movement Tuning BEFORE: Notice Slippery Movement
Movement Tuning AFTER: Notice Tighter Movement but bouncer movement when jumping.
Weapon Design & Combat Feel
The Prism Blaster is the player’s only weapon. I chose a single weapon so the player could focus on movement, aim, positioning, enemy priority, and score pressure instead of inventory or ammo management.
Â
The weapon is inspired by a Quake-style nailgun, but redesigned as a prismatic shard blaster with infinite ammo, no reload, rapid automatic fire, multiple muzzle sockets, slight spread, and bright impact feedback.
Â
I tuned the weapon as a feedback system, not just a damage system. The goal was to make every shot feel readable and satisfying during high enemy density.
​
Key tuned elements included:
-
Automatic fire cadence
-
Projectile speed and spread
-
Damage values
-
Alternating muzzle behavior
-
Projectile mesh variation
-
Muzzle flash
-
Impact particles
-
Impact decals
-
Fire and impact audio
-
Recoil
-
Camera shake
-
Weapon bob and movement
​
Layering recoil, muzzle flash, impact effects, sound, decals, and projectile visuals helped the weapon feel more responsive and made combat easier to read when enemies filled the arena.
Weapon Tuning BEFORE: Feels generic and too rapid which removes player challenge.
Weapon Turning AFTER: Has a "push" feel and timing between the main muzzle and two smaller muzzles.
ENEMY DESIGN
The enemies are intentionally simple. They are not designed to outsmart the player. They are designed to shape the player’s movement.
Together, the enemies create movement problems:
-
Where can I move safely?
-
Which enemy is most dangerous right now?
-
Am I being pushed toward the edge?
-
Can I keep my kill chain going?
-
Do I need to clear space or keep moving?
Buzzer Orbs
The Buzzer Orb creates swarm pressure. It crowds space, follows the player, and pushes the player toward dangerous positions near the arena edge.
Skullers
​
The Skuller acts as a priority threat. It breaks the player’s rhythm with projectile pressure and burst damage, forcing the player to decide whether to keep moving, clear space, or focus fire.
Spawn Manager and Difficulty Escalation
The spawn system creates continuous escalation instead of traditional waves. The match starts readable, then gradually compresses the player through enemy density, spawn rate, and enemy mix.
​
The level uses placed enemy spawners, but the overall match pacing is controlled globally. This keeps the system designer-friendly while allowing the full run to escalate from one central difficulty model.
​
The system controls:
-
Global max alive enemies
-
Per-spawner alive limits
-
Spawn interval
-
Spawn interval randomness
-
Minimum and maximum spawn count per pulse
-
Enemy spawn weighting
-
Difficulty percentage
-
Spawn visibility rules
-
Spawn collision validation
-
Spawn distance validation
​
The main difficulty driver is not complex AI. It is density over time. As enemy count increases, the player has less space, less reaction time, and more pressure to keep moving.
The main difficulty driver is not complex AI. It is density over time. As enemy count rises, the player has less space and less reaction time. More pressure to keep moving. Simple rules, fast decisions, escalating panic.
Early game at 1 minute, 5 minutes, and 10 minutes comparison
1-minute gameplay
Scoring and Replayability
Prism Panic uses a simple arcade scoring structure:
The scoring system supports the intended loop: survive longer, kill faster, maintain pressure, and restart after death to chase a better run.
5-minutes gameplay
Difficulty Curve and Tuning Values from beginning of the game to 10 minutes+ of the game.
10-minutes gameplay
Visual Design and Readability
Prism Panic uses a PS1-inspired psychedelic style, but readability is more important than visual noise. Enemies, projectiles, impacts, arena edges, and weapon feedback need to stay clear even when the screen becomes chaotic.
​
The arena layout is intentionally simple: a flat floating platform with spawners placed around it. This keeps the focus on movement, enemy pressure, and survival decisions rather than navigation complexity.
Playtesting and Iteration
Private testing helped identify which parts of the game felt unfair, unclear, or under-tuned.
Â
Problem 1: Too much chaos hurt readability
Early versions became visually and mechanically overwhelming when too many enemies filled the arena. I addressed this by adding hard enemy caps, spawn pacing controls, and difficulty tuning.
Â
Problem 2: Enemies overlapped too heavily
Swarm pressure worked, but enemies needed spacing so the player could read the threat. I added separation behavior to reduce clumping and improve readability.
Â
Problem 3: Weapon feedback needed more impact
The weapon worked mechanically, but it needed stronger feedback to feel satisfying. I improved the weapon by layering muzzle FX, impact FX, recoil, sound, camera shake, and decals.
DESIGN LESSONS
Chaos needs structure
More speed, more enemies, and more visual effects do not automatically make the game better. The player needs enough structure to read the situation and recover through skill.
Simple enemies can create strong decisions
The enemies do not need complex AI to create pressure. Clear roles, spacing, density, and timing can force meaningful player decisions.
One strong weapon can carry the loop
A single weapon can work when its feedback, cadence, damage, readability, and role are tuned carefully.
Small scope helped the design
Keeping the game to one arena, one weapon, and two enemy types let me focus on control feel, combat feedback, spawn pacing, and replayability.
Future Improvements
If I continued development, I would focus on:
-
Final HUD, menus, and game over screen
-
High score UI with arcade-style initials entry
-
Stronger score presentation
-
One additional enemy type to increase replayability
-
More polished onboarding for first-time players
RESULT
Prism Panic became a playable solo Unreal Engine 5 arcade FPS prototype focused on movement feel, weapon feedback, enemy pressure, spawn pacing, and score-driven replayability.
​
The project helped me practice gameplay systems design in a controlled scope and gave me a stronger understanding of how tuning, readability, feedback, and escalation work together in a fast arcade shooter.