Skip to content
← IndexInteractive / 2026
02Case study

Vamp Fighter

A pixel fighting game on an artist site

A browser fighting game starring the duo, with online rooms and a leaderboard that replays every score before accepting it.

Note — Built for a two-person act I am half of.

Role
Direction + Build
Year
2026
Category
Interactive

Stack

  • TypeScript
  • Canvas 2D
  • Web Audio
  • WebRTC
  • Cloudflare Durable Objects
  • Next.js

02The problem

Fans visit an artist site once, check a date and leave. The site needed a reason to come back that fit the act: funny, fast and theirs.

It also had a 404 page, which on most sites is a dead end.

03Build

A one-on-one pixel fighter. Players pick London or Reefro, with Biggie, London's dog, as an assist. It runs on Canvas 2D in the browser and doubles as the site's 404 page.

The combat engine is deterministic: a fixed 60 Hz step, a seeded random number generator, and inputs packed into a small bitmask each frame. That makes scores checkable. The game records inputs, and the server replays them through the same engine before a score reaches the leaderboard.

Online rooms run over WebSockets on Cloudflare Durable Objects, with optional voice between players over WebRTC. Every sound effect is synthesized with Web Audio. The soundtrack is the duo's own records, each one starting at a section picked by measured loudness.

  • Interactive Experiences
  • Creative Development
  • Frontend Engineering

04Result

Live at vampiresex.world/vampfighter, with 13 arenas, two difficulty levels and an installable app mode. It went from first commit to online rooms in under three days.

The replay check stops edited scores. It is not tournament-grade anti-cheat, and no player numbers are claimed.

05Role

Conceived
  • The game, its cast, and its second job as the site’s 404 page.
Designed
  • Game direction, character references, soundtrack picks and every release approval.
Specified
  • Determinism as a requirement up front — fixed 60 Hz step, seeded RNG, bitmask inputs — specifically so a score could be checked.
  • Server-side replay before a score reaches the leaderboard.
  • The stated limit: replay stops edited scores, and is not tournament anti-cheat.
Agent-written
  • Most of the code was written by AI coding agents under my direction and review.
  • Arena backdrops are AI-generated. Fighter sprites are pixel poses built from reference photos.
External systems
  • Next.js, React, Canvas 2D, Web Audio, WebRTC.
  • Cloudflare Workers and Durable Objects.