Trainyard art request
From round-2 testing, 2026-10-05. Two items need new art: graffiti for a correct call, and a proper capture. Everything else from round 2 is fixed in code with the art we have.
1 · Correct-call graffiti needed
You suggested spraying graffiti on both good and bad calls. Right now a correct call plays the green star burst, and only a wrong call gets the red X. A correct-call tag would make the two read as one family.
What to make
- A spray-painted check mark (or a ring sprayed around the word) in the pack's correct green. The red X stays for wrong calls.
- 6 frames in the same style as
effects/graffiti/graffiti_01–06: the stroke builds over the six, then drips settle. - 1 hold image, the finished mark, like
effects/graffiti_x.png. It stays on the placard while the rule shows.
| File | Canvas | Notes |
|---|---|---|
effects/graffiti_check/check_01…06.png | 720 × 480, transparent | Same canvas as the red graffiti frames, mark centred |
effects/graffiti_check.png | 360 × 360, transparent | The finished mark, matching graffiti_x.png |
Timing: I play the pack's graffiti timings 2.5× slower (about 1.1 s), so six frames is enough. Add the new set to manifest.json the way graffiti is listed, and the import script will pick it up.
2 · The capture needed
The catch looks wrong because the pack has no art of the inspector touching the runner. The code runs the inspector up to the runner, swaps to the threat pose and freezes the runner on the last stumble frame. The two characters never connect, and nothing plays after the freeze.
What to make
- Both characters in one image per frame, from the game's camera (behind and slightly above, like
run_01). A hand on a collar can't be put together from two separate sprites without the hand floating. - 6 frames: (1) inspector lunges, arm reaching; (2) hand closes on the backpack strap or collar; (3) runner is jerked back, scarf flying forward; (4) runner's feet leave the track for a beat; (5) runner set down, shoulders sagging; (6) settle.
- 1 hold pose: the inspector holding the runner by the backpack, the runner slumped. It stays on screen for about 1.2 s before results.
| File | Canvas | Notes |
|---|---|---|
characters/capture/capture_01…06.png | 1080 × 900, transparent | 1.5× the character width, same 900 height and scale as run_01 |
characters/capture/capture_hold.png | 1080 × 900, transparent | The held pose |
Registration: the runner's feet must sit on the same ground line as every runner frame (10.7% up from the bottom edge), with the runner centred. Then the swap from the run cycle doesn't jump. Suggested timings, for the manifest: 70, 70, 90, 110, 120, 150 ms.
3 · Results after a catch nice to have
The results screen after a catch uses the generic results plate. A caught version (the inspector walking the runner off, or the runner sitting on a bench in the station with the inspector writing a ticket) would make the ending land. Make it as a 1170 × 2532 plate matching plates/results_1170x2532.png, with the same clear panel area.
Not needed
- Replacing the placard shatter: done with the art we have. A broken streak now sprays the red X across the HUD multiplier, and the panel shatter (
effects/streak_break) is no longer used. - Graffiti speed and size: fixed in code. The red X plays at 2.5× the pack's timing, sprays past the placard's edges, and gets its own beat before the stumble.