책 소개
★ 이 책에서 다루는 내용 ★
■ A*, A*mbush와 같은 유명 AI 기술로 지능적인 경로를 탐색하는 에이전트 제작
■ 에이전트와 다양한 목적의 전략 알고리즘 사이에 협동 기능을 제공하는 알고리즘 구현
■ 에이전트가 환경을 고려하면서 더 나은 의사결정을 할 수 있도록 감각 흉내내기
■ 단순한 행동과 움직임을 넘어서는 의사결정 에이전트를 제작하는 데 사용하는 알고리즘 탐색
■ 그래프 자료구조나 지형지물을 다룰 때 에이전트 간의 협동 구현과 전략 조율
■ 수동 셀렉터를 만들면서 웨이포인트 구현
★ 이 책의 대상 독자 ★
유니티 기본 지식을 갖췄으며, AI와 게임플레이 관련 문제들을 해결하는 데 필요한 더 많은 도구를 얻고 싶은 사람들을 대상으로 한다.
★ 이 책의 구성 ★
1장, '행위 - 영리한 움직임'에서는 크레이그 레이놀즈(Craig Reynolds)와 랜 밀링톤(Ian Millington)이 함께 개발한 조작 행위(steering behavior) 원리를 기반으로 한 가장 흥미로운 움직임 알고리즘들의 일부를 탐험한다. 이 알고리즘들은 진보된 게임에서 사용하는 대부분의 AI와 길 찾기 알고리즘군 같이 움직임에 의존하는 다른 알고리즘의 근간을 이룬다.
2장, '네비게이션'에서는 복잡한 시나리오에서도 잘 수행되는 길 찾기 알고리즘을 소개한다. 각 목적에 맞는 그래프 구조를 사용해 세계를 표현하는 방법을 배우고, 여러 종류의 길 찾기 알고리즘을 배운다.
3장, '의사 결정'에서는 여러 장르에 적용할 수 있을 정도로 탄력적이고, 결정 시스템 모듈을 만들기 충분한 의사 결정 기술을 설명한다.
4장, '신규 NavMesh API'에서는 유니티 5.6에서 등장한 신규 NavMesh API의 내부 동작을 보여준다. 그리고 NavMesh 엔진의 파워에 대한 감을 잡을 수 있게 설명하고 NavMesh를 실시간으로 조작한다.
5장, '협동과 전략'에서는 그래픽은 웨이포인트와 인플루언스맵과 같은 그래프 기반 전략적 결정을 활용한 포메이션 및 기술을 다룬다. 다른 에이전트들을 전체 유기체처럼 조절하는 레시피를 다룬다.
6장, '에이전트 인지'에서는 에이전트의 감각 자극에 대한 시뮬레이션을 전개하는 방법을 살펴본다. 이미 알고 있는 도구(콜라이더, 그래프)를 활용해 이러한 시뮬레이션들을 만드는 방법을 알아본다.
7장, '보드게임과 응용 탐색 AI'에서는 턴 기반 게임 AI과 보드게임을 개발하는 데 필요한 알고리즘을 다룬다.
8장, '학습 기술'에서는 머신러닝을 알아본다. 머신러닝 기술을 배우고 적용하는 첫걸음이 될 것이다.
9장, '절차적 콘텐츠 생성'에서는 절차적으로 콘텐츠를 생성해 게임을 여러 번 플레이할 수 있도록 돕는 여러 가지 기술을 살펴본다. 다양한 종류의 콘텐츠를 생성하는 데 적합한 기준을 제시할 것이다.
10장, '기타 알고리즘'에서는 몇 가지 새로운 기술을 소개하고 명확한 범주에 딱 들어맞지 않는 새로운 행동을 생성하는 데 이전 장에서 배운 알고리즘을 사용한다.
작가 소개
지은이 : 호르헤 팔라시오스
소프트웨어 개발자이자 게임 개발자다. 컴퓨터 과학을 전공했으며 8년의 실무 경력이 있다. 5년 동안 개발 도구 개발부터 리드 프로그래머에 이르기까지 다양한 역할을 수행하며 게임을 개발했다. 주로 인공지능 개발과 게임 플레이 프로그래밍에 집중했다. 현재는 유니티와 HTML5 관련된 작업을 진행 중이며, 게임 프로그래밍 강사, 연사, 게임잼(game-jam) 창시자이기도 하다.
옮긴이 : 최동훈
고려대학교 기계공학과, 컴퓨터학과(이중전공)를 졸업했으며 현재는 캄아일랜드에 근무하고 있다. 웹 기술과 데브옵스(DevOps) 기술에 관심이 많다. 현재 회사의 인프라를 쿠버네티스 클러스터로 전환/구축해 운영하고 있다.
목 차
1장. 행동 - 영리한 움직임
__소개
__행위 템플릿 만들기
__추격과 회피
__물리적으로 올바르게 에이전트 조정하기
__도착하기 및 떠나기
__객체 마주보기
__주변 배회
__경로 추종
__에이전트 회피
__벽 피하기
__가중치를 통한 행위 섞기
__우선순위에 의한 행위 섞기
__발사체 쏘기
__발사체의 착륙 지점 예측
__발사체 목표 정하기
__점프 시스템 제작
2장. 네비게이션
__소개
__격자를 통한 세상 표현
__가시점을 통한 세계 표현
__수제(self-made) 네비게이션 메쉬를 통한 세계 표현
__DFS를 이용한 미로 탈출 경로 찾기
__BFS를 이용한 격자 내 최단 경로 찾기
__다익스트라를 이용한 최단 경로 찾기
__A*를 활용한 가장 유망한 경로 찾기
__메모리 사용을 개선한 A* : IDA*
__다중 프레임 네비게이션 전략: 시분할 탐색
__경로 부드럽게 하기
3장. 의사 결정
__소개
__결정 트리를 통한 선택
__유한 상태 기계 구현
__FSM 향상시키기: 계층 유한 상태 기계
__행위 트리 구현
__퍼지 논리 적용하기
__목표지향적 행위를 통한 결정
__블랙보드 아키텍처 구현
__유니티 애니메이션 상태 기계 실험
4장. 신규 NavMash API
__소개
__NavMesh 구성 요소 설정
__다양한 에이전트를 위한 NavMesh 생성 및 관리
__실시간 NavMesh 데이터 생성 및 갱신
__NavMesh 인스턴스 생애 관리
__다중 NavMesh 인스턴스 연결하기
__장애물 관련 동적 NavMesh 생성
__NavMesh API를 활용한 행동 구현
5장. 협동과 전략
__소개
__대형 다루기
__협동을 위한 A* 확장: A*mbush
__높이를 통한 웨이포인트 분석
__커버와 가시성을 통한 웨이포인트 분석
__웨이포인트 자동으로 생성하기
__웨이포인트 의사 결정 예시
__영향력 분포도(Influence maps) 구현
__맵 플루딩으로 영향력 개선하기
__컨볼루션 필터를 활용한 영향력 향상시키기
__싸움 주기 만들기
6장. 에이전트 인지
__소개
__콜라이더 기반 시스템을 활용한 시각 기능
__콜라이더 기반 시스템을 활용한 청각 기능
__콜라이더 기반 시스템을 활용한 후각 기능
__그래프 기반 시스템을 활용한 시각 기능
__그래프 기반 시스템을 활용한 청각 기능
__그래프 기반 시스템을 활용한 후각 기능
__스텔스 게임의 인지 제작하기
7장. 보드게임과 응용 탐색 AI
__소개
__게임트리 클래스 활용
__최소최대 구현
__역최대 구현
__AB 역최대 구현
__역스카우팅 구현
__틱택토 인공지능 상대 구현
__체커 인공지능 상대 구현
__UCB1로 가위바위보 AI 구현
__리그렛 매칭 구현
__소개
8장. 학습기술
__N-Gram 예언자를 활용한 행동 예측
__예언자 향상시키기: 계층적 N-Gram
__나이브 베이즈 분류기를 활용한 학습
__강화 학습 구현
__인공 신경망 구현
9장. 절차적 콘텐츠 생성
__소개
__깊이 우선 탐색 활용 미로 생성
__던전 및 섬 건설 알고리즘 구현
__풍경 생성
__N-Gram 활용 콘텐츠 생성
__진화 알고리즘을 활용한 적 생성
__소개
10장. 기타 알고리즘
__스크립트 객체 생성 및 관리
__난수 세련되게 다루기
__에어하키 상대 만들기
__레이싱 게임 아키텍처 구현
__러버밴딩 시스템을 활용한 레이스 난이도 관리
- 단순 변심인 경우 : 상품 수령 후 7일 이내 신청
- 상품 불량/오배송인 경우 : 상품 수령 후 3개월 이내, 혹은 그 사실을 알게 된 이후 30일 이내 반품 신청 가능
| 반품사유 | 반품 배송비 부담자 |
|---|---|
| 단순변심 | 고객 부담이며, 최초 배송비를 포함해 왕복 배송비가 발생합니다. 또한, 도서/산간지역이거나 설치 상품을 반품하는 경우에는 배송비가 추가될 수 있습니다. |
| 고객 부담이 아닙니다. |
| 진행 상태 | 결제완료 | 상품준비중 | 배송지시/배송중/배송완료 |
|---|---|---|---|
| 어떤 상태 | 주문 내역 확인 전 | 상품 발송 준비 중 | 상품이 택배사로 이미 발송 됨 |
| 환불 | 즉시환불 | 구매취소 의사전달 → 발송중지 → 환불 | 반품회수 → 반품상품 확인 → 환불 |
- 결제완료 또는 배송상품은 1:1 문의에 취소신청해 주셔야 합니다.
- 특정 상품의 경우 취소 수수료가 부과될 수 있습니다.
| 결제수단 | 환불시점 | 환불방법 |
|---|---|---|
| 신용카드 | 취소완료 후, 3~5일 내 카드사 승인취소(영업일 기준) | 신용카드 승인취소 |
| 계좌이체 |
실시간 계좌이체 또는 무통장입금 취소완료 후, 입력하신 환불계좌로 1~2일 내 환불금액 입금(영업일 기준) |
계좌입금 |
| 휴대폰 결제 |
당일 구매내역 취소시 취소 완료 후, 6시간 이내 승인취소 전월 구매내역 취소시 취소 완료 후, 1~2일 내 환불계좌로 입금(영업일 기준) |
당일취소 : 휴대폰 결제 승인취소 익월취소 : 계좌입금 |
| 포인트 | 취소 완료 후, 당일 포인트 적립 | 환불 포인트 적립 |
- 단순변심으로 인한 반품 시, 배송 완료 후 7일이 지나면 취소/반품 신청이 접수되지 않습니다.
- 주문/제작 상품의 경우, 상품의 제작이 이미 진행된 경우에는 취소가 불가합니다.
- 구성품을 분실하였거나 취급 부주의로 인한 파손/고장/오염된 경우에는 취소/반품이 제한됩니다.
- 제조사의 사정 (신모델 출시 등) 및 부품 가격변동 등에 의해 가격이 변동될 수 있으며, 이로 인한 반품 및 가격보상은 불가합니다.
- 뷰티 상품 이용 시 트러블(알러지, 붉은 반점, 가려움, 따가움)이 발생하는 경우 진료 확인서 및 소견서 등을 증빙하면 환불이 가능하지만 이 경우, 제반 비용은 고객님께서 부담하셔야 합니다.
- 각 상품별로 아래와 같은 사유로 취소/반품이 제한 될 수 있습니다.
| 상품군 | 취소/반품 불가사유 |
|---|---|
| 의류/잡화/수입명품 | 상품의 택(TAG) 제거/라벨 및 상품 훼손으로 상품의 가치가 현저히 감소된 경우 |
| 계절상품/식품/화장품 | 고객님의 사용, 시간경과, 일부 소비에 의하여 상품의 가치가 현저히 감소한 경우 |
| 가전/설치상품 | 전자제품 특성 상, 정품 스티커가 제거되었거나 설치 또는 사용 이후에 단순변심인 경우, 액정화면이 부착된 상품의 전원을 켠 경우 (상품불량으로 인한 교환/반품은 AS센터의 불량 판정을 받아야 합니다.) |
| 자동차용품 | 상품을 개봉하여 장착한 이후 단순변심의 경우 |
| CD/DVD/GAME/BOOK등 | 복제가 가능한 상품의 포장 등을 훼손한 경우 |
| 상품의 시리얼 넘버 유출로 내장된 소프트웨어의 가치가 감소한 경우 | |
| 노트북, 테스크탑 PC 등 | 홀로그램 등을 분리, 분실, 훼손하여 상품의 가치가 현저히 감소하여 재판매가 불가할 경우 |










