ShadowOfTheColossus-PC
Shadow of the Colossus 的原生 Windows 移植(PS4,CUSA08809)——请自备游戏转储。面向 PC 的原生移植。
AI 翻译
Chess Engine in Rust
翻译准备中
正在加载完整 README。
查看完整 README ↗Topics: chess, chess-engine, rust, uci, cli
A multi-crate Rust chess engine with CLI interface.
Live demo: https://hieudoanm.github.io/chess/
chess/
Cargo.toml # Workspace root
crates/
core/ # chess-core: board, pieces, move generation, rules
engine/ # chess-engine: negamax search with alpha-beta pruning
cli/ # chess-cli: command-line interface
Core chess types and logic:
Board - Board representation with FEN supportPosition - Game state (side to move, castling rights, en passant, clocks)Piece / PieceType / Color - Chess piece types and colorsSquare - Board square representation with SAN notationMove / MoveType - Move representation including promotions and castlingEngine search:
Command-line interface:
chess board - Display starting FENchess moves - List all legal moves from startchess play --depth 3 - Interactive play mode with engine recommendationschess uci - UCI protocol mode (reads commands from stdin)The engine speaks the standard UCI protocol. Run chess uci and send commands:
uci
isready
position startpos moves e2e4 e7e5
go depth 3
bestmove g1f3
quit
The engine exposes an MCP (Model Context Protocol) server over stdio JSON-RPC, built into the chess binary:
cargo run -p chess-cli -- mcp
# then send MCP messages to stdin, e.g.:
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_board","arguments":{}}}
Available MCP tools:
new_game - Start a new gameget_board - Get current board (ASCII + FEN)get_legal_moves - List legal moves (UCI)make_move - Play a move (UCI notation)get_best_move - Engine's best move at a depthAvailable MCP resources:
chess://board - Current board stateRun cargo run -p chess-cli -- bench to benchmark move generation (perft) from the starting position:
cargo run -p chess-cli -- bench
Reports node counts at depths 1-5, ns/node, and total nodes/second. Depths 1-3 match the published perft values for the initial position (20, 400, 8902).
Supported UCI commands: uci, isready, ucinewgame, position (startpos/fen + moves), go (depth, wtime, btime, winc, binc, nodes, mate, infinite), stop, quit.
One-command install (prebuilt binary, or builds from source via cargo):
curl -fsSL https://raw.githubusercontent.com/hieudoanm/chess/master/scripts/install.sh | sh
Or build from source:
cargo build --release
# Build
cargo build --release
# View starting position
cargo run -p chess-cli -- board
# List legal opening moves
cargo run -p chess-cli -- moves
# Interactive play
cargo run -p chess-cli -- play --depth 3
cargo test
| Rank | Engine | CCRL 40/15 | Type | Licence | GitHub | Notes |
|---|---|---|---|---|---|---|
| 1 | Stockfish 19 | 3650 | NNUE | GPL-3.0 | GitHub | Strongest engine, TCEC champion |
| 2 | Reckless 0.9.0 | 3644 | NNUE | AGPL-3.0 | GitHub | Written in Rust |
| 3 | PlentyChess 7.0.0 | 3642 | NNUE | GPL-3.0 | GitHub | |
| 4 | pawnocchio 2.0.1 | 3641 | NNUE | GPL-3.0 | GitHub | |
| 5 | Torch v4d | 3639 | Neural net | Private | Chess.com | |
| 6 | Coda 0.9.4 | 3638 | NNUE | GPL-3.0 | GitHub | |
| 7 | Integral v8 | 3638 | NNUE | None | GitHub | Free download |
| 8 | Cinder 0.6.1 | 3637 | NNUE | GPL-3.0 | GitHub | |
| 9 | Obsidian 16.0 |
Lc0 (Leela Chess Zero) is also among the strongest, especially with GPU support (CCRL FRC: ~4080 on RTX 5050).
Sources: Rama Chess, CCI Ratings
This project is licensed under the MIT License.
| 3636 |
| NNUE |
| GPL-3.0 |
| GitHub |
| 10 | Alexandria 9.0.0 | 3635 | NNUE | GPL-3.0 | GitHub |