haroldo-ok

Hexgl Fmv Sms — Development skill for Claude Code

Development community

A W.I.P. vibe-port of HexGL (Bruno Heller / BKcore's WebGL futuristic racer) to the Sega Master System, as a full-motion-video racer.

How to install Hexgl Fmv Sms

This entry records only its repository, not the path inside it, so there is no exact command to give. Open haroldo-ok/hexgl-fmv-sms and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Hexgl Fmv Sms does

A W.I.P. vibe-port of HexGL (Bruno Heller / BKcore's WebGL futuristic racer) to the Sega Master System, as a full-motion-video racer. Created using Claude

Alternatives in Development

  • Fidelity — Measure how faithfully a clone reproduces a site — pixel-diff plus motion-fidelity into one 0-100 score, a let 3.6k ★
  • Tau — A Python port of Pi’s minimalist coding agent 2.5k ★
  • Projects Created — List all projects created by the starter kit 335 ★

README

HexGL — Sega Master System FMV port

A port of [HexGL](https://github.com/BKcore/HexGL) (Bruno Heller / BKcore's WebGL futuristic racer) to the Sega Master System, as a **full-motion-video** racer.

The road is not a runtime 3D engine — the SMS can't render HexGL's meshes live. Instead, the **real HexGL Cityscape track** is pre-rendered off-line into a pre-computed video that the ship's physics *seek* through: hold the accelerator and the road rushes past; release and it coasts to a stop. The player ship is drawn on top as hardware sprites. The whole lap is captured from HexGL's own renderer — cel-shaded (toon ramp + outlines, no textures) — and streamed as a tile-delta video indexed by simulation position.

This is a **one-track / one-ship test build**, as originally scoped.

![SMS screenshot](hexgl_cel_screenshot.png)

The ROM

  • hexgl.sms4 MB, Sega mapper, whole Cityscape lap (1120 frames), cel-shaded, ~4% mean reconstruction error.
  • Controls: Button 1 = accelerate (Up also accelerates), Left / Right = steer & bank the ship.
  • Emulator: needs a 4 MB-capable Sega-mapper emulator (e.g. Emulicious, MEmu). Some minimal emulators cap at 1 MB and will show a black screen once playback leaves the first megabyte — see Limitations.

How it works

The pipeline turns HexGL's actual track into an SMS-streamable video in five stages. Only the first three touch HexGL; the last two are the SMS runtime.

  1. Trace the racing linecapture/trace_path.py HexGL's shipped replay is degenerate (the ghost never leaves the spawn), so the camera path is derived from the same collision map HexGL's physics use. A ray-casting autopilot follows the drivable corridor (collision.png red ≥ 250) around the loop, centres itself between the walls, and lifts each point to world space — world = (pixel − 1024) / (2048/6000), elevation (r + g·256)/10 + 4 from height.png. Output: capture/path.json, a closed wo