Back to projects

Opens in a new tab

Galactic Rogue

Early Access

Creator, Game Designer, Architect, Developer

PC-first space roguelite with real-time auto-combat, full reboot in C# / Godot 4.6.1 .NET / .NET 8. Risk / extract loop with tense extraction decisions. Builds emerge from weapon + module synergies on 5 tags (FIRE / SHIELD / SPEED / TECH / BRUTE). Meta-progression runs through the space station and a Scrap + Alloy economy. Data-driven architecture: 10 autoloads (EventBus, DataManager, SaveManager, MetaManager, GameManager, AudioManager, AccessibilityManager, TutorialManager…), state machine, typed signals, integer arithmetic in combat, atomic save. 12,500+ lines of C#, 38 source files, 12 JSON data files. Pixel art asset pipeline externalized via PixelLab API + Aseprite, 7 asset families shipped on 2026-04-24.

What this project proves

V2.0.0 Early Access · itch.io · 459K sim runs

Current state

V2.0.0 Early Access on itch.io • PC 1920x1080 • Patch 2.0.2 Assets Delivery shipped

Design focus

PC-firstrisk/extractconfig-driven

Context

Full reboot of a GDScript V1 prototype. Goal: lay a C# / .NET 8 foundation durable enough to grow content and systems without debt, and ship a public Early Access on itch.io that proves the core loop in real conditions.

Challenges & constraints

Finding the right risk / reward balance so each run feels tense without being frustrating, and validating it at scale (459K simulated runs Wave A, profile by profile). Building weapon + module synergies deep enough for replayability without breaking auto-combat readability. Externalizing pixel art production (local 8 GB VRAM is not enough) while keeping a coherent style and a controlled cost.

Results & learnings

V2.0.0 Early Access Reboot published on itch.io. Balance validated on 459K simulated runs Wave A (fresh extract 31% → 41% post-tuning, ship gap 1.93x → 1.15x). Stable architecture: i18n EN / FR (476 keys), atomic save pattern temp+rename+.bak, headless simulation infra (SimRunner) parallelizable. Patch 2.0.2 Assets Delivery shipped: 7 pixel art families (ships, synergies, resources, map nodes, weapons, modules, rarity frames) integrated through PixelLab API + Aseprite pipeline, 45 PNGs delivered on master in a single session. Internal audit score 87 / 100.

Production timeline

  • GDScript V1 prototype validates the risk / extract loop.
  • Decision to reboot fully in C# / .NET 8 to make content growth viable without debt.
  • 8 MVP sprints + UI Pass + Tutorial + Wave A balance + Wave B + packaging + omegareview shipped (single edition adopted, cross-tag synergies removed based on measurements).
  • V2.0.0 Early Access Reboot published on itch.io.
  • Asset pipeline externalized via PixelLab API + Aseprite, 7 families integrated in patch 2.0.2.

Key decisions

  • Keep auto-combat so the skill sits in build and extraction decisions, not raw dexterity.
  • Full reboot in C# / .NET 8 instead of stacking onto the GDScript prototype.
  • Single edition at RC 2.0.0 (Base / Advanced merged, cross-tag removed) based on simulation measurements, not intuition.
  • Externalize asset production via PixelLab API + Aseprite instead of waiting for a local hardware upgrade.

Tech Stack

Godot 4.6.1 .NETC#.NET 8

Features

  • Real-time auto-combat (1v1)
  • Risk / extract loop
  • Weapon + module synergies on 5 tags
  • Upgradeable space station
  • Scrap + Alloy economy
  • 26 production events
  • 16 enemies (T1×5, T2×5, T3×5, boss)
  • 3 playable ships
  • i18n EN / FR (476 keys)
  • Versioned atomic save
  • Headless simulation infra, 9 parallel instances
  • PixelLab + Aseprite asset pipeline
PC-firstrisk/extractconfig-driven

Production note

Auto-combat is a design choice, not a limitation. The real skill comes from decisions between runs: when to stay, when to extract, which modules to combine. And the most structural reboot decision was tuning balance against numbers (459K simulated runs Wave A) instead of against intuition. Single edition and cross-tag removal were acts of measurement, not conviction.