Game AI

게임 AI의 모델

tsyang 2021. 5. 24. 23:07

모델

게임 AI의 모델은 여러 가지가 있다. 아래 그림은 그 중 한 가지 예이다. 이 모델에서는 AI의 작업을 세 가지로 나눈다.

  1. 이동
  2. 의사결정
  3. 전략

그러나 모든 AI가 위 세가지 요소를 사용하는 것은 아니다. 예를 들어, 체스와 같은 경우는 오직 전략만 사용한다. 반면에, 슈퍼 마리오 의 AI같은 경우에 전략은 없다.

 

 


이동

이동 알고리즘은 단순히 특정 위치로 이동하는 것이 아니라 장애물이나 방(통로)과 같은 공간을 이동하는 행위도 포함된다.

 

의사 결정(Decision making)

의사 결정은 캐릭터가 다음에 뭘 할지를 정하는 행위이다. 공격, 가만히 있기, 순찰, 탐험, 숨기 등등이 모두 포함된다. 몇몇 결정은 이동 AI가 필요한데, 예를 들어 근접 공격을 하는 경우 공격 대상에게 이동을 먼저 해야 하기 때문이다. 

 

전략

이동 AI와 의사결정 AI만 가지고도 많은 것을 할 수 있다. 그러나 만약 여러 캐릭터들이 협동하는 경우 전략 AI가 필요하다. 예를 들어, 하프라이프 같은 게임에서는 적들이 플레이어를 포위하는 전략을 사용한다.


Execution Management

AI 알고리즘은 기반 시스템이 필요하다. 예를 들어 이동을 하기 위해서는 애니메이션이나 물리 시뮬레이션 같은 것들이 필요하다. 의사 결정을 하기 위해서는 주변을 인지할 수 있는 감각 기관 같은게 필요하다.

또한 AI가 사용할 연산 시간과 메모리를 적절히 관리하기 위한 시스템도 필요하다. 


Agent-based AI

agent-based AI는 게임 환경으로부터 정보를 얻고, 의사 결정을 하고, 행동하는 캐릭터를 만든다. 보통 bottom-up 방식으로 설계된다. 개발자는 보통 AI 캐릭터를 만들고, 나중에 이것들이 같이 일하도록 한다. 위 그림에서 AI요소 중 '이동' 과 '의사 결정'을 사용한다.

 

non-agent-based AI는 게임 환경의 모든 것들을 시뮬레이션 하는 시스템을 제작한다. top-down 방식이다. GTA시리즈에서 보행자나 교통등을 관리하는 AI가 그 예이다. 

 

이 둘을 적절히 사용해야 한다. 

 

 

 

참고 : Ian Millington, AI for GAMES 3rd edition, CRC press, [10~14p]

'Game AI' 카테고리의 다른 글

Game AI - Steering Behaviors (3)  (1) 2021.10.03
Game AI - Steering Behaviors (2)  (1) 2021.08.07
Game AI - Steering Behaviors (1)  (4) 2021.06.19
Game AI - Kinematic movement alogrithms  (2) 2021.06.13
게임 AI의 구현  (2) 2021.05.31