Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lightsing/splendor
https://github.com/lightsing/splendor
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/lightsing/splendor
- Owner: lightsing
- License: mit
- Created: 2024-02-17T10:34:12.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2024-03-04T08:07:25.000Z (10 months ago)
- Last Synced: 2024-03-05T05:29:12.450Z (10 months ago)
- Language: Rust
- Size: 1.34 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Splendor
Splendor is a game of chip-collecting and card development.
This repository implements the game logic in Rust and also provides various language sdk for developers to build their own AI to play the game.
## Project Structure
- `splendor-core`: The game core types implemented in Rust.
- `splendor-engine`: The game engine implemented in Rust.
- `splendor-server`:
A one time game server implemented in Rust, which serves WebSocket.
It's designed to serve the game for a single game session and run in Docker.
- `splendor-supervisor`:
A supervisor implemented in Rust, which creates and game containers
also the resource limit for each game container.
- `splendor-proto`:
Internal gRPC protocol for the game server and the supervisor.
- [`sdk`](./sdk): Various language SDKs for developers to build their own AI to play the game.### SDKs
Each SDK provides an example AI which takes random actions.
> ***Note***: The Rust example AI is implemented in `actor::naive_actors` in the `splendor-core` crate.
## Run the Game Server Locally
See the [docker-compose.yml](./docker-compose.yml).
It starts the game server without the supervisor.