2012-01-12 43 views
1

我一直在尋找在iPhone遊戲中實現多人(互聯網)的各種選項。 Game Center,OpenFeint等顯然非常好,穩定且功能豐富。但我不禁認爲我的需求比他們提供的要簡單得多。滾動您自己的多人iPhone設置?

如果我想要把一個簡單的2D坦克遊戲,可我不只是..

  • 建立在網絡上的MySQL服務器,有一些獲取/設置PHP腳本ACTAS「Web服務」 。

  • 當你打開遊戲時,打電話給服務器,記錄你「可用」。

  • 當您選擇「播放」時,會進行一次通話以檢索「可用」IP列表。

  • 您選擇一個對手,遠程IP存儲在本地。

  • 遊戲開始時,UDP處理您的IP和您的對手的IP之間的數據。

..或者那永遠不會工作?道歉,我非常在遊戲/網絡開發n00b!

在此先感謝!

回答

0

這肯定會起作用,但實施起來可能比起初似乎有點難。你必須處理諸如NAT /防火牆穿越之類的事情,並且如果你使用UDP,你需要實現某種類型的心跳,以確保你知道設備何時斷開連接(並相應地處理它)。

在大多數情況下,您最好使用已解決這些問題的解決方案。

+0

感謝您的回答。 – SM2011 2012-01-16 09:23:23

2

除了complexities that dtuckernet points out,還有一些其他的事情要考慮:

  • 你需要考慮運行和支持Web服務器的成本。你能保持與Apple和OpenFeint相同或更好的正常運行時間嗎?
  • GameCentre推出支持它的遊戲。 App Store添加了一個圖標,Game Center則列出了您的朋友擁有的遊戲。不要低估免費廣告的效果!
  • 即使代碼很簡單(我懷疑這不是真的),爲什麼冒着自己開發自己的風險時,有免費的測試代碼可用?

順便提一下,根據您的要求,您可能需要使用混合方法。例如,當蘋果託管它時,Game Center每場最多有四名玩家。您可以使用GC查找玩家,然後在您自己的服務器上運行遊戲。

+0

另外你會做得很好,讓它和Game Center一樣高效。遊戲中心雖然看起來很複雜(很多課程和代表),但它確實很好用,而且你有很多文檔。順便提一下,我正在爲將2D遊戲中心添加到2D坦克遊戲上工作 (如果有人 - 我不知道的人可以猜出它,我會留下深刻的印象!),並且Game Center運作良好。 – jrtc27 2012-01-12 15:24:54

+0

@Stephen - 謝謝你的回答,網絡服務器只會用於匹配,我想大多數商業主機可以提供合適的正常運行時間?是的,GC促銷是一個獎金,我沒有想到這一點。是的,你可能是對的,儘管如此,我的直覺至少會試圖寫出我自己的精益解決方案,如果沒有其他的話,這是一種學習練習。一旦我意識到儘管涉及多少努力,我會使用GC作爲後備。 :O) – SM2011 2012-01-16 09:23:34