Skip to content
Chessmate: A 3D Chess Game With Your Opponent's Face On The Board

Chessmate: A 3D Chess Game With Your Opponent's Face On The Board

A three.js chessboard wired to a WebRTC video call, so you can watch your friend squint before they blunder a rook. Same data channel carries the moves and the stream. No game server, just a link, a board, and the small tells chess has been missing online.

Details

Published

What it is

Chess across a video call, rendered in three.js. Ludovic Renaux's chessmate.fun puts your opponent's face right next to the board, which sounds gimmicky until you actually play a round and realize how much chess has been missing the small tells: the squint, the half-second hover, the suppressed grin when you walk into a fork. The board itself is unhurried and tactile, pieces sliding across the squares with the kind of weight you only notice when it's wrong, and the whole thing now installs as a PWA so you can keep losing to friends without a browser tab in the way.

Three.js handles the scene, WebRTC handles the peer connection, and the same signaling channel that brokers your video stream also carries the moves. No game server in the middle, no lobby gymnastics, just a link you send to a friend and a board that springs into existence between you. It is a tidy demonstration that "multiplayer" and "multiplayer infrastructure" are not the same problem, and that a small surface area can carry a surprising amount of game.

Poke around the scene with devtools to see how the board and the video texture share the frame, send the URL to someone who owes you a rematch, and follow Ludovic for the rest of his three.js work, which ranges from realistic water in XR to a sign-language translation app. He is clearly someone who builds the thing rather than tweeting about building the thing, which we respect.

How it’s made

Technology
WebRTC
Framework & Tool
Three.js
Domain
Game
Interaction
Multiplayer