1부. AI와 게임
1장. 소개
1.1 AI란 무엇인가?
1.1.1 학술 AI
1.1.2 게임 AI
1.2 게임 AI의 모델
1.2.1 이동
1.2.2 의사결정
1.2.3 전략
1.2.4 기반 구조
1.2.5 에이전트 기반 AI
1.2.6 책의 구성
1.3 알고리듬, 자료 구조, 표현
1.3.1 알고리듬
1.3.2 표현
1.3.3 구현
1.4 책의 구성
2장. 게임 AI
2.1 복잡성의 잘못된 믿음
2.1.1 간단한 것들이 보기 좋을 때
2.1.2 복잡한 것들이 보기 안 좋을 때
2.1.3 퍼셉션 윈도우
2.1.4 행동의 변화
2.2 게임 내 AI의 종류
2.2.1 해킹
2.2.2 휴리스틱
2.2.3 알고리듬
2.3 속도, 메모리
2.3.1 프로세서 이슈
2.3.2 메모리 문제
2.3.3 플랫폼
2.4 AI 엔진
2.4.1 AI 엔진의 구조
2.4.2 툴체인 문제
2.4.3 모든 것을 함께
2부. 기술
3장. 이동
3.1 이동 알고리듬의 기본
3.1.1 2차원 운동
3.1.2 정역학
3.1.3 운동학
3.2 운동학 이동 알고리듬
3.2.1 찾기
3.2.2 배회하기
3.3 조종 행동
3.3.1 조종의 기본
3.3.2 변수 매칭
3.3.3 찾기, 도망가기
3.3.4 도착하기
3.3.5 줄 맞추기
3.3.6 속도 매칭
3.3.7 위임 행동
3.3.8 뒤쫓기, 도피하기
3.3.9 바라보기
3.3.10 이동할 곳으로 바라보기
3.3.11 배회하기
3.3.12 경로 따라가기
3.3.13 분리
3.3.14 충돌 피하기
3.3.15 장애물, 벽 피하기
3.3.16 요약
3.4 조종 행동의 결합
3.4.1 혼합과 중재
3.4.2 가중 혼합
3.4.3 우선순위
3.4.4 협력 중재
3.4.5 조종 파이프라인
3.5 예측 물리학
3.5.1 조준하기, 발사하기
3.5.2 발사체 궤도
3.5.3 발사 솔루션
3.5.4 발사체와 항력
3.5.5 반복 타기팅
3.6 점핑
3.6.1 점프 포인트
3.6.2 착륙장
3.6.3 홀 필러
3.7 조직된 움직임
3.7.1 고정된 포메이션
3.7.2 확장 가능한 포메이션
3.7.3 창발적 포메이션
3.7.4 2-레벨 포메이션 조종
3.7.5 구현
3.7.6 2-레벨 이상으로 확장하기
3.7.7 슬롯의 역할과 더 나은 할당법
3.7.8 슬롯 할당
3.7.9 동적인 슬롯과 플레이
3.7.10 전술적 움직임
3.8 모터 제어
3.8.1 출력 필터링
3.8.2 능력에 맞는 조종
3.8.3 일반적인 액추에이션 속성
3.9 3차원에서의 이동
3.9.1 3차원에서의 회전
3.9.2 조종 행동을 3차원으로 변환하기
3.9.3 정렬
3.9.4 벡터에 정렬하기
3.9.5 바라보기
3.9.6 움직이는 방향으로 바라보기
3.9.7 배회하기
3.9.8 회전축 속이기
4장. 길 찾기
4.1 길 찾기 그래프
4.1.1 그래프
4.1.2 가중 그래프
4.1.3 유향 가중 그래프
4.1.4 용어
4.1.5 표현
4.2 다익스트라
4.2.1 문제
4.2.2 알고리듬
4.2.3 의사 코드
4.2.4 자료 구조 및 인터페이스
4.2.5 다익스트라의 성능
4.2.6 약점
4.3 A*
4.3.1 문제
4.3.2 알고리듬
4.3.3 의사 코드
4.3.4 자료 구조 및 인터페이스
4.3.5 구현 노트
4.3.6 알고리듬 성능
4.3.7 노드 배열 A*
4.3.8 휴리스틱 선택하기
4.4 월드 표현
4.4.1 타일 그래프
4.4.2 디리클레 도메인
4.4.3 가시성 포인트
4.4.4 내비게이션 메시
4.4.5 이동 불가 문제
4.4.6 비용 함수
4.4.7 경로 다듬기
4.5 A*의 개선
4.6 계층적 길 찾기
4.6.1 계층적 길 찾기 그래프
4.6.2 계층적 그래프 길 찾기
4.6.3 계층적 길 찾기에서 제외하기
4.6.4 길 찾기에서 계층 구조의 이상한 효과
4.6.5 인스턴스된 지오메트리
4.7 길 찾기의 다른 아이디어들
4.7.1 열린 목표 길 찾기
4.7.2 동적 길 찾기
4.7.3 다른 종류의 정보 재사용
4.7.4 로우 메모리 알고리듬
4.7.5 중단 가능한 길 찾기
4.7.6 계획 풀링
4.8 연속 시간 길 찾기
4.8.1 문제점
4.8.2 알고리듬
4.8.3 구현 노트
4.8.4 성능
4.8.5 약점
4.9 이동 계획
4.9.1 애니메이션
4.9.2 이동 계획
4.9.3 예제
4.9.4 발걸음
5장. 의사결정
5.1 의사결정에 대한 개관
5.2 의사결정 트리
5.2.1 문제
5.2.2 알고리듬
5.2.3 의사 코드
5.2.4 지식 표현
5.2.5 구현 노트
5.2.6 의사결정 트리의 성능
5.2.7 트리의 균형을 맞춘다
5.2.8 트리를 넘어
5.2.9 무작위 의사결정 트리
5.3 상태 기계
5.3.1 문제
5.3.2 알고리듬
5.3.3 의사 코드
5.3.4 자료 구조와 인터페이스
5.3.5 성능
5.3.6 구현 노트
5.3.7 하드 코딩된 FSM
5.3.8 계층적 상태 기계
5.3.9 의사결정 트리와 상태 기계를 결합하기
5.4 행동 트리
5.4.1 행동 트리 구현하기
5.4.2 의사 코드
5.4.3 데코레이터
5.4.4 동시성과 타이밍
5.4.5 행동 트리에 데이터를 추가하기
5.4.6 트리 재사용
5.4.7 행동 트리의 한계
5.5 퍼지 로직
5.5.1 주의 사항
5.5.2 퍼지 로직의 소개
5.5.3 퍼지 로직 의사결정
5.5.4 퍼지 상태 기계
5.6 마르코프 시스템
5.6.1 마르코프 과정
5.6.2 마르코프 상태 기계
5.7 목표지향 행동
5.7.1 목표지향 행동
5.7.2 단순 선택
5.7.3 전체 효용
5.7.4 타이밍
5.7.5 총체적 효용 GOAP
5.7.6 IDA*로 하는 GOAP
5.7.7 냄새 나는 GOB
5.8 룰 기반 시스템
5.8.1 문제
5.8.2 알고리듬
5.8.3 의사 코드
5.8.4 자료 구조 및 인터페이스
5.8.5 룰 중재
5.8.6 단일화
5.8.7 Rete
5.8.8 확장
5.8.9 다음에는 어디로
5.9 칠판 아키텍처
5.9.1 문제
5.9.2 알고리듬
5.9.3 의사 코드
5.9.4 자료 구조 및 인터페이스
5.9.5 성능
5.9.6 다른 것들은 칠판 시스템이다
5.10 액션 실행
5.10.1 액션의 종류
5.10.2 알고리듬
5.10.3 의사 코드
5.10.4 자료 구조 및 인터페이스
5.10.5 구현 노트
5.10.6 성능
5.10.7 모두 합치기
6장. 전략적, 전술적 AI
6.1 웨이포인트 전술
6.1.1 전술적 장소
6.1.2 전술적 장소 사용하기
6.1.3 웨이포인트의 전술적 유형을 생성하기
6.1.4 자동적으로 웨이포인트 생성하기
6.1.5 압축 알고리듬
6.2 전술적 분석
6.2.1 게임 지형 표현하기
6.2.2 간단한 영향력 지도
6.2.3 지형 분석
6.2.4 전술적 분석을 통한 학습
6.2.5 전술적 분석을 위한 구조
6.2.6 지도 홍수
6.2.7 컨볼루션 필터
6.2.8 세포 오토마타
6.3 전술적 길 찾기
6.3.1 비용 함수
6.3.2 전술적 가중치와 관심 섞기
6.3.3 길 찾기 발견적 알고리듬 수정하기
6.3.4 길 찾기를 위한 전술적 그래프
6.3.5 전술적 웨이포인트 사용하기
6.4 협동 행동
6.4.1 다층 AI
6.4.2 창발적 협동
6.4.3 그룹 행동 스크립트
6.4.4 군사적 전술
7장. 학습
7.1 학습의 기초
7.1.1 온라인, 오프라인 학습
7.1.2 내부 행동 학습
7.1.3 상호 행동 학습
7.1.4 주의 사항
7.1.5 과도한 학습
7.1.6 다양한 종류의 학습 알고리듬
7.1.7 노력의 균형
7.2 매개 변수 수정
7.2.1 매개 변수 지형
7.2.2 언덕 오르기
7.2.3 기본적인 언덕 오르기 확장하기
7.2.4 담금질
7.3 행동 예측
7.3.1 오른쪽 또는 왼쪽
7.3.2 원시 확률
7.3.3 스트링 매칭
7.3.4 N-그램
7.3.5 창문 크기
7.3.6 계층적 N-그램
7.3.7 전투에서의 응용
7.4 의사결정 학습
7.4.1 의사결정 학습의 구조
7.4.2 무엇을 학습할 것인가?
7.4.3 네 가지 기술
7.5 나이브 베이즈 분류
7.5.1 의사 코드
7.5.2 구현 노트
7.6 의사결정 트리 학습
7.6.1 ID3
7.6.2 연속적인 속성 값을 가진 ID3
7.6.3 점진적 의사결정 트리 학습
7.7 강화 학습
7.7.1 문제점
7.7.2 알고리듬
7.7.3 의사 코드
7.7.4 자료 구조 및 인터페이스
7.7.5 구현 노트
7.7.6 성능
7.7.7 매개 변수 재단
7.7.8 애플리케이션의 현실과 약점
7.7.9 강화 학습에서의 다른 개념들
7.8 인공 신경망
7.8.1 개요
7.8.2 문제점
7.8.3 알고리듬
7.8.4 의사 코드
7.8.5 자료 구조 및 인터페이스
7.8.6 구현 시 유의 사항
7.8.7 성능
7.8.8 다른 접근 방법
7.9 딥러닝
7.9.1 딥러닝이란 무엇인가?
7.9.2 데이터
8장. 절차적 콘텐츠 생성
8.1 의사 난수
8.1.1 숫자 혼합 그리고 게임 시드
8.1.2 할톤 시퀀스
8.1.3 잎차례 각도
8.1.4 푸아송 원반
8.2 린덴마이어 시스템
8.2.1 간단한 L-시스템
8.2.2 L 시스템에 무작위성 추가하기
8.2.3 레벨에 특화된 규칙
8.3 지형 생성
8.3.1 변경자 그리고 높이 맵
8.3.2 잡음
8.3.3 펄린 잡음
8.3.4 단층
8.3.5 열화 침식
8.3.6 수화 침식
8.3.7 고도 필터링
8.4 던전 그리고 미로 생성
8.4.1 깊이 우선 백트래킹에 의한 미로
8.4.2 최소 신장 트리 알고리듬
8.4.3 재귀적 하위 분할
8.4.4 생성 및 테스트
8.5 모양 문법
8.5.1 문법 실행
8.5.2 계획
9장. 보드 게임
9.1 게임 이론
9.1.1 게임의 종류
9.1.2 게임 트리
9.2 미니맥스
9.2.1 정적 평가 함수
9.2.2 미니맥스
9.2.3 미니맥스 알고리듬
9.2.4 네가맥스
9.2.5 AB 가지치기
9.2.6 AB 검색 경계
9.2.7 네가스카웃
9.3 전위 표와 메모리
9.3.1 게임 상태 해시
9.3.2 표에 저장돼야 하는 것들
9.3.3 해시 표 구현
9.3.4 교체 전략
9.3.5 완전 전위 표
9.3.6 전위 표에 대한 쟁점
9.3.7 상대의 생각하는 시간을 이용하기
9.4 메모리-강화 테스트 알고리듬
9.4.1 테스트의 구현
9.4.2 메모리-강화 테스트 드라이버 알고리듬
9.4.3 의사 코드
9.5 몬테카를로 트리 검색
9.5.1 순수한 몬테카를로 트리 검색
9.5.2 지식의 추가
9.6 오프닝 북과 정석
9.6.1 오프닝 북의 구현
9.6.2 오프닝 북을 통한 학습
9.6.3 정석 북
9.7 그 이상의 최적화
9.7.1 반복적 깊이 증가
9.7.2 가변 심도 접근 방식
9.8 게임 지식
9.8.1 정적 평가 함수 만들기
9.8.2 정적 평가 함수 학습
9.9 턴-기반의 전략 게임
9.9.1 불가능한 트리 크기
9.9.2 턴-기반의 게임에서의 실시간 AI
3부. 지원 기술
10장. 실행 관리
10.1 스케줄링
10.1.1 스케줄러
10.1.2 중단 가능한 프로세스
10.1.3 부하 균형 스케줄러
10.1.4 계층적 스케줄링
10.1.5 우선권 스케줄링
10.2 애니타임 알고리듬
10.3 레벨 오브 디테일
10.3.1 그래픽 LOD
10.3.2 AI LOD
10.3.3 스케줄링 LOD
10.3.4 행동 LOD
10.3.5 그룹 LOD
10.3.6 요약
11장. 월드 인터페이싱
11.1 통신
11.1.1 폴링
11.1.2 이벤트
11.1.3 접근법 결정
11.2 이벤트 매니저
11.2.1 구현
11.2.2 이벤트 캐스팅
11.2.3 에이전트 간 통신
11.3 폴링 스테이션
11.3.1 의사 코드
11.3.2 성능
11.3.3 구현 노트
11.3.4 추상 폴링
11.4 감각 관리
11.4.1 속이기
11.4.2 우리가 알고 있는 것은?
11.4.3 감각 양식
11.4.4 지역 감각 매니저
11.4.5 유한 요소 모델 감각 매니저
12장. 툴 그리고 콘텐츠 제작
12.0.1 툴체인의 AI 제한
12.0.2 AI의 지식은 어디서 오는가
12.1 길 찾기를 위한 지식과 웨이포인트 전략
12.1.1 수동으로 지역 데이터 만들기
12.1.2 자동 그래프 생성
12.1.3 기하학적 분석
12.1.4 데이터 마이닝
12.2 이동에 대한 지식
12.2.1 장애물
12.2.2 하이 레벨 스테이징
12.3 의사결정을 위한 지식
12.3.1 오브젝트 유형
12.3.2 구체적인 행동
12.4 툴체인
12.4.1 통합 게임 엔진
12.4.2 사용자 정의 데이터 드리븐 에디터
12.4.3 AI 디자인 도구
12.4.4 원격 디버깅
12.4.5 플러그인
13장. 게임 AI 프로그래밍
13.1 언어 구현
13.1.1 C++
13.1.2 C#
13.1.3 스위프트
13.1.4 자바
13.1.5 자바스크립트
13.2 스크립트 AI
13.2.1 스크립트된 AI란?
13.2.2 좋은 스크립트 언어란 무엇인가?
13.2.3 임베딩
13.2.4 오픈 소스 언어 선택
13.2.5 언어 선택
13.3 언어 만들기
13.3.1 직접 만들어 보기
4부. 게임 AI 디자인
14장. 게임 AI 디자인
14.1 디자인
14.1.1 예제
14.1.2 행동 평가
14.1.3 기술 선택
14.1.4 게임의 범위
14.2 슈터
14.2.1 이동, 발사
14.2.2 의사결정
14.2.3 퍼셉션
14.2.4 길 찾기 그리고 전술적 AI
14.2.5 슈터 같은 게임들
14.2.6 근접전
14.3 레이싱
14.3.1 이동
14.3.2 길 찾기 그리고 전술적 AI
14.3.3 레이싱과 같은 게임들
14.4 실시간 전략 게임
14.4.1 길 찾기
14.4.2 그룹 이동
14.4.3 전술적 그리고 전략적 AI
14.4.4 의사결정
14.4.5 모바
14.5 스포츠
14.5.1 물리 예측
14.5.2 플레이북 그리고 콘텐츠 생성
14.6 턴 기반 전략 게임
14.6.1 타이밍
14.6.2 플레이어 도와주기
15장. AI 기반의 게임 장르
15.1 캐릭터 가르치기
15.1.1 액션 표현
15.1.2 세계 표현
15.1.3 학습 메커니즘
15.1.4 예측 가능한 정신 모델
15.2 무리 짓기 게임
15.2.1 생물 만들기
15.2.2 상호 작용을 위해 조종을 튜닝하기
15.2.3 조종 행동 안정성
15.2.4 생태계 디자인
이 책을 읽고 어떤 느낌을 받으셨나요?
리뷰를 남기고 다른 독자들과 함께 공유해보세요.
안내 열기구매(배송/수령완료) 후 리뷰를 작성하시면 적립금 300원을 드려요!