2011-11-28 57 views
0

我正在開發一個有趣的項目。我以前從未創建過多人遊戲,所以我決定創建一個。爲了簡化;讓我們只說這個遊戲是在線撲克,因爲遊戲機制是相同的。認爲:球員坐在桌旁;球員輪流(定時)做出動作;聊天;等等。Rails + Heroku +多人遊戲(撲克)

我目前的設置如下。在Heroku上託管的Rails3網站。該網站包含工作登錄(devise + heroku db)和一個websocket聊天室。

我想知道的是;看到所有的Rails的東西都是基於會話的。我如何處理轉彎定時器?我是否需要一些能夠在所有會話中保持狀態的等式,並且能夠跟蹤時間/投擲事件?我需要一個單獨的服務器嗎?或者我可以通過當前的設置運行這個東西嗎?

如果我確實需要另一臺服務器;我如何用Rails做到這一點?另一個Heroku應用程序? Heroku有可能嗎?有點新的Rails;所以任何幫助理解這一點都是非常有必要的。

Btw;任何與這個主題相關的文章將不勝感激。

這可以通過延遲作業完成嗎?

回答

0

你看過EventMachine嗎?

+0

事件機器經常用於這種類型的解決方案嗎?我不熟悉EventMachine;但我今天會更多地研究它。 – user852740

+0

當我讀到你的問題時,我想到了Node.js,但是你似乎想要一些與軌道相關的東西,並且EventMachine被認爲是啓發了Node.js的。如果你對JavaScript感到滿意,你可能還想要簽出Node.js許多[遊戲](http://nodeknockout.com/entries)都是在Node.js框架上構建的。這是一個[post](http://stackoverflow.com/questions/5540490/eventmachine-vs-node-js)比較這兩個解決方案。 – Dru

+0

Delayed_Jobs在這裏沒有任何原因嗎?我認爲我需要的只是延遲工作,延遲20秒左右(無論玩家的輪換時間是多少)。當delayed_job發生時;它會檢查數據庫,看看玩家是否最終輪到他;如果他沒有的話,他會輪到輪到他,並開始下一輪的轉牌。這聽起來像一個體面的解決方案;或者我錯過了有關delayed_jobs的一些信息? – user852740