Inkfall3D boss fight in ink wash

Inkfall title screen: a swordsman with a red scarf on a frozen lake, painted in ink
  • WASDMove
  • JLMBSlash
  • KEHeavy
  • LRMBParry
  • SpaceDodge
  • RHeal
  • EscPause
  • Gamepad
  • Touch

Inkfall is a third-person boss fight in ink wash: one swordsman against Mojiao, a serpent of living ink, on a frozen lake. One run takes three to five minutes.

  • 3,004lines of code
  • 14generated images
  • 1model from image to 3D
  • 0audio files
  • 5.9 MBdownload

After it loads, the game runs in your browser and makes no network requests.

Trailer

  • A parry turns the serpent's bite aside
  • Posture broken: the mask is down and open to the blade
  • Red strokes on the ice burst into ink spikes
  • The finishing cut

What's inside

  • A swordsman and a three-phase serpent

    Three-hit combo, heavy cut, dash slash, roll, parry and three gourds of medicine against Mojiao, whose bites, sweeps, ice dives and red strokes all show a tell before they land.

  • A moving ink painting

    A hand-written ink pipeline: three ink tones, dry-brush edges, depth outlines, paper grain and snow, on ice that mirrors the fight and keeps every splash.

  • Hits you can feel

    Hit-stop, screen shake and ink thrown on the paper. A clean parry slows time, a broken posture brings the mask down, and the last cut plays from three fixed cameras.

  • Sound with no audio files

    Taiko, plucked strings, flute and every blade, step and roar are synthesized live in the browser. The score adds layers as the phases turn.

How it was made

  1. Lock the look with one key visual

    Before any code, one image set the rules for everything after it: paper white, ink and a single red, a swordsman seen from behind, a serpent of ink behind a bone mask.

    Image
  2. Generate art the game can use as is

    Ten images on pure white: three layers of mountains as long scrolls, a sheet of ink splashes, a sheet of brush strokes and the mask concept. Brightness becomes transparency in the game, so nothing needed cutting out.

    Image
  3. Turn the mask into 3D and borrow the moves

    The mask concept became a textured 3D model, and a script marked its jaw so it can open. The swordsman uses a CC0 animation library trimmed to 27 moves. His hat, cloak, scarf and blade are code.

    Image to 3D
  4. Claude Fable 5.2 writes the game

    One brief produced a build that played from title to result. Three more rounds, each judged on real screenshots, replaced bare geometry with brush strokes, added scale and tuned how hits feel.

    Claude Fable 5.2
  5. The game tests and films itself

    A bot that plays through the input layer clears the fight in a headless browser, so every change is checked in about a minute. The trailer is real gameplay captured frame by frame, with no video generation.

Who did what

Concept, plan and code
Claude Fable 5.2 set the concept, the brief for the key visual and the technical plan, then wrote all of the code in one session over four rounds.
Images
GPT Image 2.6: 14 images, 9 of them used in the game. The same model is on PopNow.
The serpent's mask
Tripo H3.1, image to 3D, for 576 credits. The same model is on PopNow.
The swordsman
Quaternius Universal Animation Library (CC0) for the body and moves. His clothes and blade are code.
Music and sound
Synthesized in code with Web Audio. No music or sound generation, no audio files.
Trailer
Captured frame by frame from the running game. No video generation.

Make one like it in Claude

Connect PopNow to Claude and describe your game. Claude writes the code and calls PopNow for the art.

Credits and licenses

NameLicenseUsed for
three.js 0.187.0MIT3D engine and the loaders for the two models
Quaternius Universal Animation Library 1 and 2CC0 1.0The swordsman's skeleton and 27 animations
Ma Shan ZhengSIL OFL 1.1Brush lettering for the title, phase names and hit characters
Cormorant GaramondSIL OFL 1.1All English interface text