멀티 플레이어 게임에서 스텔스를 구현하는 것에 대해 생각했습니다. MOBA 스타일의 게임이므로 리그 오브 레전드 (LoL)와 히어로즈 오브 더 스톰 (HotS)을 생각해보십시오. 여러 클라이언트가 단일 서버에 연결되어 모든 클라이언트에게 게임 상태를 브로드 캐스트합니다. 클라이언트는 입력 데이터를 서버로 전송하여 유효하지 않은 명령이 발생하면이를 거부하여 부정 행위를 불가능하게 할 수 있습니다 (이론상).
자,이 게임들은 스텔스를 다르게 구현했기 때문에 의도적으로 언급했습니다. LoL에는 두 가지 가능한 상태가 있습니다. 완전히 표시되거나 완전히 보이지 않습니다. 반면에 HotS는 공중에서 쉬머가 알 수있는 방식으로 스텔스를 구현합니다.
주변 환경에주의를 기울여 보상 / 홍보하는 것이기 때문에 이것은 깔끔한 기계공이라고 생각합니다. 그러나 이것은 멀티 플레이어 게임이기 때문에 쉽게 악용 될 수 있음을 깨달았습니다.
'LoL'방식으로 스텔스를 구현할 때 다른 클라이언트에게 플레이어 좌표 전송을 중지 할 수 있습니다. 플레이어의 캐릭터가 스텔스를 깨면 서버는 해당 위치를 다시 브로드 캐스트 할 수 있습니다. 그러나 HotS 모델을 사용하면 캐릭터가 움직이는 공중에서 쉬머를 볼 수 있습니다. 이것은 서버가 플레이어의 위치를 다른 클라이언트에게 보내야 함을 의미합니다. 즉, 텍스처 나 모델을 변경하거나 게임 코드 자체를 변경하는 플레이어는 망토를 쓸모 없게 만들 수 있습니다. 여기 HotS 보드 의 스레드 가 있습니다.
내 질문은 교활한 플레이어가 게임 (데이터)을 수정하고 시스템을 이길 수있는 문제없이 클로킹 ( '쉬머', la HotS 사용)을 구현할 수 있는 방법 이 있는지 여부 입니다. 이것이 가능합니까, 그렇지 않은 경우,이 메커니즘을 가진 다른 멀티 플레이어 게임은 이것을 어떻게 처리합니까? LoL 스타일의 보이지 않는 부분 만 취소 할 수 있습니까?
나는 서버가 항상 가짜 '클로킹'위치를 보내는 것에 대해 생각했지만, 이것은주의를 기울이는 공정한 플레이어에게도 해를 끼치 지 않습니다.