58STICKBASH · KILL LIBRARY · KIT · INSTANT REPLAY
Page 58 · kit round · shared tool set · 58k_replay.js

INSTANTREPLAY

+ REWIND
YOU ASKED“bro arent we 2d platform stickman fighting game?, will it gonna work?”
YES. ALL 2D.A replay re-shows the same 2D fight from another 2D framing: tighter, lower, from the other side, slower. Fighting games and sports broadcasts do exactly this. A rewind plays the same frames backwards.
  • SAME SCENE, OTHER FRAMINGS
  • THE TAPE RUNS BACKWARDS
  • EXACT FRAMES, SCRUB ANYWHERE
  • INTO THE GAMEPLAY AND BACK
8 REWIND LOOKS18 REPLAY CAMS10 WIPES7 TELESTRATORS6 BUG STYLESSLO-MO STATSPICTURE-IN-PICTUREFREEZE FRAME

One shared tool set for every builder. After the kill, the tape rewinds: blood flies back into the wound, the pieces reassemble, the camera retraces, all the way back into the gameplay moment. Then the money shot plays again from other framings, with the broadcast REPLAY bug, a branded wipe, the telestrator and slow-motion stats. Then it cuts back to LIVE. FARIS BASHA’s gold plate follows him inside every replay framing.

01
THREE CALLS · ONE SHARED KIT

THE TOOLS

Each call holds the live kill in the film clock and plays its segment on top, so the scrub track, SLOW and AGAIN treat it like any other part of the film. Nothing else in the kill changes.

REWIND

THE REWIND

The tape runs backwards from the kill to any earlier moment, even back into the gameplay before the kill cam. The original camera retraces its path, shake and all.

s.rewind(2.7, { to: 'start', style: 'vhs' })
VHS
FILM
DIGITAL
  • Eight looks in all: also CCTV, MANGA, CRT, NEGATIVE and HOLO (see the variants).
  • VHS: tracking bands, chroma bleed, tape wobble, head-switch noise, ◀◀ REW and a timecode counting back.
  • FILM: a projector running backwards, with gate weave, scratches, dust, the reel and the leader.
  • DIGITAL: a clean scrub with RGB split, block glitches and the scrub bar.
REPLAY

THE REPLAY

The money shot again from 2–4 of 18 framings: tight, worm’s-eye, the reverse angle, tracking, push-in, high angle, orbit, down the barrel, x-ray, split, quad and more. One of 10 wipes sits between angles, and a REPLAY bug in one of 6 styles takes the corner the gold plate isn’t in.

s.replay(2.7, { from: 0.3, to: 1.6, angles: [ { cam: 'tight', speed: 0.3, tele: { t: 0.68 } }, { cam: 'low' }, { cam: 'mirror', speed: 0.14, stats: true } ] })
  • TELESTRATOR: the replay stops on the impact, then a hand-inked circle, an arrow and a label.
  • SLO-MO STATS: hit speed, pieces, blood lost and time to kill, counted up from the tape.
  • Super slow-mo stays smooth: the positions are interpolated between recorded frames.
PIP

PICTURE IN PICTURE

A small replay window over the live action: the blast plays again in slow motion while the body is still flying across the yard. The kill never stops.

s.pipReplay(1.0, { from: 0.4, to: 1.0, speed: 0.22, cam: 'tight' })
  • Any replay cam and any rect; it loops until dur.
  • hold: true freezes the live kill under it instead.
  • The REPLAY tab, the speed and a progress bar.
02
4 KILLS · EVERY TOOL

THE DEMO KILLS

Short kills built to show the tooling. Each one starts with the gameplay lead-in, triggers the kill cam, kills, then rewinds and replays. Tap a card to play it. Use JUMP INTO to drop straight into the middle of a rewind or a replay angle: it shows the exact frame playing would show.

03
IT IS ALL 2D

ONE MOMENT, FOUR FRAMINGS

The same instant of THE TAPE DOESN’T LIE, the bullet arriving, from the original kill cam and three replay angles. Every frame is drawn from the same 2D scene; only the 2D camera changes.

THE KILL CAMWhat played live: the crash zoom on the shot.
TIGHTLocked on her head, a dutch tilt, the background out of focus.
WORM’S-EYEDown on the floor, stretched up, tilted.
REVERSE ANGLEThe other side: the 2D frame mirrored, text kept readable.
1THE KILL PLAYSAt the replay moment the film clock holds the live kill. The segment has its own length on the scrub track.
2A HIDDEN COPY RECORDSThe same kill, same seed, same steps, runs once off screen and writes a tape: keyframes plus deltas of every body, drop, particle and decal, in typed arrays.
3ANY FRAME, BY TIMETo show a moment, the copy is restored to it exactly: the nearest keyframe plus the deltas. Positions are interpolated between frames for smooth super slow-mo.
4DRAWN THROUGH ANOTHER CAMERAThe shell's own renderer draws it through the replay camera, then the VHS or film look, the bug and the wipes go on top. The live kill is never touched.
–frames on the tape
–objects tracked
–tape size
–to record, once
04
EVERY REPLAY ITS OWN

STAGING VARIANTS

No two kills should replay alike. Every builder picks a rewind look, the cams, the wipes, a telestrator kind and pen, a bug style and a filter that no other kill uses: 8 × 18 × 10 × 7 × 5 × 6 × 11 combinations. Every frame below is the same revolver kill, drawn through one variant.

The variant frames render here when you scroll to them.

05
THE HARDEST PROPERTY

THE PROOF

For each demo kill, frames in the middle of a rewind, a telestrator stop and a slow-mo angle are rendered three ways. SCRUB jumps straight to the frame. PLAY renders every frame on the way there, like the player. FRESH throws the tape away and records it again. Every canvas call of the frame and its arguments are hashed: the same hash means the same frame. The pixels are compared too.

Runs here in your browser. It takes a few seconds.
06
FOR EVERY BUILDER

USE IT IN YOUR KILLS

58k_replay.js is a shared kit, loaded on every weapon page. Call these at build time, in scene seconds, like the clock calls. The full reference is in the file's header.

“HOW IT HAPPENED” → THE REPLAY

s.rewind(KO + 1, { to: 'start', style: 'vhs' }); s.replay(KO + 1, { from: HIT - 0.4, to: HIT + 0.9, angles: [{ cam: 'tight', at: 'vic.head', speed: 0.3, tele: { t: HIT, text: 'HEADSHOT' } }, { cam: 'low' }, { cam: 'mirror', speed: 0.14, stats: true }] });

A rewind and a replay at the same time play as one segment, then cut back to LIVE. to: 'start', or any time below 0, goes back into the gameplay lead-in.

CAMS, FOCUS, LOOKS

cam: 'orig' 'tight' 'low' 'mirror' 'wide' 'track' 'push' 'top' or { x, y, w, rot, sy, sk, mirror } or fn(u, sc, A) at: 'vic' 'vic.head' 'killer.hF' 'mid', [x, y] or fn(sc) style: 'vhs' 'film' 'digital' wipe: 'stickbash' 'slash' 'iris' s.pipReplay(t, { from, to, rect: [.6, .1, .36, .44], speed, cam, hold })

Keep drawable state on objects (bodies, particles, scene fields), not in closure variables, and it rewinds too.