멀티 플레이어 게임 아키텍처를 읽고 있습니다.
지금까지 찾은 대부분의 기사는 클라이언트-서버 모델을 다루고 있습니다.
p2p 아키텍처 사용에 대한 제한 사항이 무엇인지 알고 싶습니다. 어떤 "클래스"게임을 사용하여 구현할 수 있습니까? 아닌가? 일반적으로 클라이언트-서버 모델에 대한 주요 차이점과 제한 사항은 무엇입니까?
멀티 플레이어 게임 아키텍처를 읽고 있습니다.
지금까지 찾은 대부분의 기사는 클라이언트-서버 모델을 다루고 있습니다.
p2p 아키텍처 사용에 대한 제한 사항이 무엇인지 알고 싶습니다. 어떤 "클래스"게임을 사용하여 구현할 수 있습니까? 아닌가? 일반적으로 클라이언트-서버 모델에 대한 주요 차이점과 제한 사항은 무엇입니까?
답변:
여기 내 두 센트가 있습니다 :
P2P :
서버 클라이언트 :
평균 인터넷 연결이 점점 좋아지고 있기 때문에 P2P를 선택하는 것이 좋습니다. 향후 P2P 대기 시간은 전혀 문제가되지 않을 수 있습니다. 또한 P2P에 대한 많은 부분은 특정 구현에 따라 다릅니다.
P2P와 서버 클라이언트를 결합한 아키텍처도 있습니다.
피어 투 피어 게임의 큰 위험은 중립 서버 형태의 중앙 권한이 없으면 부정 행위를 막을 방법이 없다는 것입니다. 각 클라이언트는 원하는 게임 결과를 해석 할 수 있습니다. 일부 게임은 클라이언트 중 하나를 호스트로 선언하고 그를 판사로 지정하지만 해당 클라이언트가 사기꾼 일 경우 전체 게임의 결과를 결정합니다.
플레이어의 빠른 반응이 필요한 게임과 같이 낮은 대기 시간과 높은 대역폭이 필요한 게임의 경우 호스트가 고성능 백본이있는 데이터 센터에 앉아 있지 않고 소비자 급 인터넷 연결을 사용하고 있다는 문제도 있습니다. 연결. 즉, 사용자 경험이 어려움을 겪습니다. 보다 전략적인 "느린"게임에서는 큰 문제가되지 않습니다.
P2P 멀티 플레이어 게임을 구현하는 것은 쉽지 않으며 현재 적용 할 수 없습니다.
문제는 각 피어에 대해 다른 피어를 아는 사람이 없으므로 각 메시지에 대해 여러 번의 홉을 가지므로 클라이언트 서버 모델에 비해 대기 시간이 길다는 것입니다. 자세한 내용은 이 백서를 참조 하십시오.
라운드 기반 게임은 지연 시간에 크게 의존하지 않기 때문에 이러한 프로토콜을 쉽게 사용할 수 있습니다. 또한 세션에 호스트가 거의 없으므로 모든 메시지를 다른 모든 플레이어에게 브로드 캐스트 할 수 있습니다.
피어 투 피어를 사용하는 다른 게임은 Peer 중 하나를 동적으로 선택하여 게임을 호스팅합니다 (예 : CoD MW2). 호스트 연결이 끊어지면 호스트 마이그레이션과 같은 문제가 발생합니다.