d000hg

Are there established middleware/engines for browser based MMOs?

Recommended Posts

Like the kind of .io games... Presumably a central server backend and the client runs in your browser using HTML5.

Back in the day I would've used Flex/Flash but those days are gone, however I'm not a web developer so JavaScript isn't an area of expertise. Are there go-to libraries to let me get on with coding... primarily the front end but also the networking and back end?

I'm an experienced professional C++/C#/Java guy but a bit out of date in game dev. I've an idea for a .io game but want to leave my options open for browser, desktop and iPad clients i.e. Not have to write it several times for each platform. And I suppose in a perfect world I'd use the same stack for server and client.

All thoughts welcome... If this is in the wrong forum apologies.

Share this post


Link to post
Share on other sites

The problem with talking about 'MMOs' is that there's no real agreement on what that means. Back when MMO routinely meant something like WoW or Everquest or Guild Wars, there were some standard middleware packages for that sort of thing. But now, when the term is used to cover quite different games - like these .io games which are more twitchy than traditional MMOs but not persistent - the logic is quite different, and the old tools are overkill in some ways and ill-suited in others.

Now, if we limit the search to games like agar.io etc, then I think the answer is currently no. The Agar.io backend was written in C++, the front end in Javascript, and trying to use the same tech for front and back-end is probably not a great idea if you need performance (althogh Node.js can do okay in some circumstances). There are certainly lots of existing game networking services that can make online game development easy, such as Photon or Player.io, but they are typically designed to support smaller numbers of players. It may be possible to extend them with area-of-interest management systems that make them scalable to larger numbers, but I don't know.

Share this post


Link to post
Share on other sites

Sorry yes, to clarify I'm meaning a 'casual MMO' sort of like Agar/Slither and with deliberately quite minimalist graphics so that in-browser is not a big task. Browser VS desktop client could be as much a decision about sales model as technical issues - I perceive that selling a downloadable game is probably easier than selling a browser-game, you'd have to go another route (I have no idea how slither makes money - maybe they rely on mobile app sales?)

I suppose I'd thought/hoped there might be a nice C# toolset which spat out JS/OBJ-C versions for different platforms, a bit like the 2D library we used to use years ago (SDL?)

Share this post


Link to post
Share on other sites

SDL is just a library - if you want it working on different platforms, you have to set up the toolchain and the library on each platform.

.io style games are neither particularly complex to create nor particularly lucrative to run so it's not surprising that there isn't a big software ecosystem there. People have made open source versions, such as https://github.com/huytd/agar.io-clone and https://github.com/OgarProject/Ogar , and they just use fairly standard event-driven networking tech because there's not much else to implement, to be honest.

Implementing the client-side is another matter entirely - because the game is so simple you have a lot of latitude to use whatever technology you want, and there's no point it being tied to the server-side technology. The question of how to avoid needing to write Javascript in order to write game code for a browser is really a separate one - various engines and technologies compile to HTML5 these days, including Unreal, Unity, Haxe, anything that works with Emscripten, etc.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now