Build your own multiplayer backend?

Started by
12 comments, last by JDX_John 10 years, 6 months ago

Depending on what sort of multiplayer you're doing (turn based vs twitch based real-time) it's relatively easy to roll your own. Something like Parse or Azure Mobile Services would go a long way to helping with this.

Both Parse and Azure Mobile seem like a better fit for cloud storage and hosting. I don't think they provide a backend to make a game truly multiplayer unless I missed something. Have you ever used one of these apps for that purpose?

Like I said, depends on what sort of multiplayer you're doing. Both can be used for games where polling for updates is viable. If you need real duplex communication then these won't work at all really.

yes, what I need is a duplex communication. Let's say I have developed a multiplayer word game and need to hook up a backend that would allow multiple users from anywhere in the world to play the game simultaneously and I want the user and game data to be persisted in some DB and keep ongoing records. This would of course be coupled with leaderboard, user chat and other (social) functionality.

That doesn't necessarily need to be duplex communication. Especially the leader boards, chat and other "social" stuff! Can you elaborate on the game itself? I could provide some details on how I would implement it. For duplex stuff these days, I would probably go with node.js. Building network based applications is almost trivial in Node.

Advertisement

I was looking at this a while ago: SmartFox Server.

I don't have the first-hand experience, but it seems promising if it delivers that it advertises.

We use ElectroServer at work (basically the same thing: Java based plugin server) and it gets the job done pretty well. Some people might shy away from that kind of server because it has to be C++ or nothing. But even for real time games the performance lost by it not being native code is offset by the safety of Java. You may lose your sanity dealing with Java though. Of course we aren't dealing with WoW type numbers so things might be a bit different at that scale.

ElectroServer and SmartFox are both around $5k for a unlimited license. Certainly not cheap, but it would take more then two weeks for me to build all the services they offer and be reasonably bug free. Both have a fully functional limited use license (~100 users) for free which is going to be more then enough for most hobby/indie games.

If you want to roll your own and don't mind being not native then Jetty or Node.js might be something to look at. Since they handle all the really low level network stuff you can just deal with the actual server logic.

*edit*

I agree with tstrimple, with what you want you could probably even get away with posting data to some PHP scripts on a hosted domain.

I'm using uLink and the UnityPark suite at work (Unity multiplayer toolset). The advantage is game servers can be written in the same environment as the clients and share the same data easily.

Wouldn't really consider rolling my own from scratch for real time games. For asynchronous games I might though.

I've used SmartFox professionally in 3 serious projects before and would recommend it, IF you know how to code in Java :) For back-end stuff, Java is actually quite a good choice because you have so much better database and threading stuff in the standard libraries, and it's likely your game server will want to be doing a fair bit of DB work in a multiplayer game.

www.simulatedmedicine.com - medical simulation software

Looking to find experienced Ogre & shader developers/artists. PM me or contact through website with a contact email address if interested.

This topic is closed to new replies.

Advertisement