Dark Factory Sprint Report: When AI Agents Polish Games at 3 AM

/ / 8 min read

Dark Factory Sprint Report: When AI Agents Polish Games at 3 AM

It’s 3 AM on a Saturday. Most game studios are dark. The Dark Factory is shipping code.

In the last 24 hours, our four autonomous game agents have pushed significant feature and polish work across every title in the portfolio. Not incremental commits — real systems. A new enemy type with full state machines and synthesized audio. Animated combat UI with damage lag trails. A three-layer parallax starfield. A minimap overlay rework. And the consolidation of 373 individual commits into a unified monorepo.

This is what a sprint looks like when no one sleeps.

The Monorepo Merge

The biggest structural change happened first. All four games — Polybreak (120 commits), Chronostone (99 commits), Voidrunner (77 commits), and Dreadnought (77 commits) — merged their individual histories into a single umbrella repository at cron-swarm-love2d. That’s 373 total commits unified under one roof.

Why does this matter? Cross-game intelligence. When the Polybreak agent invents a screen shake helper or a gradient background renderer, the studio orchestrator can now detect that pattern and backport it to sibling games in the same commit. Before the merge, each game was an island. Now the studio can run cross-game quality passes — comparing visual effects, detecting asymmetries, and sharing code between titles.

The first cross-game backport already landed: Gfx.gradientRect(), originally written for Chronostone’s title screen, was ported to Polybreak within hours of the merge. Screen shake parameters from Voidrunner’s boss encounters were standardized across all four games. The studio orchestrator now runs explicit consistency checks as part of its rotation.

This is the kind of infrastructure work that compounds. Every future feature has a chance of propagating across the entire portfolio automatically.

Polybreak: Squash-Stretch and Spark Particles

Polybreak’s 100-level breakout campaign entered deep polish territory. The headline feature: paddle squash-stretch animation. When the ball hits the paddle, the paddle compresses horizontally then snaps back — a classic animation principle (Disney’s “squash and stretch”) that instantly makes a flat rectangle feel physical.

Paired with the squash-stretch, white and yellow spark particles now burst from the contact point on every ball-paddle hit. The sparks use randomized velocity, size, and lifetime to avoid pattern repetition. Combined with the existing screen shake on impact, a ball return that previously registered as a silent geometry event now reads as a collision.

Beyond the paddle, the sprint also delivered gradient backgrounds across multiple screens. The title screen fades from dark blue to black behind the logo. The shop screen gets a dark purple gradient overlay. Game-over screens shift from dark red to black. Level transitions use the current world’s color palette for their gradient. These aren’t dramatic changes individually, but they eliminate the flat-black backgrounds that screamed “programmer art.”

The brick rendering pipeline also got a critical fix — spawn, hit, and wobble timers were trapped inside a boss-only conditional block, meaning regular bricks weren’t animating properly. A single misplaced scope bracket, now fixed.

Chronostone: Combat Feedback Overhaul

Chronostone’s RPG combat system received its biggest visual upgrade yet: animated HP and MP bars with trailing damage indicators.

Here’s how it works. When a character takes damage, the HP bar drops instantly to the new value. But a semi-transparent “damage trail” segment stays at the old position and slowly catches up over about half a second. The player sees both the new HP value and the amount of damage dealt, simultaneously, without needing floating numbers or popups. It’s the same technique used in Smash Bros. and most modern fighting games.

The boss HP bar got the same treatment, plus a hit flash animation — a brief white overlay pulse on every landed hit that confirms contact before the damage trail begins its descent.

But the combat improvements extend beyond bars. Enemy death dissolve effects now cycle through shrink, spin, white flash, and spark particles with synchronized SFX. The death isn’t instant — it’s a 0.3-second ceremony that gives weight to every kill. Victory sequences trigger confetti particles and a reward count-up with per-tick sound effects, turning loot screens into micro-celebrations.

Menu and shop screens were rebuilt with animated backgrounds, character sprite previews, and stat bar visualizations. These were previously flat lists. Now they feel like part of the game world.

Voidrunner: The Void Gets Deeper

Voidrunner — the corporate dystopia shmup that reached feature-complete status — pushed two major visual features that transform the feel of space combat.

Parallax starfield. A three-layer starfield now scrolls at different speeds behind the action. Each layer uses different star sizes and densities. The key detail: per-sector tinting. Sector 1 might tint the far layer blue-gray. Sector 5 shifts warm. Sector 10 goes cold and dark. Near-layer stars occasionally glow, adding subtle depth variation. The void no longer feels flat — it has geography.

Sector intro title cards. When you enter a new sector, the game now presents a dramatic title card with the sector name and number. It’s a brief moment of ceremony between the relentless waves — a breath before the next twenty enemies materialize. Combined with the existing boss warning klaxon and boss memo system, each sector transition now has three distinct dramatic beats: the clear celebration, the sector intro, and (eventually) the boss alarm.

The boss HP bar also received the same damage lag trail treatment that Chronostone’s combat UI got. This is the cross-game intelligence at work — a pattern proven in one game, detected by the studio orchestrator, and propagated to a sibling title.

Dreadnought: RektTek Defense Turrets and Alien Egg Sacs

Dreadnought — the survival horror game set on an alien-infested space station — continues adding environmental storytelling systems at a rapid pace. Two new features stand out from this sprint.

RektTek AutoSentry Mark IV turrets. One to two broken defense turrets spawn per station section. They’re ceiling-mounted, with a hexagonal base stamped with the “BT” corporate logo. When the player enters the 120-pixel activation range, the turret’s state machine kicks in: dormant → activating (ascending servo whine from 300 to 900 Hz, synthesized with clicks) → tracking (rotates to follow the player, indicator light switches from green to red) → malfunction (spark particle burst, descending whirr-down, random spin, dying crackle) → cooldown → dormant.

The turrets never actually fire. Classic RektTek quality. They exist purely as environmental atmosphere — a reminder that this corporation’s hardware is as reliable as its safety protocols. The D.R.E.D-9000 ship computer even comments on the first two activations per section, cycling through six lines of deadpan corporate-speak.

Each turret adapts to its station section with one of ten themed color schemes. They appear on the minimap as diamond-shaped blips — cyan when dormant, red when active. The malfunction triggers screen shake.

This is 433 lines of new code across three files for a feature that does nothing useful. It’s pure world-building. And it’s exactly the kind of detail that makes players clip moments for Twitch.

Alien egg sacs. Proximity-triggered organic clusters that hatch when the player gets close. They’re designed as environmental tension — you see the pulsing growths, you know something will emerge, and the decision to approach or route around becomes a micro-strategy choice. Combined with existing features like alien slime trails, proximity heartbeat audio, and ceiling drop ambushes, the station is becoming a space where every step forward is a deliberate choice.

Dreadnought also received the Tab-key minimap overlay (previously on a different binding) and moved the weapon wheel to R, standardizing controls across the game’s input map.

The Cross-Game Quality Pass

The studio orchestrator — the agent that coordinates all four game agents — shipped a new quality protocol this sprint. It now runs explicit cross-game detection: which game has the richest visual effects? Which has the deepest audio design? Where are the asymmetries?

The first pass identified that Voidrunner had the most sophisticated gfx.lua module and Dreadnought had the most advanced spatial audio system. The orchestrator’s new protocol generates specific handoffs with concrete code references, telling each game agent exactly which sibling pattern to adopt and how.

This is autonomous technical leadership. No human wrote a design document saying “Polybreak should have gradient backgrounds like Chronostone.” The studio agent detected the gap, generated the handoff, and the Polybreak agent implemented it — all within the same cron cycle.

By the Numbers

Game Merged Commits Sprint Highlights
Polybreak 120 Squash-stretch paddle, spark particles, gradient backgrounds, brick fix
Chronostone 99 Animated HP/MP bars, damage trails, boss HP flash, death dissolves
Voidrunner 77 3-layer parallax starfield, sector intro cards, boss HP lag trail
Dreadnought 77 RektTek turrets (433 LOC), alien egg sacs, minimap rework, Tab binding
Total 373 Monorepo merge, cross-game quality pass, pattern backporting

All four games are built with Love2D (Lua), targeting Steam on Windows and Linux. Every line of code was generated by autonomous AI agents running on hourly cron schedules, coordinated by the Dark Factory studio orchestrator. The human operator sets priorities and reviews — but doesn’t write code.

What Happens Next

The agents don’t stop. The next cron cycle is already queued. Polybreak will continue its UI polish pass. Chronostone will keep hardening its QA coverage. Voidrunner will refine its sector-specific mechanics. Dreadnought will add more environmental storytelling to its 10-section station.

And the studio orchestrator will keep watching all four, looking for the next pattern worth backporting, the next asymmetry worth fixing, the next feature that one game invented and three games need.

It’s 3 AM. The factory is running.

// Leave a Response

Required fields are marked *