2016-09-17 2 views
3

저는 온라인 게임을 개발했습니다. 슬프게도 게임 프로세스의 일부를 자동화하기 위해 Razer Synapse와 같은 프로그램을 사용하여 기록 된 키보드 매크로를 사용하는 사람들이 있습니다.키보드 매크로가 프로그램에서 실행되는 것을 방지하는 방법이 있습니까?

이것은 허용하지 않으려는 것입니다.

내 질문은 C++에서 매크로가 입력을 수행하는 데 사용되는지 또는 트리거 된 가장 최근의 키 클릭이 사람 입력 또는 프로그래밍 된 입력에 의해 트리거되었는지를 확인하는 방법이 있습니까?

첫 번째 추측은 아니오 ...하지만 잘못 될 수 있습니다.

+3

당신이 추측 할 수있는 것은 인간의 최대 타이핑 속도입니다. 다른 것은 기계입니다. 반면 해커는 영리하고 채택합니다. –

+0

@ DieterLücking 네,하지만이 경우 ... 그들은 동일한 속도로 사용자 입력을 기록하는 기록 된 매크로를 사용하고 있습니다 ... 나는 각 플레이어의 입력 시간을 추적 할 수 있다고 생각합니다 ... 그러나 플레이어 및 금액의 양 이 유형의 입력을 사용하는 횟수는 너무 많을 것입니다 ... – Ricky

+1

아이디어는 퍼지 신뢰할 수없는 입력 (예 : 무기의 일부 임의의 실패)을 게임의 일부로 만들 수 있습니다 (즐겁지 만) –

답변

4

제어하지 않는 클라이언트에서 자동화를 방지 할 수 없습니다. 알고리즘 연구는 수 백년 전부터 시작되었으며, 컴퓨터는 자동화 장치로 처음부터 사용되었습니다. 누군가 당신의 도전에 부딪 혔기 때문에 어떤 참신함이 생기더라도 쉽게 패배 할 것입니다. 그렇다고해서 위의 설명에서 제시 한 입력 속도와 같이 봇에 큰 이점이 주어지지 않도록하는 솔루션을 피해야한다고 말하는 것은 아닙니다. 그러나 자동화를 완전히 중지하기를 희망하는 경우 끝없이 가파른 언덕을 오르고 있습니다.

아마도 과장된 자동화가 게임 역학의 일부 측면이 잘 지루한 것으로 보여지는지를 나타내는 지표인지 고려해야합니다. 우리는 게임에 계속 참여하기를 원하는 충분한 자극을 플레이어에게 제공하기 위해 노력해야합니다.

+0

"우리는 게임에 참여하기를 원하는 충분한 자극을 플레이어에게 제공해야합니다." 일부 선수는 진행을 위해 일하기를 원하지 않으며 로봇이 어떻게 종사하고 있더라도 봇이 더러운 작업을하도록합니다. –

+2

@GillBates 게임을하기 위해 봇을 프로그래밍하는 것은 그 자체로 유효한 취미 다 ;-) 물론, 봇이 인간을 볼 때 또는 어떤 플레이어가 다른 플레이어보다 불공평 한 이점을 얻도록 허용한다면 문제가된다. 봇 계정은 인간 계정에 속합니다.그러나 이것은이 질문에 해당하지 않는 것처럼 보입니다. 질문은 키보드 매크로에 관한 것입니다. 키보드 매크로는 플레이어가 게임과 더 잘 상호 작용할 수있는 도구 일뿐입니다. 그리고 그것은 게임 사용자 인터페이스가 너무 낮은 수준/반복적/지루하다는 사실에 대한 신호입니다. – cmaster

관련 문제