Asynchronous Game server (67614)

Hi,

I am building an asynchronous multiplayer game (up to 4 players in game). But I am stuck at choosing the server side solution.

For me this kind of game, asynchronous, can be handled by only http requests and a database (to maintain a game for example).

I found a lot of solutions like SmartFox, Electrocloud or Photon. But what are the advantage of those solutions for a no realtime game.

I think that Windows Azure WebRole for example is a better solution because I don’t need any realtime feature. But maybe I am wrong.

Thanks a lot for your help and advices.

NO!!!!! I'm not allowing you to make a game multiplayer using HTTP requests!!!

But why ? ;)

Because HTTP is not built for anything but what it's usually used for, while you are making a game! Would you use a desk lamp as an oven? Would you use a firelighter as a stove?

@Benproductions1: Actually almost all MMO browser games use HTTP / AJAX requests for server communication, so why is that a problem? If he really doesn't need realtime responses it's absolutely fine. I actually work in a browser games company ;) I don't work with php / html / javascript / flash, but all our games use a php backend.

Thanks Bunny83 you reassure me, for an example, a request should only validate a move (e.g. for a chess game).

2 Answers

2

“As I explained, we can compare the game with a chess game.”

Just write a few lines of PHP (or Perl if you’re over 30) on a normal, everyday “LAMP” stack. So it’s just php/perl and MySql with cgi on a vanilla web server

Look no further - it would be silly to do it any other way more complicated.

Once your income stream is over, let’s say, $50,000 a year, look at other options.

"Look no further - it would be silly to do it any other way more complicated." That was my idea. Thanks for the advice !

How would I get started using PHP to make a server? is there any tutorial series or something?

In the Unity Networking guide they have information about Master Servers, protocols and state manage that could answer a lot of your possible questions.

http://docs.unity3d.com/Documentation/Components/NetworkReferenceGuide.html
http://docs.unity3d.com/Documentation/Components/net-MasterServer.html

For the love of God don't use HTTP in games, there's a lot of unnecessary overhead. If you don't need realtime updating you could use Reliable Delta Compressed mode in Unity.

I looked at the Unity Master server, but it seems to be an overkill solution for my project. We can compare my project to a chess game. I don't get the point of building such a server side solution.

Except you want database access and global state, so I fail to see how the Unity server is overkill. It doesn't matter how simple your game is, but the features you want out of your server.

Why are we talking about the Unity Master Server, that server is purely built to register and connect to games (A host management system) You should use it, but not for making the game multiplayer, because thats impossible! Look into Unity RPC calls, thats what you should use!

Thanks a lot for your suggestions, that's what I was expecting. I don't have any problem on building an efficient webserver. For the moment I always hesitate on using a webserver or smartfox server for example. As I explained, we can compare the game with a chess game. There are not much server work but we can imagine hundreds of players in the same time requesting move validation for their game. And the move validation must be quite fast, but we can't compare this with a realtime update game.