all repos — emchess @ be8e1da8b28b364ae535696c302f3e41d52448c0

README.md (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
EMCHESS
=======

A small chess game that runs in the browser. The pieces are emoji.
No accounts, no ads, no server required. Open it and play.
Analytics are handled by Tinylytics (privacy-friendly, no cookies).


DESCRIPTION
-----------

Emchess is a static web app. All the chess rules run locally with
chess.js. The opponent is Stockfish, compiled to WebAssembly and run in
a Web Worker so the board never freezes. The engine is made to pause
before it moves, so it looks like it is thinking.

Six opponents, from a careless beginner to a strong master. Four piece
sets, including a plain Unicode set for maximum clarity. Positions load
from the URL (?fen=...). Games export to PGN. Everything is stored in
the browser, and it works offline after the first load.


REQUIREMENTS
------------

  Node 18 or newer, and npm.


BUILD
-----

  npm install
  npm run build

The result is written to ./dist as plain static files. Copy it to any
web server; there is nothing else to configure.


DEVELOP
-------

  npm run dev

Starts Vite on http://localhost:5173 with hot reload.


DEPLOY
------

With PM2 and the included ecosystem file:

  npm run build
  pm2 start ecosystem.config.cjs

This serves ./dist on port 17393. Or serve ./dist with anything else you
already have (nginx, Apache, a static host). No special headers needed.


USAGE
-----

  - Click or drag a piece to move it.
  - Pick your side and opponent on the New Game screen.
  - Change the piece set in Settings.
  - Copy PGN from the panel to save or share a game.
  - Share a position by putting a FEN in the URL: /?fen=<fen>


ENGINE
------

The computer opponent is Stockfish (https://stockfishchess.org),
licensed under the GNU GPL v3. Its files live in public/stockfish.


LICENSE
-------

GPL-3.0-or-later. See LICENSE.

Copyright (c) 2026 Pablo Murad <pablomurad@pm.me>