기본 콘텐츠로 건너뛰기

도서 '게임 AI를 위한 탐색 알고리즘 입문' 리뷰

오늘 리뷰할 책은 한빛미디어의 신간 '게임 AI를 위한 탐색 알고리즘 입문'이다. 알고리즘 이야기가 나오면 당연히 개발자(프로그래머)를 대상으로 하는 책이라고 생각을 하는데, 시스템의 이해와 밸런스 기획을 위해서도 게임 기획자에게도 필요한 지식이 담긴 책이라고 생각한다. 나는 기획자이기 때문에 기획자 입장에서 이 책의 리뷰를 쓴다.


파란색 OX 게임(틱택토)을 배경으로 검은 바탕에 깔끔한 디자인의 표지. C++ 기반의 예제 코드를 제공한다고 쓰여있다. 3장~8장에서 사용하는 예제 코드를 홈페이지를 통해 다운로드할 수 있다. 책의 첫 부분은 예제 코드의 다운로드 경로 안내와 함께 명령어 실행법 등을 간략하게 다루고 있다.


" 게임의 즐거움은 어디에서 오는가? "

게임성을 만드는 데 빠질 수 없는 난이도 조절. 너무 어려워서 포기하게 만들지 않고, 그렇다고 너무 쉬워서 시시하게 느끼지 않도록 적당한 긴장감을 유지할 수 있도록 난이도를 유지하는 역할을 게임의 AI가 담당하고, 그런 게임 AI가 사용하는 방법이 바로 이 책에서 말하는 탐색 알고리즘이다.

"왜 이 게임이 재미있는지" 콘텐츠를 분석하는 것이 주니어 기획자의 영역이라면, '어떻게 재미를 느끼게 할 것인지' 시스템으로 논리적으로 설득할 수 있는 것이 시니어 기획자라고 생각한다. 그런 면에서 기획자도 알아두면 유익한 내용들을 담은 책이라고 할 수 있다.


대전 게임의 AI라고 하면 딥러닝으로 널리 알려진 알파고를 떠올릴 수 있는데, 대전 게임 AI는 머신러닝뿐만 아니라 규칙 기반, 탐색 세 종류 기술 요소를 사용한다고 한다. 이 중 규칙 기반은 사람이 직접 만든 규칙에 따라 조건 분기하는 것을 뜻하며, 이 책은 앞의 세 종류의 기술 요소 중 '탐색'에 중점을 두고 설명하는 책이다.


시작은 OX 게임이라고도 불리는 틱택토 게임의 예를 들어서 게임 트리와 탐색의 기본 개념에 대해 설명한다.


게임의 시작부터 끝까지 모든 수를 포함한 게임 트리를 특별히 '완전 게임 트리'라고 부르며, 완전 게임 트리를 분석한 플레이어는 언제나 최선의 수를 선택할 수 있다. 하지만 게임 트리는 게임의 복잡성에 따라 지수 함수적으로 커지기 때문에 대부분의 게임을 완전 트리를 분석하는 건 현실적이지 않다. 그렇기 때문에 게임의 일부만 게임 트리로 표현하고, 한정된 자원으로 우선순위를 정하고 고심해서 좋은 답을 찾는데, 이 기법을 통틀어 '게임 트리 탐색'이라고 부르고 이 책은 대부분 이 '게임 트리 탐색'을 설명한다.

틱택토 같은 게임은 단순하기 때문에 완전 게임 트리가 크게 복잡하지 않고, 그렇다 보니 선공과 후공에 따른 필승 전법이 이미 적나라하게 알려져 있다. 라프코스터의 재미이론에서도 언급하듯 몇 번 플레이를 해보고 나면 이런 평이한 난이도의 게임은 더 이상 사용자에게 즐거움을 주지 못하고 플레이가 계속되지 못한다. 그래서 레벨과 밸런스의 영역은 기획자에게도 어려운 영역이다. 그 적절한 줄타기를 수와 이론적으로 해내야 하고 잘되면 평타인데 못하면 개망이거든.


이 책은 컨텍스트가 있는 1인 게임, 컨텍스트가 없는 1인 게임, 교대로 두는 2인 게임, 동시에 두는 2인 게임. 총 네 종류로 게임을 분류하고 설명한다. 여기서 신입이라면 컨텍스트라는 단어가 다소 생소할 수 있는데, '플레이어의 행동에 따라 상황이 변화하는 것'을 컨텍스트가 있다고 한다. UI/UX 기획자에게 '컨텍스트'란 매우 밀접한 조건이며, 게임 기획자에게도 아주 중요하고 필요한 개념이다.

'컨텍스트'에 대한 이해와 지식이 있는 게임 기획자는 '시스템'에 대한 이해와 지식이 있는 게임 기획자처럼 같은 업무를 할 때 경쟁력을 가질 수 있다. 특히 사용자의 자유도를 어디까지 허용할 것인지, 자유도가 없음에도 유저가 자유도가 있다고 느낄 수 있는 콘텐츠와 시스템을 기획할 때 도움이 된다.


기획자가 왜 탐색을 배워야 할까. 개인 게임 개발을 한다면 서버 구축이나 온라인 실시간 대전 게임을 개발하기는 쉽지 않은데, AI 대결 상대를 만들어 클라이언트만으로 대전 게임을 개발할 수 있다. 뭐 개인 게임 개발을 넘어서 회사에서도 항상 풀 리소스를 투입해서 개발을 할 수 있는 상황이 있는 건 아니기 때문에 활용할 수 있는 플랜을 더 많이 알고 있다면 실무에 더욱 효율적일 수밖에 없다.


책에서는 순서대로 컨텍스트가 있는 1인 게임에서 사용하고 싶은 탐색 알고리즘과 컨텍스트가 없는 1인 게임에서 사용하고 싶은 탐색 알고리즘을 다루고 각 장에서 다양한 탐색 기법을 소개하고 구현 방법을 알려준다. 예제 코드가 제공되기 때문에 어렵지 않게 따라 할 수 있다. (신입 기획자가 보기에는 어렵다. 프로그래머가 보기엔 쉬움.)


그리고 바둑같이 교대로 두는 2인 게임에서 사용하고 싶은 탐색 알고리즘을 다루며 탐색 기법을 소개하고 구현 방법을 알려준다. 조금 아쉬운 점은 이 책의 대상 독자가 '알고리즘에 흥미가 있으신 분'부터 시작해서 '대결 게임을 개발하고 싶지만 CPU를 만드는 방법을 모르시는 분'까지로 시작부터 어느 정도 베이스 지식이 있어야 이해하고 볼 수 있는 책이기 때문인지, 교대로 두는 2인 게임이라고 하면서도 그게 무엇인지 대체적인 예시 이미지 하나 없다는 점이 좀 아쉽다. 그랬다면 기획자들도 좀 더 흥미를 가지고 볼 수 있는 책이 되지 않았을까 하는 아쉬움이 남는다.

교대로 두는 2인 게임의 탐색 알고리즘 다음으로는 동시에 두는 2인 게임의 탐색 알고리즘을 다룬다. 순서가 교대로 돌아온다면 상대방 행동을 확인하고 나서 자신의 행동을 검토할 수 있는데, 상대방과 자신이 동시에 두는 상황이라면 무엇을 고려해야 할까? 그런 면에서 이 책은 기획자에게도 다양한 상황에 대한 시뮬레이션을 돌릴 수 있어서 좋은 책인 것 같다.


둘이서 동시에 두는 탐색 알고리즘을 판 다음에는 더 좋은 탐색을 하는 기법들에 대해 다룬다. 평가 함수 설계나 다양성 확보 방침 등을 여기에서 배울 수 있다. 그리고 마지막 8장에서 실제로 존재하는 게임에 탐색 알고리즘을 적용해서 AI를 강화하는 방법을 실습한다. 8장까지는 안 간다고 해도 기획자 입장에서 대단히 유익한 책이었고, 쫀득한 퍼즐 게임의 밸런스를 만들고 싶은 기획자라면 이 책을 한 번 읽어보기를 추천하고 싶다.

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

#한빛미디어 #게임AI를위한탐색알고리즘입문 #게임AI알고리즘 #게임탐색알고리즘

댓글

이 블로그의 인기 게시물

샷시문, 유리문, 현관문 방화문으로 교체비용, 방화문으로 바꾸는 가격

샷시문 방화문으로 교체. 유리문 방화문으로 교체. 현관문 철문 교체. 현관문 철문 가격. 내가 왜 이런것을 알아보았느냐면, 우리집에는 현관문이 2개가 있다. 1층 현관문과 2층 현관문. 2층 현관문은 보시다시피 알루미늄 샷시에 유리가 끼워져있는 매우 부실한 현관문이다. 물론 1층에도 현관문이 하나 더 있기 때문에 크게 신경쓸 필요는 없지만. 그래도 여기는 지금 안락동집처럼 외부 창고같은 것이 없기 때문에 택배를 받기가 애매해서, 부피가 큰 택배를 받을때 1층 현관문을 열어두기 위해 2층 현관문을 보강할 필요가 있었다. 우리집 문의 크기는 아래와 같다. (cm) 문틀포함 문높이 171 / 문틀포함 문폭 76 문틀비포함 문높이 172 / 문틀비포함 문폭 69 문틀면 폭 5~6 문윗 스틸 폭 10 / 문옆 스틸폭 7 / 문가운데 스틸폭 10 / 문아래 스틸폭 50 문윗유리 가로 54 / 문윗유리 세로 69 문아랫유리 가로 54 / 문아랫유리 세로 30 안락동집 근처 문마트라는 곳에 가서 사이즈와 사진을 보여주고 견적을 받았다. 지식인은 물론 카페와 블로그, 각종 사이트 등에서 나와 같은 경우를 찾아 보고 엄청나게 알아보았으나, 다들 교체비용이 40~50만원이 든다고 하더라. 집근처에 문마트가 있다는 걸 떠올리고 직접 견적을 내러 가보니 문틀 포함해서 시공비까지 27만원이라고 했다. 샷시문 철문으로 교체, 현관문 철문으로 교체하는게 27만원이면 충분하다. 주문하고 맞춤 제작이 들어가기 때문에 시공 완료까지 일주일정도 소요가 된다고 한다. 나 말고도 막막하게 인터넷으로 알아보는 사람들을 위해서 정보 공유차 글을 올려본다. 불안에 떨지말고, 문을 철문, 방화문 교체하는거 크게 비싸지 않다. 한달 월세만큼이면 충분하니 집주인하고 상의해보거나 해서 부산분이라면 교체하는 것도 좋을 것 같다. 물론 철문이라고 해도 문에 틈이 있으면 장도리로 뚫리고, 홀커터로 털릴 수도 있는거라 완전한 안전지대는 없지만, 그래도 마음은 편안하지 않은가. 더

천주교 성경책 구입

수요일 교리를 마치고도 봉사자님께 질문을 드렸었지만, 천주교는 개신교와는 성경이 다르다. 사실 나는 9월 말에 프리마켓에서 중고로 구입한 '개신교 성경책'이 있다. 그때만해도 내가 몇주 뒤에 성당에 다니게 될 거라고는 상상조차 하지 않았으니까, 교양서 읽듯이 읽어보려고 샀었다. 하지만 '우리말 성경'이라고 해놓고서 번역이 엉망진창이라 이해하려고 노력하다가 포기했다. 제대로 보지 못하고 구석에 처박힌 개신교 성경은 뒤로하고, 천주교 성경이 필요했다. 인터넷에 검색을 해보니 신자의 가정에 비치해야할 물건에는, 성경책, 가톨릭기도서, 성가집, 십자고상, 성모상, 묵주 가 있다고 했다. 사실 교재 공부를 할 때도 성경이 필요해서 성경책을 하나 구입하려고는 했는데, 인터넷으로 찾아보니 달랑 대,중,소에 1단, 2단 이렇게 쓰여져 있는데 무슨 소린지 도통 알 수가 없었다. 지퍼가 있고 없고만 알아들을 수 있었다. 아무래도 곁에 두고 자주 읽을 책이니 직접 보고 결정하기로 마음 먹었다. 천주교 수영성당으로 향했다. 2단으로 된 성경책을 사가지고 왔다. 재미있게도 이 성경책은 모든 곳에서 판매가가 29,000원이다. 오프라인이든 온라인이든. 신기한 일이다. 세로 22cm, 가로는 15.5cm 정도 된다. 2단이지만 폰트가 깔끔하고 읽기 편하게 되어 있다. 굵기도 적당해서 수시로 펴고 읽기에 좋았다. 개신교 성경처럼 화려하지도 장식이 있지도 않지만, 표지는 감촉이 좋고 책장 넘김도 좋고 책갈피 줄도 두 줄이나 있다. 크기도 딱 적당하다. 매우 마음에 든다. 이렇게 나의 첫 신앙물품은 당연하게도 성경책이 됐다. 교회 공용으로 사용하는 성경이 있다니. 이것도 천주교라서 가능한 걸까. 내가 구입한 책은 2017년 5월 1일에 재판된 책이다. 이제 공부 준비는 충분한 것 같다. 책상 위 나와 가장 가까운 위치의 책꽂이에 성경책과 교재를 꼽아 두었다. 언제라도 꺼내서 볼 수 있도록. 사실 성경책은 그날의 독서에

화장실 문이 잠겼을 때 여는 방법

10일. 손님이 왔다가 갔다. 손님이 화장실을 사용했는데, 나중에 손님이 집에 간 뒤 들어가려고 보니까 화장실 문이 안에서 잠겼다. 이런 망할. 일단 급한대로 가까운 지하철역 화장실에 다녀왔다. 현관문에 붙어 있는 열쇠상에 다 전화를 돌렸지만, 새벽 한 시에 와 줄 수 있는 사람은 아무도 없었다. 그래서 그냥 슈퍼가서 손톱가는 것을 사와서 집에 있는 클립과 함께 진지하게 화장실 문따기를 시작했다. 우리집 화장실은 안쪽으로 열리는 타입이라 턱이 있어서 난이도가 좀 있었다. 손톱 가는 것과 클립 펼친 것과 제본 표지였던 플라스틱 접은 것으로 사투 끝에 문을 여는데에 성공했다. 문을 열고 원인을 확인해보니, 보통은 화장실 문은 잠그고서 안에서 문고리를 돌리면 같이 열리는데, 이 문은 안에서 문고리를 돌리면 열리기는 하는데 잠금은 안 풀리는 것이다. 그래서 닫힌 뒤에 밖에서는 열리지 않는 문제가 발생한다. 앞으로 손님이 올 때는 이점을 꼭 당부를 드려야겠다. 진짜 식겁했다. 아무튼 문을 따고 나서 이쪽으로 전직을 해야하는 걸까나 라는 그런 생각을 했다. ㅋㅋㅋ