blueboat
Blueboat is a simple game server backend for NodeJS focused on scalability. Blueboat's job is to focus on networking, timing, and state management so that you can focus on what makes your game special.
Blueboat was created by and for Gimkit, and because of that, it has some opinionated decisions and requirements. Blueboat's main goal is to be scalable so that you don't have to change anything as your game grows.
Blueboat takes care of
- Real-time communication between server and clients
- State management on the server
- Room joining/leaving
- Timing events
- Scaling
Blueboat does not take care of
- State synchronization between server and client
- Matchmaking
- Game or Physics Engine
- External Database (for saving player stats)
Install
yarn add blueboat
or
npm install blueboat --save
Blueboat comes with Typescript definitions already so need to install those!
Documentation
Admin Tool
When running your server, you can visit an admin panel, but going to /blueboat-panel
View List Of Rooms
By default, you can see the list of rooms currently active in your server.
View Room
Click into a room to see the list of clients and the room's state
Change Game Values
Use Blueboat's game values tab to quickly change game values. Super useful to easily make balance adjustments or enable/disable game features. Here's an example of a simple chat application that gets a message from a bot when you create a room:
Inspirations
Blueboat is inspired by Colyseus. The creator of Colyseus, Endel Dreyer helped significantly throughout the building of Blueboat. Thanks so much, Endel!