For our upcoming series finale we wanted to do something big. With the help of @Z00LD and @ObliviousHD, we’ve created some monster morphs, corresponding animations and a hell load of NPCs.
After a bit of looking about and seeing what other developers had done who successfully tackled large groups of humanoids, we applied the following edits:
Transferred and handled everything on the client.
Anchored the HumanoidRootPart of each NPCs and used TweenService to move the humanoids.
Set every single HumanoidState to false.
Final result
My video recording software doesn’t do the scene full justice so if you have a spare second I’d highly recommend watching the complete version in-game: The Breach - Roblox
I may look at open-sourcing the place afterwards if that’s something anyone’s interested in playing around with. Hope you enjoy!
If you’re going to disable every feature of the Humanoid, just remove it. AFAIK it should increase performance, too. (I see this fact thrown around a lot with no evidence, but they’re probably right.)
AnimationControllers act as humanoids in the sense that you can load and play animations into them (given your model is properly rigged) but without all the unwanted calculations of a humanoid object. Search AnimationController in the advanced objects tab, then insert it into your character model!
This is how a lot of games handle Static (and sometimes moving) NPC’s.
Beware, AnimationControllers wont enable you to use clothing.
After replacing each Humanoid with an AnimationController I found the one with Humanoids to be faster than the one with AnimationControllers, which seems especially odd because of the points you mentioned.
In game it is very impressive, would it be worth flattening the terrain the monsters walk over because there is a ditch in the middle they levitate over.
I’ve done something similar to this while testing some things out, which had led me to making a mini tower defense game that can hold up to 1000+ zombies
I lost the game file after cleaning up my computer storage