Rhubarb is a lightweight WebSocket library for multiplayer HTML5 games. It is originally designed to be used by the ROYGBIV Engine. However, it can be used outside of ROYGBIV as well. Javascript is slow, therefore we want to have as much main-process-power as we can in order to do game related calculations, graphics rendering and achieving 60 FPS. For multiplayer games achieving 60 FPS gets even more complicated given that transferring data over WebSockets is a slow operation. It also triggers GC activity by copying the transferred data (if JSON is the preferred way), which eventually slows down the main thread as well.

Features

  • Using WebWorkers to handle networking out of main thread
  • Using transferables between the main thread and the worker to prevent GC activity (zero copy)
  • Redefining/compressing and sending protocols using Float32Arrays
  • Allowing users to define their protocols in a high-level way and taking care of all the dirty bitwise operations internally
  • Allowing sharing same protocol definitions between server/client
  • Allocating objects only when being initialized

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow Rhubarb

Rhubarb Web Site

Other Useful Business Software
Full-stack observability with actually useful AI | Grafana Cloud Icon
Full-stack observability with actually useful AI | Grafana Cloud

Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.

Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
Create free account
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Rhubarb!

Additional Project Details

Programming Language

JavaScript

Related Categories

JavaScript WebSocket Libraries

Registered

2023-08-14