https://github.com/niiightmarexd/golab
Goofy, cartoonish, open-source multiplayer shooter written in Rust with Bevy ๐ป
https://github.com/niiightmarexd/golab
3d 3d-game bevy bevy-game ecs game game-dev game-development gamedev games indie-game indiegame multiplayer multiplayer-game multiplayer-games multiplayer-online-game rust shooter shooter-game
Last synced: 11 days ago
JSON representation
Goofy, cartoonish, open-source multiplayer shooter written in Rust with Bevy ๐ป
- Host: GitHub
- URL: https://github.com/niiightmarexd/golab
- Owner: NiiightmareXD
- License: mit
- Created: 2026-05-21T07:17:56.000Z (22 days ago)
- Default Branch: main
- Last Pushed: 2026-05-21T10:24:50.000Z (22 days ago)
- Last Synced: 2026-05-21T17:03:56.407Z (22 days ago)
- Topics: 3d, 3d-game, bevy, bevy-game, ecs, game, game-dev, game-development, gamedev, games, indie-game, indiegame, multiplayer, multiplayer-game, multiplayer-games, multiplayer-online-game, rust, shooter, shooter-game
- Language: Rust
- Homepage:
- Size: 18.3 MB
- Stars: 13
- Watchers: 0
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# ๐น Golab โ [![Licence]][Licence URL] [![Rust]][repository] [![Bevy]][Bevy URL] [![Multiplayer]][Lightyear URL] [![Sponsors]][Sponsors URL]
[Licence]: https://img.shields.io/github/license/NiiightmareXD/golab
[Licence URL]: https://github.com/NiiightmareXD/golab/blob/main/LICENSE
[Rust]: https://img.shields.io/badge/Rust-nightly-orange?logo=rust
[repository]: https://github.com/NiiightmareXD/golab
[Bevy]: https://img.shields.io/badge/Bevy-0.18.1-8A2BE2
[Bevy URL]: https://bevyengine.org/
[Multiplayer]: https://img.shields.io/badge/Multiplayer-Lightyear-blue
[Lightyear URL]: https://github.com/cBournhonesque/lightyear
[Sponsors]: https://img.shields.io/github/sponsors/NiiightmareXD
[Sponsors URL]: https://github.com/sponsors/NiiightmareXD
**Golab** is a goofy, cartoonish, open-source multiplayer shooter written in Rust with Bevy โ where everything is round, soft, blobby. ๐ซ๐ซง๐น
The name comes from a silly little chain of thoughts:
> Everything looks like a **blob** โ blob sounds like **Golab** โ Golab brings Persian rose water vibes โ boom, tiny chaotic **Golab** shooter. ๐นโจ

๐ฌ Click to watch the gameplay clip
https://github.com/user-attachments/assets/13641e96-2cb7-432f-8baf-5b4d6ce82ddd
---
## โจ What is this?
Golab is a fast little arena shooter with squishy cartoon energy:
- ๐ซง **Blob-like characters** with cute low-poly/cartoon styling
- ๐ซ **First-person shooting** with tiny glowing red blob bullets
- ๐ **Movement tech**: jump, crouch, dash, and zip around the arena
- ๐ **First-person / third-person toggle** for maximum blob appreciation
- ๐ **Multiplayer client + dedicated server** powered by Lightyear
- โค๏ธ **Health, respawn, ping, name tags, and HUD indicators**
- โ๏ธ **In-game settings** for mouse sensitivity, audio, graphics, shadows, AA, motion blur, and more
- ๐ฆ **Built in Rust** because fearless concurrency pairs nicely with fearless blobbery
---
## ๐ฎ Controls
| Action | Input |
| --- | --- |
| Move | `W` `A` `S` `D` |
| Look around | Mouse |
| Shoot | Left mouse button |
| Dash | Right mouse button |
| Jump | `Space` |
| Crouch | `Left Ctrl` / `Right Ctrl` |
| Toggle first/third person | `R` |
| Open menu | `Esc` |
| Switch join fields | `Tab` |
---
## ๐ Quick start
### Prerequisites
- ๐ฆ Rust with the repository toolchain installed โ this project uses `nightly`
- ๐ฎ A graphics-capable machine supported by Bevy/wgpu
Clone the garden:
```bash
git clone https://github.com/NiiightmareXD/golab.git
cd golab
```
### Offline blob mode
Want to just vibe, run around, and test the game without a server? Launch the client by itself:
```bash
cargo run -p client --release
```
You can play offline locally โ the server is only needed when you want multiplayer blob chaos. ๐ซง
### Multiplayer blob mode
#### 1. Start the server
```bash
cargo run -p server --release
```
The default server address is:
```text
127.0.0.1:5000
```
Want to bind the server somewhere else, like `0.0.0.0:5000` for LAN/external connections? Change `SERVER_ADDR` in `shared/src/lib.rs`:
```rust
pub const SERVER_ADDR: SocketAddr = SocketAddr::new(IpAddr::V4(Ipv4Addr::UNSPECIFIED), 5000);
```
> When binding to `0.0.0.0`, remote clients should join using the host machine's LAN/public IP address, not `0.0.0.0` itself.
#### 2. Start the client
In another terminal:
```bash
cargo run -p client --release
```
Open the menu, join the server, choose your blob name, and enter arena. ๐น๐ซก
> Tip: run multiple clients locally if you want to test multiplayer chaos on one machine.
---
## ๐งฐ Tech stack
| Piece | Tech |
| --- | --- |
| Engine | [Bevy](https://bevyengine.org/) |
| Physics / collision | [Avian3D](https://github.com/Jondolf/avian) |
| Networking | [Lightyear](https://github.com/cBournhonesque/lightyear) |
| Language | Rust 2024 / nightly |
| License | MIT |
---
## ๐ Project layout
```text
golab/
โโโ assets/ # Models, sounds, textures, environment maps, GitHub media
โโโ client/ # Bevy game client
โโโ server/ # Dedicated multiplayer server
โโโ shared/ # Shared protocol, messages, constants
โโโ Cargo.toml # Workspace config
โโโ CREDITS.md # Third-party asset credits
โโโ README.md # You are here ๐น
```
---
## ๐ฑ Contributing
Pull requests, issues, ideas, bug reports, balancing suggestions, and ridiculous blob-related feature requests are welcome.
If you want to help, good places to start are:
- ๐ report bugs
- ๐จ improve assets or animations
- ๐ add satisfying blob sounds
- ๐น๏ธ tune gameplay feel
- ๐ improve networking polish
- ๐ improve docs
---
## ๐ฅค ~~Buy me a coffee~~ Buy me Claude
If Golab made you smile, helped you learn, or gave you the sudden urge to duel cartoon blobs, you can support the project here:
[](https://github.com/sponsors/NiiightmareXD)
Every little bit helps fuel more Rust, more Bevy, more blob polish, and more **Claude Code credits**. ๐ค๐ธ๐น
---
## ๐ Credits
Golab uses lovely third-party assets from generous creators. See [CREDITS.md](CREDITS.md) for attribution and license details.
---
## ๐ License
Golab's source code is released under the [MIT License](LICENSE).
Third-party assets are licensed separately by their original creators. See [CREDITS.md](CREDITS.md) for attribution and asset license details.
---
Made with ๐ฆ Rust