King's Gambit Medieval 3D Chess
by alexngdev99 · io.github.alexngdev99.rork-medieval-3d-chess
Not TrustedWeb appUnrated★ 301 stars
Created by Rork
Screenshots
About
A cinematic 3D chess game in the browser. Rival civilisations — a medieval European Ivory Kingdom, a Mesoamerican Sun Empire and Napoleonic France's Grande Armée — face each other as sculpted, rigged characters that march, strike, scream and burn away into dust on a marble-and-basalt board. Either side can muster any of the three armies. Built with Vite + React 19 + TypeScript + three.js, chess.js for the rules, and a Web Worker search engine for the computer opponent. No backend, no account, no build-time asset pipeline — it is a static site. - Full chess rules — castling, en passant, promotion, check, checkmate, stalemate, threefold repetition, the fifty-move rule and insufficient material, all via chess.js. - Rigged 3D characters, not chess pieces — eighteen sculpts (six per army), each with idle, walk, attack and death skeletal clips, plus weapons, shields and a floating rank crest. - The two armies are never in doubt — every figure stands inside a band painted on its tile and carries a faction rim light along its silhouette: azure for the near side, ember for the far one. The band's shape differs as well as its colour (a plain double band against a spiked sun collar), so the two sides stay separable for a colour-blind player, on a phone, in the darkest map, and in a mirror match where both sides muster the same sculpts. - Three army skins, chosen per side — Ivory Kingdom, Sun Empire or the Grande Armée, each with its own six sculpts, clips, weapon family and voices. Swap either side at any time in Settings → Armies; the choice is remembered between visits. - Figures march, they do not slide — a moved piece turns to face its destination, walks the distance on its own legs at the cadence of its rank, and squares up again on arrival. Knights keep the leap, running through the air and landing on both feet. - Synthesised footsteps on the stride clock — every footfall is fired by the same clock that retimes the walk cycle, so sound, grit puff and foot all land together: scuffs for footsoldiers, leather for the clergy, plate for the tower guardians, a slow deliberate tread for the crown. - Cinematic captures — the camera punches in, the attacker strikes on the hit frame, sparks fly, the screen shakes, and the defender burns away from the soles upward through a ragged edge of light, shedding motes that drift off (cold soul-light for the Kingdom, live embers for the Empire). - The square changes hands — the moment a victor's boot comes down on the tile it has just cleared, its own colours close inward over the square (every other ring on this board travels outward, so the reversed motion is unmistakable), the army's mark seals under it, chips of the old occupant's stone are thrown up, and the figure draws itself up to full height. Over the top of it, a short brass motif rises a perfect fifth — the one sound in the game that means conquest rather than violence. All of it is keyed to what was taken, so trading a footsoldier never sounds like felling a queen. - A blow that scales with rank — the footsoldier stabs and moves on; the rider cuts on the charge and leaves an arc of steel hanging in the air; the tower guardian's hammer sends a wave rolling across the stone and the hall keeps shaking afterwards; the crown drops a column of light on the condemned, rings a bell over it, and executes it in gold. Each rank has its own lens punch, hitstop, swing weight and aftershock. - Casters kill at range — the queen and the mage never close the distance. They level the staff from their own square, gather fire at the crystal, and throw it down the line: it lights the hall as it flies, breaks open on the body, and only once the corpse has burned away do they walk the whole distance and take the square. The mage throws one bolt; the sorceress throws a volley of three and leaves a ring of fire burning on the square (cold witchfire for the Kingdom, sunfire for the Empire). - Eighteen death cries — one recorded voice per rank per army, panned to where the body is on screen, ducking the music for a beat and pitch-jittered so no two deaths sound alike. Each army dies in its own language of pain: the Ivory Kingdom roars and groans, the Sun Empire shrieks and hisses, and the Grande Armée — being shot rather than struck — has the air punched out of it first and the voice second. - The check alarm — the instant a king falls under the sword, the hall itself reacts: a red lamp lights over the threatened crown, red light bleeds in from the far edges of the screen, and the camera picks up a faint low rumble. It is deliberately quiet: the surge is gone in under a second, the wash never reaches the board, and the lamp then keeps breathing at a low level for as long as the king stays in check. A warning has to be noticed, not endured — the alarm names the crown in danger without tinting the figures or moving the board under the player's eye. - Seven battlegrounds that relight the whole world — sky, haze, stone colour, tile contrast, fires, birds, siege engines and the film grade — and each one brings its own music. - 2D tactical view — one key lifts the camera straight overhead and flattens every figure into a stamped counter, so nothing can hide a square. Selection and moving keep working. - Three engine strengths running off the main thread, so the render loop never blocks. - AI vs AI / attract mode — let two engines duel on their own with pace control, pause, auto-rematch, and a clean capture view with the entire interface hidden. Three camera behaviours: hold one angle, follow the figure on the move and close in on the fight, or drift slowly around the board. The follow rig leans towards the action instead of chasing it into the hall wall, so the picture no longer shudders while it tracks. AI vs AI also renders crisper than a played game — no depth of field, softer grain, vignette and bloom. Every AI vs AI duel now **ends with a verdict card**: who won and how, the two engine strengths, the record, a countdown on the next duel that can be held, and one tap to roll another duel or return to the hall. - An interface that stays off the board — icon-only controls with a themed tooltip on every one of them (name, one-line explanation, key cap), the move record folded into a corner sigil, and a slim showcase rail that collapses to a single icon. One key strips the whole overlay for recording. - Auto-detected graphics presets (Low → Ultra) with an automatic step-down if the measured frame rate stays low, plus WebGL context-loss recovery. - Chess clocks, undo, resign, flip board, copyable PGN, captured tray with material score. - Field tally in the top-left corner: figures lost and time on the field for each army, ticking live even in an untimed duel. King's Gambit Medieval 3D Chess is the open-source project alexngdev99/rork-medieval-3d-chess (https://github.com/alexngdev99/rork-medieval-3d-chess) by alexngdev99, released under MIT. Ion packages it unmodified from commit 6922081feec1, adding only a manifest, an icon and a storage compatibility script.
Source
Written by alexngdev99, published to Oikou by Ben Grande.
- ★ 301 stars on GitHub
- Licence: MIT
- Built from commit 6922081feec1
Age rating
Not rated. Nobody has said who this app is suitable for, so Personal Clouds and the Oikou app treat it as 18+.
What version 0.20260930.0 may do
Internet
It asks to reach these hosts, and no others:
- r2-pub.rork.com
- g9111r67kl6tq85g540sd-web.rork.live
- fonts.googleapis.com
- fonts.gstatic.com
Personal Cloud tools
- Keep a database of its own on your Personal Cloud ion.db
Notifications
It does not send push notifications.
Storage
Up to 16 MB on your Personal Cloud.
Add to Personal Cloud
Sign in to add this web app to a Personal Cloud of yours. It runs there, on your own computer, and you open it from there; nothing is installed on your phone.
Versions
0.20260930.0 Latest Shown above
Published · a ready-built bundle
Imported from alexngdev99/rork-medieval-3d-chess at 6922081feec1.