2010-10-06 100 views
6

我已經在Ruby on Rails + ajax中用jQuery製作了一個簡單的卡片遊戲動畫。它工作正常,我想開發一個多人版本。它看起來不像我想的那麼簡單。 我也嘗試將遊戲完全移植到JS到Canvas標籤中。對我來說這是可能的,我可以使動畫更好,但是我仍然不知道如何在其中添加多人遊戲部分:( 是否有人嘗試過使用帶滑軌的websockets?這是相當奇特的新技術。 它是堪與軌道堅持呢?我希望我能在閃存從頭開始,但我沒有任何知識,它:( 任何建議或教程將有助於Ruby on Rails簡單多人遊戲?

感謝

回答

2

如果你最終使用websocket:

Websockets可以用Rails實現,但是n所有主機環境都支持它。這裏有幾個鏈接,可以幫助您入門:

http://m.onkey.org/websockets-made-easy-with-cramp(需要ThinRainbows!

http://www.pusherapp.com/(如果你使用Heroku的,這個人是一個不錯的選擇)

對於客戶端 - 方面,如果瀏覽器不支持websockets,一些javascript插件會有閃回回退。而不是在Flash中實現整個遊戲,你最好使用這樣的插件。 (您的服務器仍然需要的WebSocket支持)這是一個選項(需要的jQuery):

https://github.com/ffdead/jquery-graceful-websocket

正如你所說,的WebSockets是非常新的,並因此將是相當實驗性的。如果一切都失敗了,那裏有更常見的AJAX解決方案。對於簡單的紙牌遊戲來說,可能只是使用AJAX請求定期查詢服務器,直到其他玩家進行了移動。這可能會增加服務器負載,所以我想這取決於您的需求。

編輯:

參見:Juggernaut

+1

我已經成功地從websockets降級到Juggernaut(在github上查找它)。如果您可以託管一個juggernaut服務器,我建議您先看看它。 – manu 2011-01-03 17:01:34

+0

是的,Juggernaut絕對是一個不錯的選擇。我在12月沒有注意到它。 – Smudge 2011-07-06 22:34:48

2

有什麼可以做,以解決用戶的問題,最簡單的事情?在這種情況下,它可能是「我想要通知當我正在對抗的人採取行動」。實時並不是一項要求,只需在一兩秒鐘內通知用戶。

在這種情況下,這將是最容易讓你的Rails應用程序,因爲它是,並且使用jQuery「輪詢」新的「行動」使用jQuery和插件,如http://plugins.jquery.com/project/smartupdater

我說這個每隔幾秒鐘作爲正在構建主要使用Websocket的應用程序的人。雖然原則上很好,但我們將構建一個Flash版本作爲不支持它的瀏覽器的後備版本。