Hi, i was wondering, for creating a game like Unturned, what is the easiest way and the more efficent one? SpiderMonkey or MonkeyNetty? What are the differences?
SpiderMonkey is developed by the engine team and has some nice RMI/RPC services built onto it, etc… The real-time network sync library called SimEthereal is also built on top of it:
…one game developer had thousands of simultaneous users supported with SimEthereal. (Caveat: I wrote it so I’m biased but it is a very efficient real time network sync library.) It would be good for a networked FPS game.
I don’t know much about MonkeyNetty.
I also don’t know much about MonkeyNetty and about SpiderMonkey + SimEthereal performance I can’t say much as I haven’t really benchmarked it. But I do say that developing a networked/multiplayer game with SpiderMonkey + SimEthereal feels super easy. And if you throw in Zay-ES-net + Zay-ES in to the mix… you’ll get yourself a game real quick without having to worry about much.
Thank you! I’ll probably use SpiderMonkey or sim-ethereal then!
Zay-ES is a entity-component system right? Does it make things a lot easier?
Yes and such a different subject than the networking. But little bit related. It is a design pattern. I highly recommend it.
Ok! Thank you! I will try this way!
For reference, in this repo there are two SimEthereal+SpiderMonkey network examples:
One is called sim-eth-basic which is a simple networked 3D space game that uses regular game objects.
The other is called sim-eth-es which is the same example that uses Zay-ES entities instead of regular game objects.
“Entity component systems” are a big topic on their own, though… but in some ways they do make networking easier. (Especially since Zay-ES already includes networking support.)
Thank you! This is a big resources for me!