Some tech solutions for bigger player capacity in instances (?)

Hello!

I, like so many others, would enjoy raising the player capacity for events. I guess that’s not a thing, right?
Since I’m no staff, I have no idea how things are done, but I have thought of a few ways to implement things to increase player cap that wouldn’t necessarily overload the server.

  1. Area-splitted instances
    Each large-capacity area would be split into squared areas, each of them would be assigned a number. Each person on the server would be assigned the number of the squared area they are located in (this should be done client-side), and each player would only retrieve player data for the squared area they are in + player data of the instance owner / event organizers (they would need to be designated by the instance owner, and there would only be a limited number of them. The event organizer would also be able to switch who is one and who isn’t (if the number is to small for some events)). Instance owner & event organizers would be able to see players from the squared areas they’re the closest to (that could be more straining for the server but it would be fine since their number is limited).

  1. Instance-broadcasting system
    This also uses the instance owner / event organizers system. World BGM, instance owner and event organizers player data would be live in a normal-sized instance world (let’s call it the parent world), and then there would be children worlds that could be created aside of these. Each of these children worlds would also display World BGM, instance owner and event organizers player data from the parent world, but interaction with them would be impossible - players in children worlds would only be able to see & hear them.

Side considerations: for these systems, one could lighten the server load regarding player data through multiple methods:
- setting everyone as the default avatar for players except maybe friends, instance owner/event organizers and people that they specifically want to see the avatar of.
- using a P2P system to retrieve other players’ information instead. Retrieval could be based on who is displayed on the player’s current view.

Not sure this will actually be helpful to anyone since again, I’m absolutely clueless about how things work behind the scenes, but there’s nothing to lose to propose that here, right?

Admittedly, I’m a little ignorant on how it works on the backend, but Furality (The biggest furry convention on VRC, to my knowledge) uses the Furality Online Xperience portal to facilitate thousands of attendees at once. Maybe you ought to get in touch with them and ask how they did it?

1 Like

Looking again at the Parent/Child setup, that’s pretty similar to how Furality hosts its panels.

1 Like

Ooh, thank you for adding to the discussion! I was more trying to provide a general solution to do this natively in VRChat itself but it is interesting that some people managed to implement that on their end!

Yeah, by the looks of it it’s moreso just networking and Unity stuff, with VRC’s SDK.