iOS Game Center Peer to Peer using Game Kit - iphone

I would like some confirmation before looking into the APIs deeply. Does Game Center let developers build an app so users can connect and interact with each other seamlessly ?
I mean, if I wanted to build a simple game, like a multiplayer quizz. I want people to look for each other on game center, go to a "game room" and answer the same quizz questions, the fastest winning.
As a developer point of vue, what will be required to my app ? Do I have call back like
player:(Player *)player didSendData:(NSData *)data
so I can check who gets the good answer and broadcast a message to everyone (to update their screen)
I know I could RTFM, I just want to know if "yes" that's basically the goal, or "no" you won't be able to do that with game center.
Thanks !

The answer is, Yes, you can do that. You can use Game Center to connect users using Apple's matchmaking services. This allows you to send push notifications to other Game Center users to invite them to connect. There's also the underlying GameKit framework (which Game Center uses) that allows you to create an ad-hoc network between devices in proximity over BlueTooth or Wifi. You can also dive into a bit of hardcore C and use Bonjour to connect devices. I use both peer-to-peer and Game Center connectivity in my game Cee-lo.

Related

Multiplayer with multiple app ids

I am interested in making an iOS game with a 2 player multiplayer aspect. I'd like to use Game Centre to send the data, which seems to work well with 1 app. What I would like to have is a paid and free version of the game, with the ability to play multiplayer between the paid and free versions.
The problem I have is:
Is it possible to use Game Centre to send data between the paid and free versions of the game, even if they have different app ids?
From what I've seen online, I don't think that it is possible, and I'll most likely have to have my own server to handle the data transfer. Any insight though would be much appreciated. Thanks!
There is such option in iTunes-connect.
Here is guide to it
https://developer.apple.com/library/ios/#documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/15_GameCenter/GameCenter.html
Here are two options you should be looking for
Groups: allows you to share your leaderboard and achievement data between apps. Apps in a group do not need to be multiplayer compatible.
Multiplayer Compatibility: allows you to specify which apps are compatible with a specific app and therefore, allow multiplayer games between the apps. Apps do not need to be on the same platform or in a group to be multiplayer compatible.

How exactly does open feint and game center multiplayers work?

I am newbie to this and i can't figure out how they work? Do i have to have own server? How are communications between players done?
I am not sure if I understood your question. If you are talking about the Apple's Game Center then I got you an answer.
GameCenter provides an interface that your application needs to follow, so your game can be integrated with the "game social network". You have to own a server only if your game cannot use peer-to-peer connections. The Game Center is very useful because you do not have to implement a lot of resources like matchmaking, achievement-like logistic, leader boards, etc.
You will find more useful information at: Game Center Overview

How can I implement multiplayer in my iphone game?

I want to create a playstation home style multiplayer game for iphone. How can I implement multiplayer in my project? Also, how can I give players a chance to chat? How can I let them create their own avatars to interact? I am a one man developer, with no access to servers. Maybe I can use iPhone game centre???
If you're looking for some kind of platform to build on, there is a product called SmartFoxServer:
http://www.smartfoxserver.com/
I have not used it, but it claims to provide a client API for native Obj-C or Unity3D. It allows for chat features.
If you want to roll your own, I recommend getting started with NodeJS:
http://nodejs.org/
GameCenter does not provide any kind of backend for multiplayer networking, at least not in the way you are implying. If you intend to build a networked multiplayer game over the internet, you most likely need some kind of backend.
Slicehost is a good way of getting a server like NodeJS running quickly and cheaply:
http://www.slicehost.com/
Don't forget that GameKit in iOS allows multiple devices to find each other locally (via Bluetooth or local Wifi) and create sessions. This might be a good starting point for your game. Here's some info on GameKit:
http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/Introduction/Introduction.html
I think this would usually be done with webservice interaction against a server. You may be able to develop a webservice and pay a small fee to have it hosted by a web provider, or to use your own machine as (an unreliable) server while proving the concept.
Or you could just use Nextpeer - http://www.nextpeer.com
It makes adding online tournaments to your game real simple.
You can look at Gamooga (http://www.gamooga.com/).
Its a realtime communication platform for multiplayer games so you dont need to worry about building and deploying your own multiplayer servers. You can upload your own server side scripts onto Gamooga's cluster which receive and process your clients' messages. You can use Gamooga's iOS API with in your app to send messages from the client side to your server side scripts. You can download the SDK and look at the demos to start off.
There is a free plan of Gamooga platform too that you can make use of to start with.
Disclosure: I am founder of Gamooga, replying only since its relevant to the question.

Simple Game Server

I'm looking for a simple game server for an iPhone game I'm creating.
The game is turn based, so I just need a way for players to find other players,
and then have the server gather and send out turns.
It's a simple two player card game.
If you have ever seem the with friends app.. ( Chess with friends, Words with friends ) that is the type of server I'm looking for.
Any suggestions on free or low cost software I can use??
If you would like to integrate OpenFeint, there is a turnbased multiplayer component you can take advantage of. No independent server required, with a simple and capable API ready for you to use.
http://www.openfeint.com/ofdeveloper/index.php/kb/article/000074
Here is a similar open source game. It is a two-player game server.
It can be hosted on Google App Engine.
For something scalable you can use SmartFoxServer or Google App Engine if you want to role your own scalable backend on the cheap. Integrating with Apple Push Notification could be done with Urban Airship
You can use Apple's GameCenter's built in Match making feature to create turn based multiplayer games.
http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/GameKit_Guide/MatchesandVoice/MatchesandVoice.html

iPhone and it's wireless area

Is there a way to discover other iPhones in the range of it's wireless area? So I give an example. I am staying at the airport. Somewhere near me there is also an iPhone. Me and the other iPhone's owner playing the same game. Is there a way to alert me and the other player that we are so close to eachother? Is this working also if we aren't on the same wireless networ, or there aren't any wireless?
And if there is a way to do this, can you give me some start point? Like a link where I can learn the basics or something like this. Maybe the name of this procedure, because I either don't know how to search in google about this topic. Thanks in forward!
The peer-to-peer discovery and connectivity you're describing can be accomplished with Game Kit framework.
Originally I thought it only worked via bluetooth, but after quickly looking over this GameKit Wifi question it seems wifi is also supported.
Hope this helps!