FIGHT MECHANICS SIMULATION

Project Details

Development Time | 1 WEEK

Role:
Game System Designer

Description

To design and simulate a high-tension combat system where the "State of Battle" shifts dynamically based on player health, preventing a "snowball effect" and keeping the player in the "Flow State."

Design Question

Can math alone make a player feel the emotional arc of a fight, from the edge of defeat to the rush of dominance?

This simulation began with a single observation: most action games treat health as a resource, but the best ones treat it as an emotional state. At low health, a player should feel desperate, hunted, on the edge but also, crucially still capable of a heroic comeback. At high health, they should feel powerful but not unchallenged.

I wanted to test whether those two distinct emotional experiences, feeling weak at health ≤ 3 and feeling powerful at health > 6, could be reliably produced not through art, sound, or animation, but purely through probability and system logic in Machinations.io.

The secondary question was: can an AI enemy's behaviour be made to respond to the player's emotional state rather than just their numerical one becoming more aggressive when the player is struggling (creating a "clutch" moment), and more cautious when the player dominates (preventing a boring snowball)?

This was an experiment in simulating player psychology through math before a single asset is drawn.

Limitations & Market Gap

Limitations:

  • Purely systemic simulation without visual assets. The challenge was to communicate "feel" and "tension" through math alone.

Market Gap:

  • Many action games have static difficulty where enemy behavior remains the same regardless of player performance. I identified a gap for a system that actively fights back against a "strong" player while providing a "clutch" window for a struggling one.

Defining Design Pillars

Pillar 1:

  • Varying Tension: The game should get harder as the player succeeds and provide "hope" when the player is failing.

Pillar 2:

  • Meaningful in Mastery: Reaching max health should feel like a strategic resource to be spent, not just a safety net.

Pillar 3:

  • Non-Linear Loops: Using feedback loops to create a self-balancing ecosystem.

Core System Logic

At the center of this simulation is the Health Node, which serves as a health meter.

Default State:

  • Starting Health is 5.

The Struggle (50/50 Base):

Fight Mechanics Simulation
  • Success: Dealing damage or dodging attacks increases Health by +1 (Cap: 8).
  • Failure: Receiving damage decreases Health by -1.

Take-Down Ability:

  • Once Health reaches 8, the player unlocks a Special Ability (Cinematic Takedown). Upon execution, Health resets to the default 5, forcing the player to rebuild their advantage.
Fight Mechanics Simulation

Dynamic Difficulty Logic (DDL)

To enforce the Varying Tension pillar, I implemented two distinct states that modify the probability nodes of the simulation based on the Health Register.

State 1: The "Clutch" Window (Health <= 3)

When the player is near death, the system increases the intensity to create a "near-miss" adrenaline spike while providing a path for recovery.

  • Enemy Aggression: Attack frequency increase by +10% (Total: 60%).
  • Player Opportunity: Dodge and Attack chances increase by +25% (Total: 75%).
  • Design Intent: This challenges the player to perform under pressure while making the "recovery" feel earned and heroic.

State 2: The "Overpowered" Balance (Health > 6)

When the player dominates, the enemies become cautious and defensive to prevent the player from reaching the
8-unit "Special Move" too easily.

  • Player Evasion: Dodge chance decreases by -5% (Total: 45%).
  • Enemy Defense: Enemy avoidance increases, reducing player damage dealt by -25% (Total: 25%).
  • Design Intent: This prevents the player from becoming bored by "spamming" their way to a win. It forces tactical patience when the player is at their strongest.
Fight Mechanics Simulation
Fight Mechanics Simulation

Data Analysis

To prove the stability of the system, I collected data from 100-step simulation run. The resulting chart demonstrates the non-linear nature of the combat loop:

100 unit run Chart

Green Line (Player Health):

  • Displays constant fluctuation rather than a straight line, simulating active player engagement and flow of combat.

Yellow Line (Clutch/Defense Activation):

  • Shows exactly when the system intervenes to provide the player a 75% success window when health drops to <= 3.

Purple Line (Special Ability):

  • Spikes every time the health cap of 8 is reached, followed by an immediate reset to the default value (5).

Parrot Green Line (Attack/Overpowered Activation):

  • Shows the activation of the "Overpowered" state when health > 6, triggering defensive enemy behavior to maintain challenge.

Personal Reflection

Designing this system in Machinations.io allowed me to reconnect with my love for math. By dividing the combat into three distinct mathematical states, I learned how to simulate player psychology through probability.

This project helped me understand that 'Balance' isn't about making things equal; it's about making the struggle feel fair and the victory feel earned.