HTML5 게임에 멀티 플레이어 추가하기


15

현재 협동 경험이있는 게임을 만드는 데 관심이 있지만 HTML5에서이를 구현하는 가장 좋은 방법에 대해 궁금합니다.

나는 스트레이트 C 소켓을 사용하기 전에 게임을 만들었고 SDL을위한 Net 라이브러리를 사용했습니다.

캔버스 기반 환경에서이를 수행하기위한 가장 좋은 옵션은 무엇입니까?

현재 AJAX / 데이터베이스 솔루션 (새로 고침 빈도가 높음) 또는 소켓을 통해 데이터를 퍼널하는 PHP 서버를 구현하는 방법 만 있으면됩니다.


전체 게임 플레이는 2.5D 플랫 포머 같은 게임 유형이므로 두 클라이언트 모두 플레이어 위치, 적 위치, 발사체, 환경 데이터 등으로 지속적으로 업데이트해야합니다.


1
websockets ( en.wikipedia.org/wiki/WebSockets )가 마무리되고 (그리고 구현되는 등) 아마도 좋은 방법 일 것입니다. 그때까지 AJAX (X가 없으면 XML이 필요하지 않음)가 가장 좋은 방법이라고 생각합니다. (아직도 좋은 방법은 아닙니다).
Elva

웹 소켓을 지원하는 것 같습니다.
the_e

스탠드 나 게임을 만들고 싶습니까? 게임을 만들고 싶다면; html5를 귀찮게하지 마십시오.

@ 스테판 : 왜 둘 다? 그것이 아직 확정되지 않았다고해서 내가 그것을 사용할 수 없다는 것을 의미하지는 않습니다!
the_e

답변:


12

Socket.IO 는 웹 소켓, 플래시, 혜성 기술을 포함하여 여러 다른 레이어 위에 구축 된 시스템을 제공합니다.

Node.js 는 서버 측에서 실행하는 옵션 중 하나입니다.


5

이 답변을 참조하십시오 :

그러나 가능한 경우 Flash를 사용하여 WebSocket을 널리 사용할 수있을 때까지 스크립트에 대체를 제공 할 수 있습니다. Gimite의 web-socket-js 는 그러한 무료 예입니다. 그러나 Flash 소켓과 동일한 제한 사항이 적용됩니다. 즉, 서버가 소켓 포트에 대한 요청에 따라 도메인 간 정책을 내놓을 수 있어야하며 프록시 / 방화벽에 문제가있는 경우가 많습니다. (플래시 소켓은 직접 만들어집니다. 직접적인 공개 IP 액세스 권한이없는 사람은 HTTP 프록시를 통해서만 네트워크에서 벗어날 수 있습니다. 작동하지 않습니다.)


3

혜성 ”은 아마도 여기서 사용할 수있는 포괄적 인 용어 일 것입니다. WebSockets는 더 바람직한 옵션이 될 것입니다 (안전하다고 생각할 때).


3

Node.js가 답입니다. 실시간 멀티 플레이어 슈팅 게임을 개발하는 데 사용했으며 처음부터 끝까지 약 1 개월이 걸렸습니다. 대기 시간을 최소화해야하는 몇 가지 고유 한 문제가 있었으며, 모든 플레이어는 개념이 작동하려면 다른 플레이어와 동기화 상태를 유지해야합니다.

클라이언트 측과 서버 측은 모두 자바 스크립트로 작성되며 서로 클래스 / 논리를 공유합니다. 모든 것을 두 번 구현할 필요가 없으므로 버그를 수정하려고 할 때 계산이 시작됩니다.

게임은 다시 시작하지 않고 약 2 개월 동안 가동되었으며 수천 번의 경기가 진행되었습니다.

Socket.io는 소켓의 구현이며 node.js를 사용하지만이 시점에서 게임에는 너무 부풀어 있습니다. node.js에 대한 github에는 다른 웹 소켓 구현이 있으며이를 사용하는 게임의 예도 있습니다.


2

항상 AJAX와 일종의 메시지 대기열을 사용할 수 있습니다. ActiveMQ 가 좋은 예입니다. 서버에서 ActiveMQ를 실행하면 JavaScript가 메시지를 보내고받을 수 있습니다. 각 플레이어의 이름을 고유하게하고 다른 플레이어에게 메시지를 보내십시오.




2

우리는 당신이 흥미로울 수있는 멀티 플레이어 플랫폼을 개발하고 있습니다. www.16cubes.com 에서 프로젝트를 볼 수 있습니다. 우리는 피어 투 피어 통신을위한 간단한 자바 스크립트 레이어를 제공하고 있습니다. 이것은 Comet 원칙에 기반을두고 있으며 좀 더 표준화 된 웹 소켓을 사용할 계획입니다. 다른 한편으로, 우리는 자동 상대 매칭, 게임 채팅, 페이스 북 친구 한 번의 클릭 초대 등 선반에서 몇 가지 기능을 제공하고 있습니다.

우리는 데모 틱택 토를 가지고 있습니다. 보시면 더 나은 아이디어를 얻을 수 있습니다. 그리고 네, 익명으로도 놀 수 있습니다. 원하지 않으면 등록이 필요하지 않습니다. 코딩해야하는 자바 스크립트 API는 10 개 미만이며 www.16cubes.com/documentation 에서 확인할 수 있습니다.

우리는 적극적으로 피드백을 찾고 있습니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.