🎮 Case Study

Broker
Breaker.

A wave-based arcade action game set in Wall Street chaos — designed, coded, and illustrated from scratch by a 4-person team.

Genre
Action-Progression
Platform
PC
Tool
Game Maker
Team
4 People
My Role
Design · Code · Art
The Starting Point

We were four people who had never opened Game Maker before. The brief was simple: build a game. No template, no existing codebase. We started where most good design starts — not at a screen, but around a table with sticky notes and a lot of ideas that weren't going to work.

02 — The Premise

What is Broker Breaker?

The concept, the player, and the core design challenge.

Out of 20+ concepts — debt simulators, field trips, city racers — Wall Street won unanimously. It was the one idea that made everyone in the room excited. It had natural game logic built in, a visual world everyone could picture, and something harder to manufacture: nostalgia. The chaos of an arcade game set against the chaos of finance just made sense.

Game Concept

🏙️

Wall Street chaos.
Wave by wave.

A wave-based action game set on a pixelated NYC street. Battle escalating enemy types, collect XP, upgrade weapons, and survive long enough to face the final boss.

SpawnBattleLevel upBoss

Target Player

🕹️

Casual gamer.
Ages 8+.

Someone who enjoys arcade-style action but isn't looking for a punishing skill ceiling. Pick up and play — no prior knowledge, no tutorial required.

Low barrierArcade feelAges 8+

Design Challenge

⚖️

Accessible,
but not trivial.

The tension we designed around — easy to pick up, hard to master. Every system had to stay readable for a new player while rewarding skill over time.

LearnabilityFlow stateProgression
How It Actually Happened

The concept came fast. The execution didn't. Building every sprite from scratch with no prior pixel art experience, while simultaneously learning Game Maker's scripting language, meant that the gap between what we imagined and what we could build was humbling. This is the honest version of how we got from a sticky note to a shipped game.

03 — Process

From sticky notes to shipped game.

6 steps. Every one documented.

Gameplay
Designing the Core Loop

Before we touched a single sprite or line of code, we needed to answer one question: what does the player actually do, every 10 seconds? The game loop was the skeleton everything else hung off. Get it wrong and no amount of good art or sound design would save it. We mapped it on paper first — kills feed XP, XP feeds weapons, weapons feed survival, survival feeds the boss. Every system had to justify its place in the loop or it got cut.

04 — Game Loop

Every system feeds back into the loop.

Weapons, XP, difficulty — nothing is isolated.

The loop was designed so that every action — kill, collect, upgrade — reinforces the next. No dead ends.

Teaching Through Enemies

We didn't want enemies to just be obstacles — we wanted each one to teach the player a new behavior. A game that introduces everything at once is overwhelming. A game where each encounter layers in one new rule keeps the player learning without realising it. So we designed four enemy types, each with a distinct mechanical purpose, not just a different HP value.

05 — Enemy Design

Each enemy teaches the player something new.

Not just difficulty increments — designed behaviors.

THE GRUNT SPRITE
The Grunt
Type 1 — Baseline
100 HP0.6 spd
UX Role
Teaches core combat rhythm. Your introduction to movement and aiming.
THE RUNNER SPRITE
The Runner
Type 2 — Speed
50 HP1.1 spd
UX Role
Forces target prioritisation. Introduces urgency and split-second decisions.
THE TANK SPRITE
The Finance Bro
Type 3 — Endurance
300 HP0.3 spd
UX Role
Rewards area attack strategy. Slows pace deliberately — teaches weapon switching.
FINAL BOSS SPRITE
Final Boss
Unique — Pattern Recognition
5000 HPCharge attack
UX Role
A designed encounter, not just a bigger enemy. Tests everything the player has learned.
The Hardest Design Problem

Here's the thing about Broker Breaker — it looks easy. It isn't. When we recorded our own playthrough for the submission, it took the team 5–6 tries to actually win. The game is deceptively calm in the first 100 kills. Then suddenly you're surrounded by Runners and Tanks at the same time and everything falls apart. Getting that ramp right — gradual enough to not frustrate, steep enough to stay exciting — was the hardest design problem we solved. We did it with probability, not hard cutoffs.

06 — Difficulty Progression

Invisible design. Visible feeling.

Players never see these numbers — they just feel the shift.

StageKill RangeEnemy MixType 1Type 2Type 3
Stage 10 – 99
100%
Stage 2100 – 249
90%10%
Stage 3250 – 449
80%20%
Stage 4450 – 699
70%22%8%
Stage 5700 – 999
60%25%15%
Stage 61000+
BOSS
BOSS
💡 The design insight: Difficulty scaled organically rather than suddenly. Players weren't hit with a wall — they were eased into harder enemies while their own weapon level climbed in parallel. Two systems in deliberate equilibrium.
Giving the Player Power

As the enemies got harder, we needed the player to feel like they were keeping up. The weapon system was our answer to that. Four weapons, each designed to counter a specific threat. But we didn't want to just hand them over — weapons had to be earned through XP, which came from the rats, which required you to survive long enough to collect them. The whole system was one connected loop of risk and reward.

07 — Weapon System

Four weapons. Each with a job.

Visual language reinforces mechanical purpose.

Fire Weapon
Red Weapon
Fire · Rapid Fire
High fire rate, low cooldown. Best for clearing dense swarms quickly without stopping to aim.
Best against: Type 1 clusters in early stages
Air Weapon
White Weapon
Air · Balanced
Mid-range, balanced damage. Your reliable fallback when switching strategies between waves.
Best against: Mixed enemy stages
Ice Weapon
Ice Weapon
Ice · Precision
Slowing effect on impact. Trades fire rate for control — essential when fast enemies appear.
Best against: Type 2 Runners
Area Attack
Area Attack
Earth · 360° Burst
Full radius damage. Has a cooldown — saved for moments when the player is surrounded or facing the boss.
Best against: Type 3 Tanks · Boss phase
When the UI Got in the Way

We thought the interface was fine. Then someone else played it. Three things we assumed were obvious turned out to be invisible — which weapon was active, when the area attack was cooling down, and that the rats were even collectible at all. None of these were guessable from watching us play internally. It took fresh eyes to expose them, and each fix was a direct response to a specific moment of player confusion.

08 — UI Evolution

Every change came from observation.

Three problems. Three fixes. Each one from a real playtest moment.

Change 01 — Weapons Bar
Players couldn't tell which weapon was active.
Static icons gave no feedback. We added animation and highlight to the active slot so players always know their current weapon at a glance.
Added active state animationHighlight on selected slotReduced mid-combat confusion
Change 02 — Rat Collectibles
Playtesters consistently missed the rats entirely.
Added a star flash on spawn and proximity auto-collection. Directed attention at the right moment — not constantly, only when it matters.
Added spawn flash indicatorProximity auto-collectScarcity creates value
Change 03 — Cooldown Feedback
Players spammed the area attack not knowing it was recharging.
A cooldown animation set expectation before frustration hit. Players now manage the ability intentionally rather than button-mashing.
Added cooldown animationVisual recharge stateSet expectation, not punishment
Letting Go of Our Assumptions

Playtesting is humbling. You spend weeks building something, you know exactly how it works, and then you watch someone play it and do something you never expected. Three sessions. Three people. Each one broke something different. The rule we held ourselves to: every piece of feedback had to result in a specific change, not a conversation about whether the feedback was valid.

09 — Playtesting

Three sessions. Real iteration.

Observation → hypothesis → change. Every time.

Session 01
1
Shreya
🔍 Observed
Weapons bar unreadable. Rats spawning too often — felt meaningless.
→ Changed
Animated active weapon state. Recalibrated rat drop probability across all 6 levels.
💡 Insight
Scarcity creates value — abundant collectibles become invisible
Session 02
2
Bisi
🔍 Observed
Game too hard. No cooldown feedback. Player dying before learning anything.
→ Changed
Reduced spawn density. Increased player HP. Added cooldown animation to UI.
💡 Insight
Difficulty isn't numbers — it's whether failure teaches you something
Session 03
3
Prof A
🔍 Observed
Player getting stuck with no escape mechanic when surrounded.
→ Changed
Added knockback mechanic. Increased player HP to 300.
💡 Insight
Players don't need easy — they need agency
What We'd Tell Ourselves at the Start

We shipped a game we're proud of. But shipping isn't finishing — it's the moment you can finally see clearly what's left to do. The things that worked, we'd double down on. The things that didn't, we know exactly why. Here's the honest breakdown.

10 — Reflection

What worked. What's next.

Honest assessment of the build.

✓ What worked
Probability-based difficulty — invisible to the player but deeply felt. The shift from easy to hard was gradual and fair.
Rat scarcity model — decreasing drop probability over time created natural tension around collectibles.
Weapon diversity — each weapon had a genuine use case tied to an enemy type, rewarding strategic thinking.
Paper prototyping early — validated spatial layout before touching code. Saved significant rebuild time.