Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am looking into make a 3g online multiplayer game for the iphone. Multiplayer is my main focus but I have noticed all game apps require wi-fi. Dose anyone know if this is simply an issue with the speed of the 3g network or dose apple put restrictions on their 3g network that prevents developers from doing this?

share|improve this question
So is it 'what restrictions are there' or 'why are there restrictions' you are asking? – The Communist Duck Dec 31 '10 at 15:43
What are the restrictions, speed wise and the technicalities that Apple imposes – user4328 Dec 31 '10 at 16:55

I don't know of any specific limitations Apple imposes regarding 3G. The communication medium would still be TCP/UDP or HTTP POST/GET.

In terms of network limitations, cell networks like your 3G service certainly have a unique set of characteristics. 3G networks are notorious for having horrible latency, it isn't uncommon to see round-trip times of up to 700 ms. In terms of bandwidth, 3G isn't that bad once the data starts flowing.

If you are looking at a multi-player action game where every second counts, having spikes of 0.7 seconds would be pretty bad. This is one reason why you would use Wifi. However if it's a Mafia Wars type game, you would be ok.

I may be remembering this incorrectly but I seem to remember there being an issue establishing a client/client session between two 3G users - like there was a firewall that prevented any incoming ports over 3G. For this reason you would either need a centralized server to match clients or use Wifi.

share|improve this answer

Phones using 3G networks typically (not always, but mostly) operate behind very restrictive NATs. UDP packets from the same source socket to two different destinations will typically appear from the device using two different IP addresses. This makes it very difficult to create peer to peer connections.

Network conditions such as latency and packet loss are more common than home ADSL or cable connections. However if the user has a very good signal then bandwidth can be higher than ADSL or cable.

You can usually use TCP and UDP. However if you're using UDP then I would recommend using a library that can cope with poor UDP performance. I've used ReplicaNet with great success on networks with poor network performance. The reliable UDP connections it uses seems to be very stable and recovers from packet loss well.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.