NexusSocial / nexus-vr

Monorepo for most code
Apache License 2.0
18 stars 7 forks source link

Protocol Support for Arbitrary Payloads #80

Open CorneliusCornbread opened 6 months ago

CorneliusCornbread commented 6 months ago

Summary

As discussions of the Nexus protocol have continued it has become apparent that there is a need for a mechanism that allows servers to implement custom information payloads. Applications will likely be advanced enough to necessitate arbitrary data for application-specific content.

Philosophy of Design

Say for example we want to create an application that is a game of freeze tag in Nexus. In this application, we're going to have to handle some extra state data, both required and optional. This includes the player's team they're on, taggers or runners, as well as player state data, like whether a player is frozen or not, and maybe extra information like player score. This information is going to likely require applications to implement payloads to sync this information to clients.

Drawbacks/Blockers

Complexity, as well as a current lack of clear implementation, as of yet there has not been an in-depth discussion of what this may look like concerning our choice of serialization library. It's not an issue that is technically infeasible by any means, but it is an area of active investigation.