저는 asp.net에서 작은 브라우저 기반 게임을 개발 중입니다. 플레이어 22 명과 플레이어가 버튼을 클릭하여 방에 들어간 게임 룸을 생각해보십시오. (방에있는 플레이어의 수를 데이터베이스에 저장하고 있습니다.) 방에있는 플레이어의 수가 22 명일 때 메서드를 호출해야합니다. 문제는 방에있는 플레이어의 수를 제어하는 방법을 모른다는 것입니다. 나는 서버에서 항상 실행해야하는 배경 코드가 필요하고 코드가 숫자를 제어하고 함수를 호출해야한다고 생각한다. 그것은 나의 첫 번째 웹 프로젝트 (학교 프로젝트)이고 모두가 나를 도울 수 있기를 바랍니다.브라우저 기반 온라인 게임 질문
답변
방에있는 플레이어의 수를 최종 사용자에게 보여 주시겠습니까? AJAX를 사용하여 플레이어의 수를 온라인으로 반환하는 서버의 파일을 쿼리하여 <div>
등을 업데이트 할 수 있습니다. jQuery는 클라이언트 측 코드를 단순화하는 데 도움이 될 수 있습니다.
사용자가 방에 들어가려고 할 때 매우 높은 수준에서 방이 이미 가득 차 있는지 확인해야합니다.
아직 누가 방에 있는지 묻는 질문에 대답하기 시작하면 복잡해집니다. 한 사람이 방에서 떨어질 수있는 모든 사례를 이미 알고 있습니까?
ummm ... 방에 들어가는 사용자는 방에서 나갈 수 없습니다. 그가 방에 합류 할 때 그는 방에서 빠져 나가는 것이 너무 중요하지 않지만 너무 어쨌든 = 감사합니다.) 방의 플레이어 수가 최대인지 아닌지 확인합니다. – Emre
아마도 사용자가 방에 들어가거나 퇴실 할 때마다 웹 메소드를 호출 할 것입니다. 맞습니까? 따라서 방의 사용자 수를 업데이트하면됩니다 (적절한 잠금을 설정했는지 확인하십시오). 22 일 경우 원하는 코드를 호출하십시오 (서버에 이미 있으므로). 또한 사용자가 정기적으로 서버를 핑 (ping)하여 서버가 여전히 활성 상태임을 알려야하므로 연결이 끊어 지거나 다른 것이 있으면 방에서 제거 할 수 있습니다.
나를 위해 가장 분명하게 드러나는 사실은 게임을 현재 게임과 인라인으로 만드는 것입니다.
서버 (asp.net)와 클라이언트 (silverlight/flash)가 있어야합니다.
응용 프로그램 상태 또는 세션 상태 개체에 저장하여 진행 상황을 관리 할 수 있습니다.
데이터베이스 (SQL 서버 어쩌면)를 사용하여 세션간에 플레이어 진행 상황을 추적 할 수 있습니다. 당신은 애플리케이션 라이프 사이클 같은 것들에주의해야합니다
... http://msdn.microsoft.com/en-us/library/ms178473.aspx
나는 당신이 당신의 서버 기반의 요구 사항 중 하나 ASHX (웹 핸들러) 또는 WCF를 사용하는 것이 좋습니다 것입니다.
클라이언트에서 (여전히 C#을 사용할 수 있기 때문에 Silverlight를 사용한다고 가정) 서버에 연결하여 데이터를 요청할 수 있습니다.
이렇게하면 멀티 플레이어 게임이 온라인에서 작동하는 방식을 시각화하는 데 도움이됩니다.
위에서 제안한 바와 같이 AJAX는 사용자의 요구에 잘 작동하며, 일반적으로 AJAX 요청은 가볍지 만 클라이언트가 각 플레이어에게 효과적으로 제공되므로 전체 해킹을 할 수 있습니다.
이것은 간단한 학교 프로젝트이기 때문에 나는 괜찮을 것이라고 확신하지만.
내 대답에 대한 기타 : global.asax에서 "세션 시작"이벤트를 사용하여 카운터에 추가 할 것을 제안합니다. 응용 프로그램 [ "UserCount"] = 응용 프로그램 [ "UserCount"] ++; 그러면 세션이 끝날 때 반대 방향으로 ... 응용 [ "UserCount"] = 응용 [ "UserCount"] -; 페이지로드 이벤트에서 ... this.Controls.Add (새 LiteralControl ("사용자 개수 :"+ 응용 프로그램 [ "UserCount"]. ToString())); 시작하기 전에 더 많은 기능을 추가하여 복잡하게 만들 수 있습니다. – War
- 1. 실시간 브라우저 기반 게임
- 2. 텍스트 기반 브라우저 게임
- 3. 온라인 게임 베스트 프랙티스
- 4. 브라우저 기반 게임 - 선택할 프레임 워크는 무엇입니까?
- 5. Java에서 LWJGL을 사용하는 브라우저 기반 3D 게임
- 6. iPhone 타일 기반 게임 보드 질문
- 7. .net 기술을 사용하는 온라인 게임
- 8. 브라우저 기반 온라인 게임을위한 플랫폼으로 Ruby on Rails 선택
- 9. Android 온라인 게임 도움말/자습서
- 10. 네트워크 대기 시간 개선 - 온라인 게임 사이트
- 11. Python + Django 및 클라이언트 브라우저 폴링에서의 웹 기반 게임
- 12. 실시간 브라우저 게임 서버
- 13. 타일 기반 게임 이론
- 14. Android 온라인 데이터베이스 질문
- 15. AJAX 또는 RPC를 통한 온라인 게임 상태 동기화
- 16. asp.net WebForm 또는 MVC 브라우저 게임
- 17. OO 게임 디자인 질문
- 18. 게임 센터 LEADERboard 질문
- 19. XNA 게임 배포 질문
- 20. 기본 게임 DrawEngine 질문
- 21. 자바 2D 게임 질문
- 22. 멀티 플레이어 브라우저 게임 [Java]
- 23. Facebook, 브라우저, iPhone, Android 게임?
- 24. 브라우저 기반 WebDAV 클라이언트?
- 25. 브라우저 기반 (무료) SSH
- 26. 브라우저 기반 모바일 알림
- 27. 턴 기반 웹 게임 구현
- 28. 턴 기반 전략 게임 기술
- 29. 2d지도 기반 타일 게임 엔진
- 30. XNA 리듬 (음악) 기반 게임
AJAX '타이머'컨트롤이 여기에 적합 할 수 있습니다. 아마'UpdatePanel'도 사용하십시오. – Brian
실제로 방에있는 플레이어의 수를 최종 사용자에게 보여줄 수 있습니다. 내가하고 싶은 일은 방안에있는 사람들의 숫자가 22 일 때입니다. matchStart()와 같은 함수 (또는 메서드)를 호출하고 싶습니다.그리고이 기능은 2 개 팀 (11x2 명)을 생성하고이 2 개 팀에 선수를 배치하는 식으로 진행됩니다. 그래서 제가하고 싶은 것은 고객 측의 행동이 아닙니다. 최종 사용자에게는 아무 것도 보여줄 필요가 없습니다. 나는 당신이 이번에 바로 얻길 바란다. 나는 그것이 너무 복잡하다고 설명하지만 나는 그것을 쉬운 방법으로 설명하는 방법을 모른다. – Emre
그러나 사용자가 서버 쪽 플레이어 수를 확인해야 할 때 : 사용자가 게임에 입장 할 때를 알 수 있습니다. 모든 사람은 서버의 중앙 기능을 거쳐 현재 번호를 확인한 다음 matchStart() 함수를 호출합니다. html 모델 때문에 최종 사용자에게 메시지를받는 것이 더 까다로운 일일 수 있습니다. – Blindy