aul020***
2024-03-24

게임 AI에 빠질 수 없는 탐색 알고리즘의 이론부터 실전 게임 적용까지 실전 AI 게임 구현을 위한 C++ 기반 예제 코드 제공
한빛미디어 <나는 리뷰어다> 활동을 위해 책을 제공받아 작성한 서평입니다.
저자의 말에 따르면, 게임 AI 기술 요소는 규칙, 탐색, 머신러닝 으로 분류할 수 있다고 한다.
이 책은 그 중 탐색 알고리즘을 다룬다.
책의 예제는 대부분 C++로 작성되어있는데, 개발 환경을 Windows 11에서 WSL로 Ubuntu 20.04로 구축하는 점이 좀 특이한 것 같다.
실제 게임 개발자들이 어떤 시스템 환경에서 개발하는지는 전혀 아는게 없지만, Windows에서 바로 Visual Studio 등으로 C++ 프로그래밍을 하거나, 바로 우분투에서 실행해도 될 텐데 굳이 WSL을 써야하나 싶다.
딥러닝/머신러닝 쪽 개발할때 리눅스를 많이 쓰니까 우분투를 선택했지만 윈도우 유저가 많을거라 예상해서인가?
이렇게 개발환경을 복잡하게 해놨으면, Visual Studio Code에서 WSL 환경 접속하는 법까지 있었으면 좋았을 것 같다.
책에서 가르쳐준 정보만이면 터미널 켜서 g++로 컴파일하고, 예제 소스파일은 터미널로 일일이 확인하거나, 윈도우 파일탐색기로 WSL 디렉토리 들어가서 별도의 프로그램으로 읽고 수정해야하는데, 도대체 저자분은 집필할 때 어떻게 작업환경을 구성했는지 궁금하다.
맺음말 보니 처음 집필한 분이라 그러신걸까.
책의 구성은 상황에 따라 적용가능한 탐색 알고리즘을 소개한다.
컨텍스트의 유무, 플레이어가 1/2명인지, 2명이면 교대로 둘지, 동시에 둘지.
각 장의 주제에 맞게 숫자모으기 미로 게임을 변형하여 설명하며, 그리디, 어닐링, 몬테카를로 등 강화학습을 공부하다보면 자주 보이는 알고리즘들도 다룬다.
작년 수업시간에 C++ 배워두고, 안쓰고 있다가 최근 이산구조 과제 때문에 기억을 더듬어가며 가까스로 복구해냈는데, 이 책 예제를 따라해보면서 다음학기 알고리즘 과목 공부하면 당연히 도움이 되지 않을까.
근데 이 책에서 다루는 내용으로 과연 정말 재밌는 게임을 만들 수 있을지는 모르겠다. 예제가 거의 미로게임의 변형이라, 독자가 미로게임 개발 전문가가 되기를 바라진 않았을테지만, 조금 더 다양한 게임을 예제로 만들어줬으면 좋았을 것이다
처음부터 끝까지 읽으면서 다 실행시키다보면 지루할 것 같다.
그래도 교수님이 학생들 괴롭히려고 내주신 비트마스크로 상태 확인하는거를 여기서 게임판 해시값 갱신하는 예시로 보니까, 공부해 두면 언젠가 한 번 쯤은 쓸 수 있다는 점이 놀라웠다.