2012-12-15 7 views
6

이 질문을하기 전에 약간의 연구를했지만 내 상황에 대한 구체적인 답을 찾을 수 없었습니다. 저는 WebSocket과 게임 개발에 아직 익숙하지 않아 일부 부분을 잘 설명하지 못할 수도 있습니다. 그렇다면 더 잘 설명 할 수 있도록 말해주십시오.멀티 플레이어 HTML5 게임 개발에 웹 소켓 사용. 무엇을 선택해야합니까? Node.js 또는 Ratchet 또는 기타?

저는 현재 여러 종류의 HTML5 멀티 플레이어 게임을 제공 할 CakePHP를 사용하여 웹 응용 프로그램을 개발하고 있습니다. 어떤 상황에서는 게임이 데이터를 데이터베이스로 보내야합니다. 문제는 Node.js를 사용하여 게임 서버 측 로직을 구현하고자하지만 데이터베이스에 데이터를 전달할 수 있는지 확실하지 않습니다. 최선의 방법은 Node.js의 데이터를 PHP 작업으로 보내 데이터베이스에 저장하는 것이지만 가능한지 여부는 알지 못합니다.

나는이 DNode 일에 대해 뭔가를 발견했지만, 이것이 내 문제에 대한 대답인지, 그리고 베타 버전에있는 것처럼 보이는지, 나는 피하고 싶습니다.

대신 게임 서버 측 로직을 구현하기 위해 Ratchet을 사용하는 방법을 생각했습니다. 적어도 내가 내 응용 프로그램과 통신 할 수 있다는 것을 알고 있지만 게임 개발에 대한 참조를 찾을 수 없기 때문에 좋은 생각인지 확실하지 않습니다. 내가 어떤 다른 프레임 워크에 대해 모르는

, 나는 그 두 가지보다 더 나은 옵션이있는 경우, 그래서 저를 알려주세요 :)

나에게 의견을주십시오. 고맙습니다!

답변

6

1 년 전 온라인 멀티 플레이어 게임을 개발하려고 비슷한 문제가 발생했습니다.

http://www.nodebeginner.org/

: 나는 당신이 Node.js를 처음 사용하는 경우

내가 처음이 짧은 좋은 기본 튜토리얼을 읽을 것을 권장합니다 WebSocket을위한 서버와 Socket.io을위한 Node.js를를 사용하여 종료

나는 매일 node.js를 사용하며 매우 유용하고 생산적이라는 것을 알게되었습니다. 당신은 기본 노드와 소켓 멀티 HTML5 게임 개발이 좋은 자습서를 읽어 읽는 완료되면 : 당신에게 도움이 될 수있는 말에 오픈 소스 게임에 대한 링크가 있습니다 http://smus.com/multiplayer-html5-games-with-node/

.

그리고 당신은 여기에 socket.io의 문서를 확인할 수 있습니다 http://socket.io/

은 그래서 당신은 시작할 수 있습니다 도움이되기를 바랍니다. 그것은 가장 어려운 부분입니다.

+0

대단히 고맙습니다. 지금 Node.js의 작동 방식에 대해 더 잘 이해하고 있습니다. 내가 이해 한 바에 따르면 Node를 사용하여 데이터베이스에 연결할 수도 있습니다.이 방법을 사용하면 PHP 응용 프로그램과 통신하지 않아도 데이터를 요청할 수 있습니다. – Anakin

+0

맞습니다. Node.js에서 데이터베이스에 직접 연결할 수 있습니다. – ElHacker

+0

node.js는 VPS 서버에서만 작동합니까? 공유 호스팅에 설치되지 않을 것입니다. – yourkishore

0

socket.io 대신 Node.js + Lightstreamer를 사용해 보셨습니까? Simone Fabiano는 최근에 an apple-to-apple data broadcasting comparison with socket.io (서버 측에서 생성되어 4 천 개 이상의 클라이언트로 전송 된 메시지, 2 대의 Amazon EC2 머신으로 전송 된 메시지)를 발행했으며 CPU 사용량, 데이터 대기 시간 및 지연 시간이 socket.io 인 일반 웹 소켓보다 확장 가능한 것으로 입증되었습니다. 대역폭 소비 및 전체 성능을 향상시키는 몇 가지 유용한 기능을 제공합니다.

특히 Lightstreamer는 모든 멀티 플레이어 게임에 큰 이점을 제공합니다.이 기사 (Optimizing Multiplayer 3D Game Synchronization Over the Web)도 참조하십시오. Lightstreamer가 실시간 동기화를 위해 통합 된 간단한 멀티 플레이어 3D 세계의 온라인 데모를 살펴볼 수 있습니다. 이 데모에서는 시나리오의 각 매개 변수를 조정할 수 있으며 실제 대역폭 소비량을 확인하면서 데이터 전달 방식을 시뮬레이션 할 수 있습니다.

벤치마킹 키트와 데모의 전체 소스 코드는 GitHub에서 무료로 사용할 수 있습니다.

[전체 공개 : Lightstreamer에서 작업]