Hi all! I've been working on a new tool (lib) to help me and my team on our current project and I just wanted to share it with you!
All feedback is appreciated!
---
Welcome to netEngineX (temporary name) showcase! A distributed MMO server architecture using C# and Unity (other game engines soon)!
Basically, netEngineX consists of three parts:
1) State Server (entities and infrastructure management)
2) Workers (unity instances for world simulation)
3) Clients (unity instances for players)
This is a simple demo to show the current state of this technology:
1) We start a spectator client @ 10 statesyncs per second (no player controlled character for this demo)
2) We spawn 50 dumb AIs with one CharacterController each;
3) We spawn 1 Worker and assign the 50 AIs to its simulation;
4) We spawn more 550 dumb AIs and assign to this Worker simulation;
5) As you can see, the Worker FPS is low due to 600 CharacterControllers...
6) We spawn 2 more Workers and divide the simulation over the 3 Workers;
7) Now the load is distributed over the 3 Workers \o/
8) Now we show some more cool features like: Auto Worker Assignment when Worker dies, Stopped game simulation without Workers and other stuff... =)
* One client is connected as spectator so you can see that all the entities redistribution works seamlessly...
** netEngineX have built-in Network LOD using groups to save bandwidth...
*** This is not a real game, but if you can imagine all the possibilities =) All Workers are running locally, but yes, they can be run across the network... We are using CharacterController (heavy) to simulate AIs so we have a more close simulation of (600) player controlled characters...
Suggestions and questions, feel free to email me!
Thanks for watching!