Closed camden-bock closed 5 years ago
Our current implementation needs to be optimized, it is too choppy on the client machine. Consider execution order. Consider
Learning from this, when we integrate with the Geometry Kernel, we should consider running separate threads on the server and an event-based update system.
Consider Discord Rich Presence for room selection
As a modification for schools, we could allow for a room code in the launcher (-room UMaine-Bock). A teacher might use their name combined with their school's name. If application is launched without a room code, it would join a random public room
Consider using discord integration to resolve voice networking. Less of an issue for schools if they are sharing space
PUN should be integrated into the template provided in our fork https://github.com/maine-imre/discord-rpc, and then customized in an inherited script. (if we go this route)
@nsgnn What do you think about breaking this into two networking issues.
[1] get done the networking work that is required for research. [2] leave room management and voice as a separate issue
@jkdimmel the direction to go here might depend (1) on research plans (2) the importance of releasing the dodgeball game and (3) other labor that is available.
We will no longer be supporting networking for the scale and dimension study.
Use of the discord API for voice sharing will be addressed in another issue.
Is your feature request related to a problem? Please describe. We currently allow for multiple players in the same space, but we want to be able to align networked space that exists in the same physical space. We also need to support voice and hands better for users that do not share a physical space.
Describe the solution you'd like We need a solution using PUN that represents avatars in a way that is usable in shared and unshared physical spaces. We also need a simple mechanism to create public and private rooms and to enter those rooms.
As we implement these, we should consider what parts of this support could help develop a way to replay a user's experience in the environment.
Describe alternatives you've considered We've tried a Unity UNet implication before, but PUN 2 seems to be much easier to work with. Unity is coming out with new network support that we will consider in the future.
Additional context There are two scenes for initial networking support.
Basic Infrastructure
Improve Avatars - basically, we want to have something that is representative enough to be workable but doesn't attract attention.
This part of the work would be a good first task for someone when @nsgnn figures out the stuff above.