2011-11-28 4 views
0

나는 재미있는 일을하고있다. 전에 멀티 플레이어 게임을 만든 적이 없기 때문에 멀티 플레이어 게임을 제작하기로 결정했습니다. 단순화를 위해; 게임 메 커닉이 동일하기 때문에이 게임이 온라인 포커라고 해봅시다. 생각하십시오 : 선수는 테이블에 앉습니다; 플레이어는 차례를 가져서 움직이기 시작합니다. 잡담;Rails + Heroku + Multiplayer Game (포커)

현재 설정은 다음과 같습니다. Heroku에서 호스팅되는 Rails3 웹 사이트. 웹 사이트에는 작업 로그인 (devise + heroku db)과 websocket 대화방이 있습니다.

궁금한 것이 있습니다. 모든 레일스 자료를 세션 기반으로 보는 것. 턴 타이머는 어떻게 처리합니까? 모든 세션에서 상태를 보유하고 시간/사건을 추적 할 수있는 방정식을 필요로하지 않습니까? 별도의 서버가 필요합니까? 또는 현재 설정을 통해이 작업을 실행할 수 있습니까?

다른 서버가 필요한 경우; Rails를 사용하여이 작업을 수행하려면 어떻게해야합니까? 다른 Heroku 앱? 헤로 쿠 아래에서 가능합니까? Rails에 처음 익숙하다. 그래서 이것을 이해하는 데 도움이 될 것입니다.

btw; 이 화제와 관련있는 어떤 기사든지 매우 평가 될 것입니다.

지연된 작업으로이 작업을 수행 할 수 있습니까?

답변

0

EventMachine을 살펴 보았습니까?

+0

이 유형의 솔루션에는 이벤트 머신이 자주 사용됩니까? EventMachine에 익숙하지 않습니다. 그러나 나는 그것을 오늘 더 연구 할 것이다. – user852740

+0

질문을 읽을 때 Node.js에 대해 생각했지만 레일스와 관련된 뭔가를 원했고 EventMachine이 Node.js에 영감을 준 것으로 보인 것 같았습니다. 자바 스크립트에 익숙하다면 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