Hi!
I know my question might sound similar to the “Is Unity good for XXX”, but I would really appreciate if someone could give me a view as to how difficult it would be to implement a design that we are trying to achieve for our game. (how difficult = how much work above the tools Unity already provides, and how much “hacking”).
Our game is a multiplayer FPS set in an environment of several worlds. We expect the games to involve up to 100 players with a potential for all of them to be present in the same world simultaneously.
Our game will consist of multi-threaded client, where 2 physics worlds will be ran - 1st world will be synchronised with the server, while 2nd world would be used for extrapolation for the renderer. 1st world will have multiple instances saved to allow to revert to the past state and re-run simulation forward (unlagged implementation).
On the server side each separate world would run as a process and communicate with each other over UDP protocol. A master server would handle the global game state and negotiate with all separate world servers.
Given the above, what I would like to know is if Unity is able to : (without access to Unity source code)
- Run multiple physics threaded instances, and able to efficiently copy the physics states between the instances
- Allow for implementation of custom networking (will this have to be done in C# or can an external lib be used?)
Also, is it possible to use Unity as renderer-only and integrate bullet physics as the physics engine instead of the in-built one?
Thank you!