Multiplayer and Mobile - Cloud Question


Hobby dev here looking to go multiplayer with my next game. I have been doing some research on this topic and hoping I can get some input here.

My question is this: With 4G available for many mobile phone users today, is it realistic to be able to create a twitch based multiplayer game on mobile? I am looking to develop a multiplayer "chase the other player" type game where each player will take quick turns and response time is key. Will Photon cloud along with today's mobile networks be able to provide fast enough response times or is this out of the question?



  • Tobias
    Hmm, actually, this is a really good question!
    We didn't try 4G yet and I don't know what the specs say about latency.
    Let's assume the latency is as good as that on cable (it's 4G after all), then I'd say it should be possible. It will depend on where you are, compared to the servers.
    Photon Cloud runs in multiple distinct regions, so in some areas it will be feasible.

    No matter how fast, there is always some delay, so you still have to put some brain into lag compensation and varying conditions.
  • Thanks for the reply. Right now on 4G (Verizon) I am seeing latency of about 60-70ms. So I will have to give some thought to how I can offset that in the game. I thought about making it turn based but I would really like to make it real time if possible - might just have to prototype it and see what happens I guess.
  • Kaiserludi
    60-70ms is more than good enough for realtime.
    Photon has successfully been used for realtime games with 3G devices, where latency has been around several hundred ms.
    Many developers use Photon cloud with just one worldwide cloud-region, as they don't want do split their player pool into different regions (especially when they only have a small playerbase). That means that even with non-mobile clients the latency will be at 300-600ms (this is nothing Photon-specific, but just normal latency for intercontinental connection and the reason why we offer multiple cloud regions in different parts of the world so that you can let your userbase connect to the nearest region for better pings) and that is still fine for many realtime games.
    With pings of multiple hundred ms one will usually have to use some convergence algorithms to achieve a good experience for the players, but with 60-70ms one could just immediately on keypress send the keypress info out to the other client and locally wait 100ms before reacting to the keypress. In those 100ms the information has reached the other client so that both clients can react to the keypress exactly at the same time as if they would both be in a lan or on the same machine. The key here is the speed of human reaction: If the delay between input and reaction to input isn't above 100ms, then it's nearly impossible for a human to recognize that delay.
  • Perfect, sounds like this solution should work great then. I appreciate the replies and will report back with once I have my prototype up and running, thanks!