'2024/03/22'에 해당되는 글 1

  1. 2024.03.22 [IT] 게임 AI를 위한 탐색 알고리즘 입문 1

< 게임 AI를 위한 탐색 알고리즘 입문 > | 아오키 지음 | 서수환 옮김 | 한빛미디어

 

요즘 워낙 AI가 대세이다 보니 AI가 들어간 분야에 대해 관심을 가지고 보는 편이다. 처음 이책을 접했을 때는 게임에 AI를 접목한 기술에 대해 설명한다고 생각했다. 게임 AI는 실제 1인 게임을 하면서 많이 접해 본, 컴퓨터를 대상으로 같이 게임하는 것으로 생각하면 편할 것 같다. 물론 AI 기술이 워낙 대중적으로 널리 퍼져있기 때문에 머신러닝 기술이 포함되기도 하지만 넓게 본다면 규칙기반, 탐색 등의 기술적인 요소를 모두 포함한 개념으로 보면 된다. 특히 이 책에서는 탐색에 중점을 두고 설명하고 있기 때문에 일반적으로 생각하는 AI와는 조금 거리감이 있는 것 같다. 이 책에서 언급하는 탐색은 조합론적 게임 이론의 게임 트리 탐색과 조합 최적화를 사용한 휴리스틱을 포함한다. 이 중 조합론적 게임 이론에서는 게임의 진행을 유향 그래프로 표현하고, 게임판을 노드, 선택지를 엣지로 표현한 것을 게임트리로 지칭한다.

이런 개념뿐만 아니라 실제 C++을 이용하여 게임개발을 위한 환경 구축을 사전에 진행할 수 있도록 한다. 이를 위해 WSL을 설치하고 필요한 패키지를 설치하는 과정을 소개함으로 별도 서버를 두지 않더라도 자신의 윈도우즈  시스템에서 테스트해 볼 수 있는 환경을 구성할 수 있다. 이후 본격적으로 탐색 알고리즘을 소개한다. 컨텍스트가 있는 1인 게임에서 사용하는 탐색 알고리즘, 컨텍스트가 없는 1인 게임에서 사용하는 탐색 알고리즘, 교대로 두는 2인 게임에서 사용하는 탐색 알고리즘, 동시에 두는 2인 게임에서 사용하는 탐색 알고리즘, 그리고 여태까지 설명된 알고리즘을 기반으로 좀 더 효율적으로 이를 활용할 수 있는 방법을 소개한다. 마지막으로 실제 게임에 응용하기 위한 방법을 설명한다.

각각의 장마다 다양한 검색 알고리즘과 코드를 설명한다. 어떤 방식의 게임이냐에 따라 사용해야 하는 알고리즘이 조금 달라진다는 것을 알수 있으며, 일부 알고리즘은 여러 게임방식에 활용될 수 있다는 것도 알 수 있게 된다. 또한 단순 게임을 진행하는 방식만 설명하는 것이 아니라 스코어를 매기고 승률 계산을 하는 부분까지 세밀한 부분까지 코드로 보여준다. 따라서 게임 개발에 관심이 있다면 다양하게 제시된 코드와 개념을 활용할 수 있지 않을까 생각된다. 물론 아주 복잡한 게임을 소개하는 것은 아니기 때문에 대중적인 게임을 만들만큼의 개념을 제시하지는 않지만 책 제목처럼 입문이라고 생각한다면 게임 개발의 출발점으로 삼기에는 큰 무리가 없는 것 같다.


"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

이전 1 다음