Multi-user playgrounds

Hi,

made a couple of multi-user playgrounds, to test my free stuff, and make it easier to use.

Basic multi-user playground:
https://playground.babylonjs.com/#ZBK155
how to set your avatar, create shared objects, handle network events.

Multi-user world example:
https://playground.babylonjs.com/#Y6ILJ5
load mesh, create terrain, set your avatar, and enter.

Fully-featured example:
https://playground.babylonjs.com/#HDV7LA
Choosing an avatar and entering a multi-user world.
Audio/video streaming, WebXR, motion tracking and everything else featured on www.vrspace.org home page.

12 Likes

These projects are amazing!

1 Like

This is awesome!!!

Are the sources open source? can the rest of the community share them and use them? And is there some form of documentation for them?

1 Like

Iā€™ll bookmark this pageā€¦ :wink:

Yes would love to see any documentation you have on this. Iā€™m building a babylonjs VR starter pack, and I definitely want to include multiplayer (see playerā€™s positions) and then also sync world (e.g. if you have a mesh changing, everyone sees how the mesh is changing). Iā€™ve done the first, but not the second. So curious to learn more about what you have going on here. Thank you!

1 Like

Thanks guys!
Everything is open source. Server and client API/lib written by me, published under Apache 2 license. All content is free, published by respective authors under Creative Commons Attribution license (mostly downloaded from sketchfab).
Itā€™s mostly one-man band, and a handful of early adopters.
So there isnā€™t much docs and such yet, it all depends on interest of community really, so ask away, and contribute.
Iā€™m progressing towards publishing a node package, could use a helping hand :slight_smile:
Wiki: Wiki - VRSpace.org - Redmine
Project page:GitHub - jalmasi/vrspace: VRSpace: Multiuser Virtual Reality Engine

Thatā€™s the point of shared object in first playground here. Left sphere creates a shared dolphin, and anyone can change a single property - start/stop animation. Right sphere creates an owned dolphin, and only owner can change a property - position. In both cases, everyone sees the properties changing right away.
How to do that, you need to ā€˜installā€™ a custom event handler - function named propertyChanged.
Hopefully playground code makes it easier, if not, just ask.

3 Likes

ā€¦ but since you asked for it, jsdoc and javadoc now linked straight from the front page: www.vrspace.org :slight_smile:

2 Likes

wayyyyy pumped to dig into this!

@Josip_Almasi

Sorry my ignorance of the following questions:

  • how many users can share a ā€œworld/spaceā€ simultaneously?
  • the entrance on a ā€œworld/spaceā€ can be limited?

Congrats for this great work, and thanks for share!

Thank you!
By default, number of users per space is not limited. There is a server parameter to limit that (maxSessions) that can be specified either in config file or command line. Users that hit the limit remain in the queue for configurable timeout (zero by default) until someone leaves. An error is raised on timeout
Practical limits are a different story, and thatā€™s all about what youā€™re doing with it, and usually client side imposes the limit. Take this for example: VRSpace:Avatars This loads all 50 characters available on the server, 550MB of content. Works fine on my PC, but kills browsers on android devices, including Oculus.
So the server provides a tool to help with that, EventRecorder, briefly explained starting at 4:45 in this video: VRSpace.org: DIY Multiuser VR for the Web on Vimeo (it does not record audio/video)
Like, record yourself X times to simulate expected situation, measure, debug, optimize.
(note to self - another playground)

1 Like

Amazing thinking and effort. I absolutely love the concept. Will followā€¦

1 Like

@Josip_Almasi can you show us more Multi-user playground examples, like this one Babylon.js Playground? Thanks! :slightly_smiling_face:

@REX_DUNGEUR can you be more specific in what youā€™d like to see? That particular example doesnā€™t really explain anything, just loads all the content and scripts from vrspace.org.
Regardless, sure Iā€™ll add more, currently Iā€™m working on screen sharing, will add that one over the weekend.
(actually the same playground already includes portal to classroom where you can share your screen, still buggy)

2 Likes