Blackholio is a small-scoped MMORPG built using Unity and SpacetimeDB, designed to showcase scalable multiplayer game development. Inspired by agar.io, Blackholio reimagines the mechanics with a space theme where players become planets, stars, and black holes in a competitive cosmic arena.
- Gameplay: Absorb smaller entities, grow, evolve, and dominate the leaderboard as a black hole.
- Scale: Supports hundreds of players seamlessly with SpacetimeDB's real-time synchronization.
- Objective: Demonstrate SpacetimeDB's features and best practices in a fun, interactive project.
This repository accompanies the Blackholio Unity Tutorial, which guides you through building the game from scratch while learning:
- Unity integration with SpacetimeDB.
- Client-server setup for multiplayer games.
- SpacetimeDB features, including reducers, tables, and scheduled events.
By following the tutorial, you'll develop:
- A basic understanding of SpacetimeDB for multiplayer games.
- A functional game prototype with scalable multiplayer features.
Need help with the tutorial? Join our Discord server!
To get started, follow these steps:
-
Clone this repository:
git clone https://github.com/ClockworkLabs/Blackholio.git cd Blackholio
-
Install Unity Hub and Unity 2022.3.32f1 LTS.
-
Follow the tutorial parts:
-
Run the game using the Unity Editor or build for your platform.
- Core Gameplay: Consume, grow, and dominate.
- Multiplayer: Scales to hundreds of players with SpacetimeDB.
- Dynamic Gameplay: Spawning, movement, collisions, and evolution mechanics.
- Learn by Building: Explore the mechanics of Unity and SpacetimeDB through the tutorial.
Blackholio/
├── client-unity/ # Unity client project
├── server-rust/ # SpacetimeDB server module (Rust implementation)
├── server-csharp/ # SpacetimeDB server module (C# implementation)
├── docs/ # Tutorial documentation and images
└── README.md # This file
- Unity: Version
2022.3.32f1 LTS
or later. - Rust: Version
1.65.0
or later (for the SpacetimeDB server module). - SpacetimeDB CLI: Installed via SpacetimeDB installation guide.
This project is licensed under the Apache License.
Feel free to fork, modify, and use Blackholio as a starting point for your own projects. Contributions are welcome!
We'd love to hear your thoughts on the tutorial or game! Open an issue in the repository or chat with us on Discord.
Happy developing, and enjoy creating the cosmos with Blackholio! 🚀