격투게임을 학습시키는 중인데
에이전트끼리 서로 2.5이하의 거리를 유지하면 프레임마다 0.00001씩 보상을 받도록 했습니다. 2.5이상 거리를 벌리면 반대로 처벌을 받구요
그러면 2.5이하의 거리를 유지하면서 서로 지속해서 싸울거라고 판단해서요
데미지를 입히면 그 수치만큼 보상을 받고 승리하면 승리 보상을 또 받습니다.
맨 처음에는 서로 치고박고 잘 싸웟습니다.
기가 막힌 거리 유지를 보여주면서요 근데 어느정도 학습을 진행하고 나니 이새끼들이 꼼수를 부리더군요;
넘어지면 앞뒤로 입력이 발생해야 일어나도록 했습니다
넘어진 상태에서는 히트박스를 비활성화 시켰구요
그랫더니 한놈이 넘어지더니 안일어납니다;;;
승리를 하기 위해서는 싸워야 하는데 그 과정에서 패배할 수도 있고 상대방의 공격을 통해 공격을 맞고 실시간으로 처벌을 받을 수 있으니까
그냥 가만히 누워서 거리만 유지해서 서로 0.00001보상만 받게다는 겁니다.
-없이 +만 있으니까 손해를 최소화하는 방법인거죠
서있는 다른놈도 2.5이하 거리를 유지하면서 가만히 있거나 허공에 주먹질만 합니다.
그래서 제가 직접 조종해봤습니다
거리를 2.5이상 벌리니 한 2~3초 뒤에 다시 일어나서 접근하더군요;;
가장 빠르고 리치가 긴 하단 짠발만 하면서 거리를 좁혀 오는데
저러면 먼저 한두대 때릴 수 있는 확률이 올라가고 그 상태로 만약 넘어지게 되면 체력적 우위를 가진채 보상을 받을 수 있게 되니 저런짓만 하던;;
위에 이미지를 보면 저 뒤편에 저 두놈들은 붙어 있는채 가만히 있습니다.
진짜 영악하네요 이새키들;;