rork-medieval-3d-chess logo

rork-medieval-3d-chess

Created by Rork

RorkDeveloper ToolsTypeScriptMIT 202 49Health 82
Website GitHub

What is it?

What it is

A cinematic 3D chess game in the browser featuring three rival civilizations (Ivory Kingdom, Sun Empire, Grande Armée) with sculpted 3D characters, realistic movements, and immersive gameplay. Built with React 19, TypeScript, three.js, and chess.js, it emphasizes cinematic captures, dynamic animations, and a unique interface.

Why it exists

To provide an immersive, visually rich 3D chess experience that combines historical themes with modern web technologies. It offers a unique blend of strategy, artistry, and interactivity, allowing players to engage with a detailed, dynamic world.

Who should use it

Developers interested in 3D game development, chess enthusiasts, and open-source contributors seeking complex technical projects.

Who should avoid it

Beginners in programming, users without experience in TypeScript or 3D graphics programming, or those seeking simple chess implementations.

How it works

A quick walkthrough in plain English

How rork-medieval-3d-chess works

Step 1 of 3

You interact with it

Open rork-medieval-3d-chess, send a request, or connect it to your stack.

Features

Full chess rules implementation using chess.js
18 sculpted 3D characters with idle, walk, attack, and death animations
Three distinct army skins (Ivory Kingdom, Sun Empire, Grande Armée) with unique models and voices
Cinematic captures with camera effects, sparks, and death animations
Dynamic square ownership changes with visual and audio feedback
Combat effects scaled by rank (e.g., flintlock shots, sword strikes, cannonball impacts)
Ranged combat with projectile weapons (queen, mage, rifle, musket)
AI opponent with adjustable difficulty (Squire, Knight, Warlord)
Graphics presets (Low → Ultra) with auto-detection and fallback
Character animation with skeletal clips and root motion
Swappable army and battleground settings between sessions
2D tactical view for clear board visibility
Audio with synthesized footsteps, weapon sounds, and voice clips
Web Worker-based AI for non-blocking gameplay
Multiple game modes (Player vs Computer, AI vs AI, Attract)
Interactive interface with tooltips and keyboard shortcuts
Static site deployment without backend or account
Detailed death animations and environmental effects
Customizable graphics and audio settings
Responsive design for various screen sizes
AI vs AI with verdict cards and auto-rematch
No download required for models or audio (streamed from remote URLs)

Advantages

  • Highly immersive 3D chess experience with cinematic effects
  • Flexible army and battleground customization
  • Robust AI with multiple difficulty levels and auto-rematch
  • Static site deployment with no backend requirements
  • Detailed audio and visual feedback for every action
  • Support for multiple game modes including AI vs AI and attract mode
  • Auto-detected graphics presets for optimal performance
  • Responsive design adapting to screen sizes and orientations
  • Comprehensive controls with tooltips and keyboard shortcuts
  • No account or backend needed for gameplay
  • Customizable models and audio for user-generated content
  • Efficient Web Worker usage for smooth AI performance
  • Detailed death animations and environmental interactions
  • Support for touch and keyboard inputs

Disadvantages

  • Requires Node 20+ and Bun for development
  • Complex setup with Web Workers and WebGL dependencies
  • Potential performance issues on lower-end devices
  • Dependence on WebGL 2 and Web Audio API support
  • Complex codebase may be challenging for new contributors
  • Limited browser support (requires modern browsers)
  • High resource usage due to 3D rendering and animations
  • Dependency on specific libraries (three.js, chess.js, etc.)
  • Audio and model streaming may require stable internet
  • Complex animation and physics systems requiring optimization

Installation

native

cd web && bun install && bun run dev

FAQ

How do I start the game locally?

Clone the repository, navigate to the web directory, run 'bun install' followed by 'bun run dev' to start the development server at http://localhost:5173.

What are the three available armies and how do I switch between them?

The three armies are Ivory Kingdom, Sun Empire, and Grande Armée. Switch armies via Settings → Armies, where each side can be selected independently and the choice is remembered between visits.

How does the game handle gunpowder units like the Marshal-Tirailleur or Artillery Guard?

Gunpowder units fire from range without closing distance: they kneel, aim, trigger, and the shot flies flat and fast. The Marshal reloads from the knee, and the field gun leaves a smoke bank and stone wave on impact.

What graphics presets are available and how are they determined?

Presets range from Low to Ultra, auto-detected from GPU string, core count, and device memory. The engine steps down one level if frame rate stays under 40 FPS, and manual controls are in Settings → Picture.

Can I play AI vs AI and what happens at the end of a duel?

Yes, AI vs AI mode lets two engines duel with pace control, camera behaviours, and auto-rematch. Each duel ends with a verdict card showing the winner, engine strengths, move count, and a countdown to the next duel.

How are footsteps and combat sounds generated in the game?

Footsteps are synthesised per timbre (scuff, leather, plate, regal) using a body thump, sole transient, and metallic afterring. Combat sounds like gunshots and conquest motifs are also synthesised, with no audio assets required.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for rork-medieval-3d-chess

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
rork-medieval-3d-chess | MushyBook