BoneAnza: My largest project to date.


a cooperative multiplayer experience where you fight complex enemy waves, upgrade your builds, and push to survive longer each run

Boneanza

Role: Design & Development

Tools: Unity, C#, Netcode for GameObjects

The Project

Boneanza is a co-op wave survival game built on the concept of The Mirror Threat. 4 outcasts don’t just fight monsters, they fight skeletal reflections of their own heroes after using an old relic to defy destiny. My goal was to move away from static bullet sponges and instead design enemies with distinct combat behaviors that force players to prioritize targets and communicate.

Design Philosophy: Readability & Fairness

In a chaotic co-op game, visual noise is the enemy. I focused heavily on Combat Readability:

  1. Telegraphed Cues: Every heavy attack has a distinct wind-up so players can dodge or block.

  2. Color-Coded Visuals: Using specific trails and effects for different attack types and enemies to help players identify threats in a split second.

  3. Synergetic Weaknesses: For example, the lurker becomes vulnerable after a teammate triggers a specific trap, rewarding team coordination.

Tweaked the animation to make the wind-up longer.

Meta-Progression & Economy

I designed the loop to reward both the immediate run and long-term play. By earning gold per kill, players face a constant decision: spend now on Revive Potions and Bone-Keys to survive the current floor, or save up for permanent Perks in the lobby to make the next run easier.

Documentation & Download

*Please note that the project is very much a work in progress, things are not finished and i am actively working on improving and finishing the game
** I am not a 3d modeller, all assets are from the KayKit Asset pack

AI Archetypes & Combat Personalities

I developed a Personality-Based AI system. Instead of all enemies simply running at the player, each archetype uses a specific engagement logic to fill a different role in the combat encounter:


  • The Chaser (Aggressive Pressure): Uses a constant move-to-player logic. Designed to flush players out of cover.

  • The Lurker (Area Denial): Programmed to maintain a Sweet Spot distance. If the player gets too close, the Lurker retreats. If too far, it closes distance.

Data-Driven Combat Balancing

To ensure a consistent combat feel across all encounters, I developed a balancing framework. By decoupling enemy logic from their specific stats, I can fine-tune the entire game’s difficulty through a single source of truth.

The Balancing Matrix: I used a structured spreadsheet to manage every frame of the combat experience. This allows for rapid iteration on:

  • Frame Data & Timings: Adjusting wind-up and movement patterns.

  • Numerical Scaling: Balancing Damage, range and cooldowns

  • Systemic Consistency: Ensuring that similar attack types across different enemies share a logical baseline.

Scalable Enemy Architecture

Beyond individual design, my primary focus was building a Modular Enemy System:

  • Component-Based Logic: I built a library of reusable behaviors (SpinAtttack, Lunges, Teleports, Ranged attacks). Creating a new enemy is now a matter of plug-and-play with these modules.

  • Stat-Injection: Using Unity’s ScriptableObjects, the system injects the data directly into the enemy prefabs.

  • Workflow Optimization: Once the system is in place, the hardest part of enemy creation is shifted back to where it belongs: Art and Intentional Design.

*All the heroes next to their undead counterparts

Technical Implementation & Readability

  • Tracking: The teleportation trail acts as a breadcrumb for the player's camera, reducing visual confusion.

  • Balancing: The Glass Cannon stats (low HP , high mobility and a lot of damage) ensure that the player feels powerful when they successfully read the pattern.

  • Co-op Synergy: In a group setting, one player can bait the dash while another prepares for the Blink-window, rewarding team communication.


  • The Vermin (Mobility & Chaos): Uses erratic, circular pathing rather than direct lines. It’s designed to distract and waste player resources.

Enemy Breakdown: The Vermin

Design Goal: The Vermin is a Harasser class enemy, designed around the Window of Opportunity principle. The goal was to create an erratic, hard-to-track threat that remains predictable and fair through rhythmic combat phases.

The Combat Loop

I structured the Vermin’s behavior into four distinct phases to balance tension and punish-windows:

Phase 1 : The Engagement:

The Vermin maintains a dynamic orbit around the player (2-3 units). By implementing a distance-based offset, I ensured that groups of Vermin don't stack in a single line, forcing the player to manage spatial awareness and look beyond their immediate front.

Phase 2 : The Strike :

The enemy steps in to initiate a high-velocity melee dash. This shift in movement speed serves as the primary telegraph, signaling the transition from passive threat to active danger.

Phase 3 : The Blink:

Upon impact or miss,the Vermin teleports. I designed a Pre-Blink Window where the enemy is briefly vulnerable. To reward precision over spamming, the Vermin has a low health pool: killable with one critical hit or two standard strikes making this split-second window high-stakes.

Phase 4 | The Punishment:

If the player misses the window, the Vermin fires a magic projectile from its new location. I implemented a visual trail during the teleportation phase to ensure the player can track the repositioning, turning a potentially frustrating off-screen attack into a fair, readable challenge.

  • The Brute (Crowd Control): A slow-moving threat with high HP. Its attacks are telegraphed with clear visual cues, acting as a raid mechanic within the wave.


Video Block
Double-click here to add a video by URL or embed code. Learn more

Next
Next

Studio Bloodshed - Narrative and System Designer (September 2025 - December 2025)