2011-06-06 120 views
2

我剛剛看到麥當勞的商業廣告,我已經在下面鏈接了,我想嘗試爲節日開發類似的東西。我們一直在談論如何製作一款遊戲,其中用戶必須使用他們的iPhone以及類似麥當勞所做的那樣很棒的遊戲。這款基於瀏覽器的乒乓遊戲可以使用哪些技術?

我的問題是,如果有人有一個想法,我怎麼可以發送數據和他們可能使用的技術?我想象製作兩個網站。遊戲本身顯示在哪一個,哪一個是控制器,但是我如何確保數據的發送和處理足夠快?

我熟悉JavaScript和PHP。我一直在使用閃光燈和ActionScript,我想知道這是否是最好的遊戲(顯然不是控制器)

您可以在下面的鏈接中看到麥當勞廣告。基本上,用戶訪問作爲控制器的網頁,然後他們能夠在大屏幕上玩乒乓球遊戲。

任何想法和頭腦風暴如何做到這一點是值得歡迎的。

Watch the McDonald's Pick n Play commercial here.

+0

對於實時網站之間的連接使用websockets。 – Raynos 2011-06-06 15:08:24

+0

那有多酷?我想玩。 – DOK 2011-06-06 15:11:04

+0

@Raynos我決定使用websockets。它看起來是最聰明的,它是實時的。我不確定人們通常在這些論壇上做什麼,但是當我使用你的方法時,也許你應該回答我可以接受的答案? :-) – simonbs 2011-06-06 20:04:45

回答

2

只需使用WebSockets。他們的問題是瀏覽器支持和支持舊版瀏覽器/平臺。

要處理這個問題,有各種抽象。我會親自推薦socket.io依靠node.js的可靠抽象。有一系列的回退(包括COMET和Flash)。雖然你在它,你可能想看看使用節點的實時應用程序(這太棒了!)

0

我會在承載遊戲(套接字TCP/IP連接)套接字服務器。套接字服務器應用程序的目的是監聽連接,等待2個玩家,開始遊戲,決定誰贏和設置時間(它也可能有一些玩家將在接下來玩,並通知玩家他們在哪裏在隊列中)。

現在,我們如何建立從網站到該套接字服務器的連接?

我不會使用WebSockets,因爲目前沒有得到廣泛支持,默認情況下在FireFox中禁用並且IE還沒有實現它(AFAIK)。

現在你必須決定,你想要在Flash或HTML中做網站。你甚至可以使用兩者的混合。例如:

混合: 使用控制器網站上的Flash應用程序充當JavaScript和服務器之間的通信器。當Flash從套接字服務器中檢索數據時,它將使JavaScript處理檢索到的命令。例如。移動墊。 (我用我的在線聊天應用程序的方法,它的作用就像魅力)。

Flash only: 使用純Flash應用程序作爲控制器和通信器到套接字服務器。

瞧!你有類似MacDonalds遊戲的東西。

我希望我的回答很清楚,如果我的一些陳述錯誤,請隨時發表評論。

+1

嗯,Flash並不是真正的控制器選項,因爲有智能手機不支持它(我在考慮iPhone)。對於WebSockets來說,這並不是我曾經使用過的,但我現在正在閱讀它。它似乎已經得到了廣泛的支持(即使在iOS 4.2中使用Safari) – simonbs 2011-06-06 15:29:17

+0

嗯,這很有趣。我非常期待使用WebSockets,但由於涉及到安全問題,我剛剛聽到了很多缺點。例如,由於涉及到安全問題,FireFox默認禁用它。如果我錯了,請糾正我。 – raRaRa 2011-06-06 15:32:39

+0

你也可以使用通過HTTP發送數據,但我只是不確定它可以有多快。例如。當移動墊時需要很快發送10-20個命令,因此它不會落後於屏幕。但就我所知,這是好運! – raRaRa 2011-06-06 15:35:00

0

在我看來,這是我會去的:

一個小的客戶端應用程序,將在連接到website.Considering它在移動平臺上的Java應用程序最好是下載。替代方案是閃光燈,這也是適合的,但如果圖形不是我們的目標,那麼我想最好不要這樣做。

服務器爲用戶一次性提供實時連接。 (如視頻所示)。這是所有遊戲的實際痛苦。我會去尋找這些項目中的一個作爲平臺:

http://opensource.adobe.com/wiki/display/blazeds/BlazeDS

http://www.smartfoxserver.com/

http://www.cubeia.org/

http://appengine.google.com/

除此之外,想法 - 我也喜歡,如果是多人遊戲(當時有相當一部分人),但那意味着至少每個人都會贏得更多的免費贈送給他們的遊戲。

+0

他們特別說在鏈接的網站上,你不必下載一個應用程序。不得不下載和安裝應用程序1)延遲用戶能夠開始播放2)用手機拒絕用戶,因爲某些原因,應用程序無法工作; 3)不注意安全意識的用戶對下載未知內容持謹慎態度應用。當然你相信麥當勞,但你怎麼知道這真的是他們? – DOK 2011-06-06 15:43:15

0

作爲替代方案可以COMET一個Web應用程序模型,其中一個長期持有的HTTP請求允許Web服務器將數據推到瀏覽器,沒有瀏覽器明確請求它

看看這裏:Comet

+0

我真的不知道COMET如何提供幫助。基本上手機沒有得到任何遊戲的反應,一切都發生在屏幕上。這是一個關於如何發送數據的問題,所以COMET不是真正解決這個問題的答案。這與「使用HTTP發送數據」相同。 – raRaRa 2011-06-06 15:52:14

+0

屏幕上發生的一切?哦,不,您必須通過HTTP發送數據和請求數據,才能使用新狀態更新屏幕。而且問題請求不使用閃存,因爲Iphone不支持它,所以需要流HTTP來保持連接並傳輸數據IN和OUT。彗星做到這一點,只使用HTTP保持會話活動。 – 2011-06-06 16:41:50