Implement realtime multiplayer mode

I am about to implement a real time multiplayer mode (2 players) for one of my games. I never did that before, so I was wondering if anybody can give me an advice.

So far, I decided to create a multiplayer mode using bluetooth. I succeeded exchanging data between the devices, but I am stuck designing the protocol.

Maybe anybody of you is experienced in this field and can give some advices

Wouldn’t WiFi be easier for users to use? Muffin Knight has a nice WiFi multiplayer. Anyway - if the game is simple the protocol doesn’t need anything special, just try to make all commands as short as posibble so there is not much data send back and forth.

edit: fixed some spelling problems.

I choosed Bluetooth because of the lower energy consumption. Moreover, Androids WifiP2P, which I would use when I choose Wifi, is only available in Android 4.0+

@Magnesus has came up with really a nice solution, because tell you what implementing real time multiplayer mode is just much more easier and less confusing then messing up with the bluetooth protocols, because bluetooth can’t receive bulk of data that much fast which results in low quality user experience, while if you use WiFi it can receive bulk of data in a short while means that user experience can be keep up to that extent. So I’d say better to move forward with the … WiFi rather than using Bluetooth.

You can also try using Google Play Game Services.

They provide APIs for multiplayer and realtime games, leaderboards, achievements…

https://developers.google.com/games/services/

I heard Google Services multiplayer is far from real time (large pings).

I also considered using Game Services.
Nevertheless, I refuse to use it. This way users are obliged to connect with their google plus account. I made the experience that this deters some users from using these features.
Moreover, as Magnesus stated, I consider it laggy

Google play services are peer to peer connection. It means that one person must be host. Magnesus is right, it’s far from real time. Check clumsy bird or stick runner (smth like this). It’s laggy as hell. I am developing multiplayer game and I decided to use AppWarp. Multiplayer feature already works and latency very low. I use europe servers so testing two game instances on the same machine will give the same effects like testing i.e spain and polish host because host server is the same.