오프라인 및 온라인 학습
플레이어가 게임을 하는 중에도 AI는 학습할 수 있는데, 이런 걸 온라인 학습이라고 부른다. 온라인 학습은 플레이어의 행동에 따라 동적으로 대응이 가능하다는 장점이 있다. 그러나 온라인 학습은 행동의 예측이나 테스트가 어렵다는 단점이 있음. 만약 버그라도 발생했다? 이슈 재현부터 쉽지 않음.
대부분의 게임 AI에서 학습은 오프라인임. 어떤 지형에서 정확한 길찾기나 이동에 관한 정보를 학습한다든지, 물리 엔진을 이용하여 상호작용하는 것을 학습한다든지 할 때 많이 쓰인다.
로딩 중에 학습하는 것도 오프라인이지만 온라인 학습의 단점을 동일하게 지닌다고 보면 됨.
.
행동 내부 학습
intra-behavior learning
학습 중에 가장 간단한 부류로, 캐릭터의 행동 중 작은 부분을 바꾸는 것을 학습함. 이를태면 투사체를 정확히 던지도록 한다던가, 최적의 순찰 경로를 학습한다든가, 맵의 어디에 엄폐해야 하는지를 학습한다든가 하는 것들.
.
행동 간 학습
inter-behavior learning
캐릭터가 무슨 행동을 할지를 학습하는 것. 예를 들면 캐릭터가 적을 죽이기 위해 기습을 한다든지 이런 것. 그러나 이렇게 어떤 행동을 할지를 학습으로 정하는 것이 더 경제적인가? 하는 의문이 있다. 그럼에도 캐릭터의 의사결정에 학습을 활용하는 연구가 꽤 있다.
.
주의사항
학습은 생각만큼 많은 것을 할 수 있지 않음. 게임에서 활용되는 학습에 있어서 가장 문제되는 것은 그 학습의 난이도가 아니라 이슈 재생성과 품질 관리임.
예를 들어, 적 캐릭터가 플레이어의 플레이에 맞게 학습을 했다고 치자. 그런데 QA팀이 적 캐릭터가 이상하게 행동하는 걸 발견했다? 이런 경우 이슈를 재현하는 것 부터 불가능에 가까움.
게임의 학습이 많은 걸 할 수록, 학습의 결과를 통제하는 것이 어려워진다.
이런 문제를 해결할 수 있는 간단한 방법은 어떤 걸 학습할지를 제한하는 것. 이렇게 하다보면 자연스레 학습끼리 모듈화가 될 것임.
오퍼피팅(Over fitting)
학습한 케이스에서만 잘 동작하는 것. 파라미터화가 잘못 됐거나, 하는 일에 비해서 모델이 너무 크거나 (인공 신경망)
개발 가성비
학습은 직접 구현하는 것 보다 개발 가성비가 구릴 수 있음. 따라서 무엇을 학습의 대상으로 삼을지를 매우 신중하게 정해야 한다.
참고 : Ian Millington, AI for GAMES 3rd edition, CRC press, [chapter 7.1]
'Game AI' 카테고리의 다른 글
Learning (3) - 플레이어 행동 예측 (0) | 2023.10.29 |
---|---|
Learning (2) - 파라미터 학습 (0) | 2023.10.22 |
Rule-Based System (3) - Rete (0) | 2023.01.22 |
Rule-Based System (2) (0) | 2023.01.07 |
Rule-Based System (1) (0) | 2022.12.12 |