THORN

An original cinematic-platformer tribute
raylib 6.0 · C · WebAssembly · v0.9.2
▶ Play in browser

What it is

A cinematic-platformer tribute to Blizzard's Blackthorne (1994), written in C on raylib 6.0 and compiled to WebAssembly. Weighty, deliberate traversal — but with a jump. A pump-shotgun that fires forward and over the shoulder. Ducking into background shadow alcoves to let bullets pass you by. All art, naming, and levels are original (or CC0) — nothing is copied from the source of inspiration.

Playable end-to-end: four areas — Sunken Mines → the Mire → the Ashlands → the Usurper's Keep — linked by a Daystone-shard gate, with NPC gifts and hints, area passwords, and the Maldrak boss at the end.

Systems

Traversal

Weighty movement with a real jump, ledge climbs, moving lifts that carry you, and shadow alcoves you duck into to dodge fire.

Gunplay

A pump-shotgun that fires forward or over the shoulder, magazine + reserve ammo with auto-reload, and power/speed upgrades.

Enemies

Three behaviours — a shooter, an advancing brute, and a cover-using sentry — plus the Maldrak boss fight.

Items & demolition

A melee knife, placed bombs that blow cracked walls, keys and locked doors, levers that raise bridges, and persistent pickups.

Original pixel art

Actors and tiles render as original, code-generated pixel-art sprites; drop-in CC0 PNG strips can reskin the whole cast.

Visual FX

Dynamic lighting + vignette, parallax backgrounds, sparks/blood/smoke/embers, screen-shake, floating damage numbers, and a lead-where-you-face camera.

Controls

ActionKeys
MoveA / D  or  ← / →
JumpSpace
Up — climb / enter shadow / use door / leverW or ↑
Down — climb down / leave shadow / duckS or ↓
Run (hold to sprint)Shift
Fire forwardJ / Ctrl
Fire backward (over the shoulder)K
Knife (melee)V
Place bomb / throw bombE / T
PauseP

Tip: click the canvas first so it captures the keyboard.