Ilya Firsov – Sobaka Studio Kiborg Game Designer Portfolio

Kiborg is a rogue-lite beat’em up set in a gritty cyberpunk world. Wrongfully imprisoned, you must survive a violent reality show for a chance at freedom

Studio: Sobaka
Team: ~30
Platform: PC/XBOX/PS5
Engine: UE5
Systems
  • Designed procedural generation and several other gameplay systems, while also taking responsibility for the overall systems direction.
Balance
  • Significantly improved the balance pipeline. Tasks that previously took hours or days were reduced to less than 15 minutes.
  • Balanced core gameplay across enemies, encounters, weapons, status effects, progression, economy, and meta-systems.
Core gameplay
  • Spearheaded the core design pillar of allowing players to create overpowered builds. Designed rogue-lite gameplay mechanics, including power-ups, random events, combat modifiers, and other systems that supported this power fantasy.
  • Designed the final boss, including its mechanics, attacks, and phases, then tuned the encounter in-engine.
  • Designed encounters with a focus on variability, pacing, and difficulty curve.
  • Worked with combat-related mechanics such as weapons, tickets, and status effects.
Other
  • Improved the overall game feel through work on camera behavior, controls, and UX.
  • Contributed to post-release patches with content updates, balance changes, and a new game mode.
  • Established and organized playtests, which became the main source of feedback during the final year of development. Observed player behavior, gathered feedback, and worked with other teams to address issues.
Procedural Generation Systems
I was responsible for designing flexible generation systems that supported a wide variety of content. A key goal was to create high replayability without relying solely on randomness, ensuring that generated runs felt intentional and fair while still delivering surprise and variety.

The system handled procedural generation for:
  • Combat encounters, including enemy waves, room rewards, combat modifiers (e.g., traps, turrets), and boss/miniboss encounters
  • Random events, such as shops, special rooms, and gameplay events
  • Adaptive logic, through hidden weight modifiers (e.g., increased chance of healing events when the player is low on health)
  • Multi-floor structure, with floor-specific enemy pools, locations, rewards, and event types
Doors like this one show what events and rewards await players at branching paths
Final Boss Design
Designed the game’s final boss encounter, aimed at delivering a climactic, skill-based challenge for a wide range of player builds:
  • Designed and documented all boss mechanics and attacks
  • Collaborated with the combat designer during the boss production stage
  • Balanced everything from attack cooldowns to detailed parameters like projectile speed and explosion radius
  • Tweaked animation montages to improve telegraphing and pacing
  • Designed a dynamic boss armor mechanic to provide a meaningful challenge for both balanced and overpowered player builds
  • Iterated on the boss post-release (1, 2)
Balance
I was responsible for balancing almost every core system in the game
  • Balanced the player, 24 enemy types, 10 mini-bosses, and 3 bosses
  • Tuned procedural generation across seven difficulty levels
  • Balanced 62 melee weapons, 64 ranged weapons, and 133 modifications
  • Adjusted 56 implants, 140 augmentations, and 63 mutators to support varied rogue-lite builds
  • Balanced over 140 meta-progression upgrades and the in-game economy
  • Contributed to many other interconnected systems across multiple gameplay layers
The game relied heavily on Unreal Engine Data Tables for storing balance values, and manual editing proved time-consuming and inefficient. To address this, I migrated the majority of balancing work into structured Google Sheets and implemented a pipeline for exporting directly to CSVs compatible with Unreal’s Data Tables.
An example of a formula that pulls data from the balance sheet into an export-friendly format
This setup enabled:
  • Formula-driven calculations that fetch balance data across systems
  • Automated data export, minimizing copy-paste and manual errors
  • Bulk edits, allowing fast and reliable large-scale balance changes
As a result, the balance workflow became significantly faster, allowing for more frequent internal playtests and enabling a greater degree of experimentation during development.
Post-Release Support
I was doing some post-release support: polishing balance, designing features for content updates, and handling general polish. As an example of my work, you can check this patch note. The following highlights reflect six days of my work:
  • Green highlights indicate changes I implemented personally
  • Yellow highlights indicate changes I initiated, but their technical implementation was handled by engineers