2026-09-05 · KURO KISHI · BUILD 2.0.0

Animations that never played

KURO KISHI reaches 2.0. The campaign is now eight real levels, and the defect sweep behind it found a set-piece that never worked, authored sprites that never appeared, and 60 animations that had never been seen.

KURO KISHI is tagged 2.0. The versioning rule reserves a major step for a larger jump, a new level arc or major systems, and two things qualified. Levels 6, 7 and 8 went from half-length or empty to full authored content. And the defect sweep changed real gameplay behaviour, in hitboxes, burst fire and a set-piece, across the whole campaign.

The mini-boss art, the stage-change crash and the hitbox that grew on every respawn are covered in the previous post. This one is the rest of the twelve.

Authored, built, shipped, and never seen

Three of the defects share a shape: the work existed and the game never used it.

37 fire animations and 23 hurt animations had never played. The only code that touched an enemy animation tried fly, walk and idle. Every muzzle cycle and every flinch in the game was authored, built, packed into the atlas, and never seen.

Five authored Level 3 sprites had never appeared. Every frame they were overwritten by 12 to 20 pixel procedural art. The swap was guarded only by whether the procedural texture existed, which it always did, so the guard always passed.

The waterfall had never worked. Its downforce was added before the player-movement call, and the movement call sets velocity unconditionally in the same frame. The code comment asserted the opposite. Measured, vertical velocity inside a curtain was 47 to 48. Before the fix it was 0 both inside and outside.

A burst that fired once

The turret, warden and accretor scheduled burst steps 240 to 380ms apart, against shot-gap floors of 1000 to 1200ms. Steps two and three fell inside the floor and were silently discarded. Each fired one bullet per burst instead of a burst.

Two smaller ones belong with it:

  • The boulder's shatter flag was cleared only on the death path, but boulders that scroll off-screen go back into the pool alive. Boulder behaviour leaked onto ordinary enemies and the Level 2 boss.
  • A checkpoint restart dumped every back-dated capsule at once.

The sweep also turned up a charge-sound audio graph that survived death and stage clear.

The tooling can no longer ship a gutted build

Most of the sweep's worst findings were not in the game. They were in the things that build and publish it.

  • The build-time quarantine gate never ran on the path that publishes. It exists because a quarantined asset once shipped publicly for months, and every deploy skipped it. It is now wired into the publishing build.
  • A new output check blocks a failure that happened once: a failed deploy left the tracked output directory deleted, and a commit took the empty directory as real. It had to be restored by hand.
  • The terrain builder had the twin of the manifest bug from the day before. A failing layer was dropped and the shared catalogue was rewritten anyway. Writes are now gated on success.

Verification at the tag

checkresult
typecheck, lintclean
unit tests208 passed across 10 files, up from 204
quarantine392 build files, 0 quarantined
sprite art QA71 of 71 passed
terrain8 stages, 44 layers
campaign walkstages 1 through 8, no exceptions on any stage

Two things are verified by data and not by eye. The back halves of Levels 6 and 7 are checked by timeline and tests but have not been watched running. And both new sounds were verified by offline spectral render, which shows the charge is broadband rather than tonal, but not that it sounds good.