- An in-progress Rust rewrite of https://github.com/mancjs/code-and-conquer, which is a strategy + coding game (already written by others), where teams compete to conquer squares on a finite grid by programmatically submitting commands to an authoritative TCP server from their respective TCP client. This project was written to get more practice in Rust and configuring a Rust project for CI (GitHub Actions).
-
Most of the work so far has gone into the
game_coremodule, which by design is decoupled from theserver. The decoupling should allow for experimenting with different protocols for exchange between client and server (e.g. WebSocket, TCP, QUIC, HTTP, GRPC) and picking a decent fit.- Set up CI checks with GitHub Actions
- Configure integration tests
- Configure formatting checks
- Configure Clippy
- Configure unit tests
- Ability to attack a square
- Ability to defend a square
- Implement database/persistence layer
- Ability to use roles
- Spy
- Minelayer
- Cloaker
- Ability to query grid
- Ability to query specific grid
- Introduce environment variables
- Experiment with different client-server protocols
- Try TCP listener from Tokio
- Try Tungstenite (WebSocket)
- Try Tonic (GRPC)
- Try QUIC
- Implement server
- Set up CI checks with GitHub Actions
- Install Rust, Cargo, LLVM
- Clone this repo
cdinto cloned directory and thencargo run
- Rust standard library only
- Rust crates (see
Cargo.tomlfor details)
- Jul 2023