2010-02-23 70 views
1

我一直在尋找android開發一段時間,真的很想創建一個網絡遊戲。我也認爲這對於熟悉應用引擎框架是一個很好的機會,但似乎更多的應用引擎應用是圍繞瀏覽器服務構建的。我不希望這是一個基於瀏覽器的遊戲(我想要實時聊天,更有活力的交互/移動/戰鬥)。我一直在研究AJAX/Java作爲一種可能的解決方案,但是我很難想象如何將應用程序實際連接到服務器,因爲我發現所有的tutroial似乎都是託管的web應用程序。 Android應用程序是否有任何資源透明地連接到App Engine服務?開發Android網絡遊戲,使用App Engine作爲服務器是否可行

或者,也許有更好的服務類似於我應該研究的應用程序引擎。

謝謝! (如果我不清楚任何讓我知道的事情)

+0

如何使用XMPP? – d4rr3ll 2010-02-24 18:36:45

+0

XMPP支持:http://code.google.com/appengine/docs/java/xmpp/ – mjn 2010-02-24 22:14:05

回答

3

AppEngine對提供Web應用程序完全有偏見:HTTP in,HTTP out。所以,只要您可以將遊戲的通信層設計爲可在HTTP(無狀態,有限生活請求)中實現,則沒有理由不起作用。

您的遊戲不必在瀏覽器中運行,以使用基於HTTP的API與服務器通信。我懷疑Andriod和AppEngine之間是否存在任何特殊的「透明」通信庫,因爲AppEngine可能實現的Web請求式通信與用於與任何其他基於HTTP的API進行通信的相同技術無法區分在任何平臺上運行。

+0

謝謝,我認爲這可能是這種情況,並結合ajax,它實際上應該適合設計很好。 房間的移動會導致一個新的html get並建立到新位置的另一個AJAX連接(用於本地聊天本地操作),並且其他連接的客戶端將會收到通知,並相應地進行更新。 我想我只是有點太新了,但我會試着串起一個示例應用程序,這可能會幫助我選擇一個方向。 沒有人知道任何使用http的好教程基於apis? – Hortinstein 2010-02-23 18:14:42

+1

請記住,您不能在App Engine上使用'comet'或'long polling' - 請求被限制爲30秒,如果您在其中進行長時間輪詢,您將很快耗盡處理程序。 – 2010-02-24 14:56:23

0

您可以使用Android SDK中的軟件包org.apache.http.HttpConnect。*中的Http Component類。

+0

謝謝,生病了! – Hortinstein 2010-02-26 19:39:17

1

我目前正在開發一個應用程序,它將涉及基於瀏覽器的webapp以及連接到GAE服務的iPhone「安裝的應用程序」(這是Google的術語)。我簡單地GET/POST xml到一個基本的servlet,它工作正常。請記住,爲了讓客戶端活躍起來,您將不得不廣泛使用memcache,因爲即使對數據存儲庫的次要調用往往需要很長時間,並且安裝的應用程序中的「等待」對話框也會很快變老。我會嘗試廣泛使用memcache(而不是數據存儲)來保存遊戲狀態數據,因爲這些數據可能不需要「永久」保存,並且memcache比數據存儲快得多。

另外我不認爲有什麼方法可以讓客戶知道遊戲狀態的變化,應用程序引擎不會「推」,所以所有的客戶端都必須輪詢更新。

+0

您還應該查看此博客文章: http://googleappengine.blogspot.com/2010/04/games-on-app-engine-interview-with-jay.html – tempy 2010-05-21 13:34:49

相關問題