-
-
Notifications
You must be signed in to change notification settings - Fork 561
Public Roadmap
Endel Dreyer edited this page Nov 14, 2024
·
29 revisions
This page has a list of features and improvements for both Colyseus (Multiplayer Framework) and Colyseus Cloud (paid managed infrastructure/hosting)
- Timeline is open. This list is not exhaustive.
- The order of items may not reflect their priority or importance
- Feel free to discuss any of these items on Discord or GitHub Discussions
-
database(paused until 2025) +user auth system(introduced in 0.15.15, see docs). - Improvements on the state synchronization structures (
@colyseus/schema
):- introduce a “data ownership” model; deprecate filters
- improve/fix synching arrays (#641)
- research/experiment how to improve encoding speed (try to use a similar approach as msgpackr)
- research/experiment better memory usage - similar to how entity-component systems handle memory
- fix callbacks when reusing instances (colyseus/schema#151)
- add request/response methods to rooms (requested by @dengzhaofun)
- client input validation (
onMessage
in the server) - matchmaking: introduce a new “queue” type
- a queue would keep more clients than needed before starting a match;
- user specifies logic that combines clients into a new room
- reserve seats for selected clients and redirect them to the newly created room
- introduce "version check" to allow native SDKs to communicate with newer versions of the server
- support experimental WebTransport transport option
- fork and support a Godot SDK (gsioteam/godot-colyseus)
- wild idea: support RPC calls via schema instances [? elaborate]
- deprecate schema-encoded messages (this feature was added because Unity once lacked typed messages)
- provide a SQL driver as alternative to
@colyseus/redis-driver
(must support SQLite + PostgreSQL, possibly on top of Kysely) - allow "full stack" TypeScript types for room messages and room types (like trpc)
-
Allow horizontal scalability + load balancerAllow to increase/decrease the number of instances- Allow automatic scaling up/down
- No downtime deployments (need 2+ instances per region)
- Allow client SDK to auto-select region based on lowest ping
- Provide mass load-testing orchestration (spawn multiple nodes that run loadtest scripts)
- Support subscribing to add-ons per application:
- Database (small, medium, large)
- Object Storage (aka S3)