https://github.com/levkk/rust-chess
Chess implementation in Rust
https://github.com/levkk/rust-chess
chess-game opengl rust-lang
Last synced: 9 months ago
JSON representation
Chess implementation in Rust
- Host: GitHub
- URL: https://github.com/levkk/rust-chess
- Owner: levkk
- License: mit
- Created: 2017-12-19T23:18:30.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-06-21T22:08:47.000Z (about 3 years ago)
- Last Synced: 2025-01-21T10:14:26.497Z (over 1 year ago)
- Topics: chess-game, opengl, rust-lang
- Language: Rust
- Size: 6.81 MB
- Stars: 3
- Watchers: 2
- Forks: 2
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://travis-ci.com/levkk/rust-chess)
# Rust Chess
Implementation of chess in Rust.
## Requirements
### Linux & macOS
This program is using native OpenGL and GLFW. So, you'll need pretty much everything that comes up from
```
$ pkg-config --libs --static gl glfw3
```
#### Ubuntu 18.04+
Install these:
```
apt-get install -y libglfw3-dev cmake libssl-dev libxinerama-dev libxcursor-dev libxi-dev libxxf86vm-dev
```
### Windows
Same, you'll need your graphics card OpenGL driver and GLFW installed. Never tried to compile a Rust program with OpenGL
bindings on Windows, so let me know if it works. :)
## Build & Run
```
$ cargo run
```
## Features
- Validation of moves using basic chess rules.
- Gameplay using chess notation (e.g. e2e4 moves any piece from e2 to e4)
- Saving/loading to/from JSON.
- Multiplayer using direct connection TCP.
- Super basic and kind of unplayable GUI in OpenGL.
## Missing Features
- Validation of piece ownership: a player can move the pieces of the other player.
- Collision checking for validation of moves.
- HTTP client/server for NATed players.