Rogue Slots
A roguelite where a cursed slot machine drives your combat abilities. Built in UE5.4 with Melted Pixels. I handled combat, the slot mechanic, UI/UX, and supporting systems.
A roguelite where your slot machine fuels your combat, built in UE5.4 as a capstone project.

Rogue Slots is a roguelite where you carry gOLDy, a cursed slot machine, into combat. Every spin hands you something — buffs, effects, tools — and there’s no penalty attached, just upside. Built in Unreal Engine 5.4 as our capstone with Melted Pixels.
I didn’t come up with the slot machine. It was already the core of the game when I joined, and my job was making it something players understood and wanted to engage with.
The Spin Problem
The slot system worked mechanically but nobody knew why they should touch it. Buffs never expired, so testers figured out the optimal play immediately: spin until you hit something big like max attack, then stop spinning entirely. We kept hearing the same question in playtests — what’s the point of spinning if the buffs are permanent?
That’s a design problem, not a UI problem, but the fix ran through both. Buffs got durations, shown as animated bars inside each slot so the timer is part of the machine rather than a number somewhere else on screen. Expired buffs fade, inactive ones blur, and the slot state reads at a glance. Audio hits sync to spin resolution, and the spin animation got faster and punchier so the moment lands.
I also cut the machine down from nine visible reels to three active slots. Nine was noise. Three is a decision.
Combat
I built the player combat system from the ground up: attack animations synced to damage and hit frames, cone-based hitboxes tuned for weight and timing, and the feedback layer on top — particles, hit SFX, camera shake, hit pause. Enemy attack timing was designed around player spacing so fights reward reading and reacting instead of mashing.
UI
The slot machine, status effects, shop menus, and powerups are all live at the same time, so the UI had real work to do. I designed and implemented all of it — HUD, menus, feedback prompts. Stamps use iconography, Treatments use color-coded borders, and every layout had to stay usable mid-combat rather than assuming the player has a spare second. Buttons, layouts, and tooltips got tuned against what testers actually did, not what we assumed they’d do.
Systems For The Rest Of The Team
- Event Flag System so level designers could trigger gameplay changes without touching code
- Dynamic music transitions to swap tracks cleanly between stages
- Timer and best-time tracking to support speedrunning and mastery
- The HUB area, including the upgrade and shop NPC functionality
I also kept the GDD, loot tables, progression documentation, and changelogs current through the project.
What Got Cut
Jackpot Events — matching Stamp rolls triggered burst bonuses. This one worked well and I was sorry to lose it, but building out additional jackpots and the features around them would have eaten the time we needed for bug fixes and core system polish. Cut late.
Drawback Stamps and Slots — negative modifiers on the machine. Dropped early; they confused players and broke the flow of a system built on upside.
Boss encounters — planned unique fights became tougher enemy waves once animation and AI time ran short.
Upgrade trees, adjustable starting loadouts, narrative cutscenes, and multi-level progression were all scoped in and left on the table.