In development Started 2025

Production Support

Bug Squasher: a top-down incident-response roguelite where software engineers auto-battle the bugs in a tech-debt-infested codebase.

  • Java
  • LWJGL
  • OpenGL
  • OpenAL
  • GLFW
  • Gson
  • Gradle
Started
2025
Status
in development
Platforms
macOS · Windows

Production Support: Bug Squasher is a Vampire-Survivors-style auto-shooter with a day job’s sense of humor. You play a software-engineering role (Front End, Back End, Project Manager, DevOps, QA Tester, or DBA) dropped into a tech-debt-infested codebase. Survive the shift, mine tech debt for resources (which attracts more bugs), answer pager decisions, and take down the wave-eight boss before the deployment deadline, then ship the fix or grind into escalating overtime.

Why it exists

A love letter to the survivors genre, built from scratch in Java on LWJGL rather than an off-the-shelf engine, because the systems are the fun part: wave direction, auto-targeting combat, audio mixing, and save integrity are all hand-rolled and tested like production software.

Highlights

  • Six playable classes with unique starting weapons, abilities, and bonuses, across three maps: Neon Campus, Data Center Maze, and Night Shift Lot.
  • A wave director with explicit combat/intermission phasing drives each run to a wave-eight boss with intro sequences and mutation rules, backed by mini-bosses and an enemy catalog with signature death mechanics: deadlocks, leaks, and race conditions die differently.
  • Auto-targeting combat with distinct weapon behaviors (chain lightning, homing fans, boomerangs, explosive missiles) layered with upgrades, synergies, and weapon evolutions chosen on level-up.
  • An original soundtrack streamed as 27 stems through an intensity-driven mixer over OpenAL, plus 26 sound effects with burst scheduling and runtime audio telemetry.
  • A save system built for paranoia: atomic temp-file writes, backup retention, corruption recovery with an in-game notice, protecting unlocks, high scores, and run history.
  • Hardened like the software it parodies: 1,351 JUnit tests plus Python proof tooling, Sentry crash reporting, frame-pacing telemetry, and a localhost agent server for automated gameplay verification.

Technical approach

Java 21 on LWJGL 3.3.4 (GLFW windowing, OpenGL rendering, STB image loading, OpenAL audio) with Gson for data and no game engine underneath. Rendering is fully custom: SVG-driven textures, particles, screen shake, damage numbers, kill feed, and a minimap, targeting 1280×720 with VSync and frame-pacing monitors. Gradle builds ship as Shadow fat JARs and jpackage native bundles per release channel, currently on the alpha channel.