lightsing / splendor

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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: 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.

It starts the game server without the supervisor.

About

License:MIT License


Languages

Language:Rust 69.4%Language:Go 13.9%Language:Python 13.0%Language:Dockerfile 2.7%Language:Shell 1.0%