M
M
Maxim2012-07-22 20:11:18
Mobile development
Maxim, 2012-07-22 20:11:18

How does the client/server interaction work in mobile games?

Hello habradruzya.
The question is trivial, but important enough for me. We are making a game for mobile devices “in the garage” with friends, there is a described concept, content, design. Let's start implementing the client and server. We will work with a freelancer (I hope to find a person who can write a server and a client), but in order to correctly formulate the problem, we must at least roughly understand the solution. It's a paradox, isn't it :)
The game is similar to ... for example, poker. A person presses “Network Game” on his iOs \ Android device, and this very interaction begins:
→ loading screen (at this time, the client sends a “who else is looking for” request to the server);
→ the server sees that five have been found with the “search” status (by the way, where is it better to store all the statuses in sql?) and sends the “game start” status to all five;
→ then the server sends five responses to clients, one of them is “you drive”;
→ the one that “drives” sends a response to the server;
→ the server sends again to all five what the previous one answered and whose turn it is now.
Well, plus a chip with a timer, if someone does not make a gesture within 10 seconds, then the server transfers the right to move.
What technologies to use (one server on it python and mongo) or node and mongo? What are the standard practices for solving such problems?
PS Well, actually, I have to write this: if you are a level 80 bright developer and you have: a) a desire to benefit the world (the highest level of development according to Maslow, well, you understand); b) the desire to work in the "garage" team; c) deep skills in mobile development - write, we are a small team, we live and work in Moscow. We dream of doing something so useful that we will be settled in paradise next door to Steve and Princess Diana. This is the first project, and the plans include teaching letters and words for children (international Appstore) and art galleries in Russia (but with this project we want to try participating in Kickstarter). If it's against the rules, I'll remove it.

Answer the question

In order to leave comments, you need to log in

4 answer(s)
M
marklarius, 2012-07-22
Rumoynikov @RUQ

This article highlights the client-server interaction (albeit with an emphasis on "shooters").
The technology can be any (taking into account the delays of the mobile Internet). Your example I would most likely implement on Python + Redis + Memcache.

E
egorinsk, 2012-07-22
@egorinsk

I would advise instead of fashionable untested technologies to use proven ones - java or C ++. If you store temporary data in memory (why do you need SQL ??), then a normal multi-core / multi-gigabyte server will keep connections in the thousands.

I
Iliapan, 2012-07-23
@Iliapan

Fiercely plus for the "pluses" and RAM, sorry for the tautology :)

Z
Zelgadis, 2012-07-23
@Zelgadis

Easy way:
We take ejabberd, write our extensions and turn it into a server for the game. So ngmoco ;) did. Eiminate Pro is made on ejabberd.
Of course, you can do something of your own, a la Go + Redis (for online players) + PostgreSQL (for authorization and other things) or everything in Mongo entirely (you just need to check that the locks will not interfere).

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question