SpiderMonkey or MonkeyNetty?

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?

1 Like

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.

4 Likes

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.)

2 Likes

Thank you! This is a big resources for me!

1 Like