I’m really curious what the difference was between the system test 200-player setup and the Unity GDK 200-player test. Using the same w4_r1000_e10 instance, Unity has 1/9th the map size, half the tick rate, and no static game objects while being expected to maintain the same max density of 15 players in sight. Why should we bother using the Unity GDK if it significantly handicaps our performance and drastically increases hosting costs? Admittedly, I haven’t dug deep through every SDK/GDK to compare feature sets, but it seems like a huge difference.
apologies for the slight delay in getting back to you.
So, there are several differences between the two tests:
- The system tests are synthetic and designed to be representative of the typical load exerted by these types of games. They’re great for enabling us to vary parameters that we know have a significant impact on the system (e.g. tick rate, player density) and measure impact, but they are not playable experiences like the Unity GDK starter project (hence why they’re synthetic).
- The system tests do not use the Unity GDK (they use our Java SDK). It is true that there is a performance delta between the two, however this is not something we have measured precisely. At the time of testing the Unity GDK was in alpha maturity, and therefore, we expect to make significant performance improvements over time.
- We’ve not invested time in squeezing performance out of the starter project using the w4_r1000_e10 template (the starter project is not intended for this purpose). We are confident we (or a developer building on top of the starter project) could optimise the game logic to squeeze out a significant amount more performance from the same template.
One small other note. The map size is largely irrelevant to performance in SpatialOS under these circumstances. The differences in map size in the above tests are due to how we implemented the scenarios rather than performance limitations; player density, number of players and tick rate all have far more of an impact.
I hope that helps,
Thank you so much for the reply Nee, that clears up a lot that is not apparent in the documentation.