How to Create a giant Moshpit wit 600 Characters in Unity 3D
What do you do when you want to create a physics based sports game? You check out how many players you can add to your playfield!
Thats exactly what I wanted to achieve with my little experiment and the result was pretty amazing. You might have red the last Article about "Super Footbrawl" where I mentioned that I am using Puppetmaster for the Physics Animations and I still do. And thanks to Pärtels helpful optimization tips I managed to let 600 Characters run into a giant Moshpit. But lets start slowly!
The first test I did was 16vs16 which was not very complicated and runs smooth on a 16GB Ram i7 Macbook Pro from 2013.
The next step was 64vs64. I reduced some unused bones from my character (you don't really need finger bones for a character that has no fingers), messed around with the Fixed Timestemp value and uncommented some (for me) unused lines of code from puppetmaster. The result was a 64vs64 moshpit running on 30 FPS but with some screen capture magic I managed to record 60 FPS.
After that i continued the optimization stuff. I read threw every article I could found regarding Unity performance optimizations, batching, physics and optimized my character even more. But I aso needed something more powerfull than my Macbook. So I used the Power Machine of a friend - i7 5960X, 128GB Ram and a GTX 980Ti. Even if you are not so familiar with Hardware stuff I can tell you that this is the best you can get these days. So I made a build which boosted the performance again of course and we managed to get 30 FPS by a resolution of 640x360 and again, thank to some screen capture cheating I could capure it in HD with 60FPS.
And the result of all this? Unity is a damn powerful thing! I still want to keep the 5vs5 for Footbrawl but my curiousity was bigger than the actual use in this case.
you can find more Information about the game on its website: http://footbrawl.pixelpizza.de