GoTime is a multiplayer Go game built with SpacetimeDB.
- Fast Multiplayer: Built with SpacetimeDB for rapid state updates and low-latency interactions
- Real-Time Game Analysis: Dynamic board analysis, scoring (both area & territory methods), and move legality checks
- Modern Tech Stack: React frontend and Rust backend
# Clone the repository
git clone https://github.com/bcanfield/GoTime.git
cd GoTime
# Install dependencies
npm install
# Start SpacetimeDB
npm run db:start
# Publish the module to SpacetimeDB
npm run db:publish
# Start the UI
npm run client:dev
##### Optional
# To see the SpacetimeDB logs:
npm run db:logs
# To re-generate the Typescript bindings
npm run generateGoTime is a proof-of-concept implementation of the ancient board game Go. It demonstrates how SpacetimeDB can be used to create responsive multiplayer experiences with complex game logic.
The repository contains:
For the rules of Go, see our GO_RULES.md document or visit one of the many excellent online resources for learning the game.
This project uses a dev container for a consistent development environment with Rust, Node.js, and the SpacetimeDB CLI pre-installed. Open the project in GitHub Codespaces or CodeSandbox using the badges above.
If you prefer to develop locally, make sure you have:
- Node.js (v16+)
- Rust (latest stable)
- SpacetimeDB CLI
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.