Virtual Party Space Devlog #13: Server-side architecture
Today I start looking into server-side architecture to support a large number of simultaneous users, and also put in pathfinding for other players' avatars.
- More research into scalable architecture, looks like 150 participants is stretching the capabilities of Jitsi
- load testing tutorial
- to be in same conference, all users need to hit same jicofo instance (can only scale vertically)
- prosody is single-threaded and may also be a blocker https://community.jitsi.org/t/site-slowing-down-on-concurrent-connections/80822/17
- jvb can be separate, and can load-balance multiple servers for same conference using Octo
- limitation is bandwidth/client bandwidth
- last-n is probably required if most people sending video
- need to come up with distance-based-n solution
- started putting pathfinding in to allow for other-player movement and also mouse-based movement
- pulled in easystar
- started changing gridphysics/player code to work with additional sprites
- looked into improving isometric math, but it might actually be as good as it gets?
- removed some extra Vector object creations from methods that get called every draw cycle
- don’t know that this actually makes a difference but creating 60 objects/second must add up?
About this series
Back in mid-December I started an ambitious project to create a custom platform for a virtual birthday party in February. I kept notes on my progress, both for personal reference and to turn into a series of blog posts. It quickly became apparent that I did not have time to both do the project and blog about the project. I have retroactively decided to post my raw notes as a dev log.