실시간 전략 게임에서의 네트워킹


10

네트워크 실시간 전략 게임에 대한 최신 기술은 무엇입니까?

몇 년 전, 일부 AAA 타이틀은 플레이어 입력 (Starcraft 1, Age of Empires) 만 전송했다고 기억합니다. 이것은 당신이 다른 모든 것을 완전히 결정 론적으로 유지하도록 요구하기 때문에, 이것은 여전히 ​​실행 가능한 옵션입니까? 난수 생성기 동기화가 가능해 보이지만 FPU 구현 등의 미묘한 차이점은 무엇입니까?

또는 전략 게임이 액션 게임 네트워킹에 더 가까운 것을 사용하고 있습니까? 개별 엔티티가 대신 전송됩니다 (일부 형태의 예측 및 델타 압축).

그렇다면 발사체와 같은 휘발성 품목은 어떻게 처리됩니까?

클라이언트 / 서버 대 피어 투 피어는 어떻습니까? 이 모든 것이 서로 밀접하게 관련되어 있다고 생각합니다.

시간 내 주셔서 감사합니다!


RTS 게임 프로토콜의 복제 -예, 여전히 그렇습니다. 다른 FPU 구현에 대해서는 herehere을 참조 하십시오 .
BlueRaja-대니 Pflughoeft

답변:


5

http://www.gamasutra.com/view/feature/3094/1500_archers_on_a_288_network_.php 여전히 RTS 게임에서 네트워킹이 수행되는 방식입니다. P2P는 연결을 처리하는 일반적인 방법이기도합니다. 그러나 잠금 타임 스텝 모델을 사용하면 비 동기화 및 부정 행위 처리가 번거 롭습니다. 비동기 화가 발생했을 때 복구하는 좋은 방법이 있으며 모든 RTS 게임은 단순히 "경기 종료"라고 말합니다. 버그 추적 비동기 오류도 악몽입니다.


1
잠긴 타임 스텝 네트워크 게임에 관한 또 다른 좋은 기사 : altdevblogaday.com/2011/07/09/…
tenpn


1

이것은 대단한 읽기이며 많은 질문에 대답 할 것입니다.

http://udn.epicgames.com/Three/NetworkingOverview.html

내 전략 / 타워 방어 게임에서 클라이언트 / 서버 모델을 사용하고 있으며 지금까지 모든 것을 결정 론적으로 유지할 수 있습니다. 클라이언트는 서버 요청을 보내서 작업을 수행하지만 실제로 아무것도 하지 않습니다 . 서버는 상황이 변경 될 때 클라이언트에 업데이트, 생성 및 삭제를 보냅니다. 내 게임이 현재 결정 론적이지만 클라이언트가 올바른 일을한다고 절대 신뢰하지 않으며 서버는 보스이며 게임을 완전히 제어 할 수 있습니다. 클라이언트는 단순한 터미널입니다.

모든 것을 정말 간단하게 만들기 위해 Reflection과 Eventing을 함께 사용하여 네트워크 측면에서 엔티티를 완전히 어둡게 유지합니다. 또한 액터와 "포스"(Unreal과 같은 FPS의 액터와 폰과는 반대)의 개념을 사용합니다. 이것은 정말로 멋진 캡슐화와 힘의 돈과 물건을 보관할 수있는 장소를 허용합니다.

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