실전 게임 기초 AI 프로그래밍 [예제로 쉽게 배우는 게임 인공지능 프로그래밍]
- 원서명Practical Game AI Programming: Create game AI and implement cutting edge AI algorithms from scratch (ISBN 9781787122819)
- 지은이미카엘 다그라사(Micael DaGraça)
- 옮긴이금기진
- ISBN : 9791161751672
- 30,000원
- 2018년 08월 31일 펴냄
- 페이퍼백 | 368쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 게임 개발 프로그래밍
책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
예제를 통해 다양한 게임 장르의 기본 AI를 알아보고, AI 캐릭터가 마주할 수 있는 각 상황의 가능성과 확률을 이용해서 어떻게 제작해야 하는지 알아본다. 또한 AI 캐릭터가 배경과 어떻게 상호작용해야 하는지도 배우며, 기초적인 애니메이션 구현법도 살펴본다. 세타 알고리즘(Theta algorithms) 등을 이용해 현실적이면서도 최적의 경로를 찾는 방법도 배우며, 한 화면에 수많은 캐릭터가 있을 때 AI가 어떻게 행동해야 하는지도 알아본다.
이 책에서 다루는 내용
█ 장르마다 적절한 AI를 생성하는 기본 방법
█ AI의 행동에 영향을 끼치는 요소를 예측하고 대응하는 방법
█ 스마트 존과 이벤트 발생을 사용해서 AI 캐릭터와 배경 사이의 상호작용을 계획하는 방법
█ 두 애니메이션을 연결할 때 끊어서 재생하지 않고 자연스럽게 연결해서 재생하는 방법
█ 세타 알고리즘을 사용해 짧고 현실적인 경로를 찾는 방법
█ 목적지에 도착하거나 난관에 봉착했을 때 AI를 미리 예측하는 방법
이 책의 대상 독자
한 번쯤 C#으로 게임을 만들어 본 개발자 중 더 나아가 자동으로 동작하는 AI, 군중, 적군, 아군을 더 구체적으로 구현하고 싶은 독자를 위한 책이다.
이 책의 구성
1장, ‘다양한 문제에 적절하게 대응하기’에서는 비디오 게임 산업과 게임 AI를 간단히 소개한다.
2장, ‘가능기반과 확률기반 표’에서는 AI 캐릭터를 위해 각 표를 생성하고 사용하는 방법을 알아본다.
3장, ‘프로덕션 시스템’에서는 AI 캐릭터가 목표를 달성하기 위해 필요한 규칙을 생성하는 방법을 공부한다.
4장, ‘배경과 AI’에서는 게임 속 캐릭터와 주위 배경과의 상호작용을 구현하는 방법을 소개한다.
5장, ‘애니메이션 동작’에서는 게임 속 애니메이션을 효과적으로 적용하는 방법을 소개한다.
6장, ‘내비게이션 방법과 길찾기’에서는 AI가 실시간으로 최적의 경로를 찾는 방법을 연구한다.
7장, ‘고급 길찾기’에서는 세타 알고리즘을 이용해 최단 경로와 현실적인 경로를 찾는 방법을 알아본다.
8장, ‘군중 상호작용’에서는 한 장면에 수많은 캐릭터가 있을 때 AI가 어떻게 행동해야 하는지를 공부한다.
9장, ‘AI 계획과 충돌 방지’에서는 원하는 장소에 도착하거나 문제를 맞이할 것을 미리 예측하고, 그런 상황을 다루는 방법을 알아본다.
10장, ‘감지 능력’에서는 스텔스 장르의 핵심 기술인 인지 시스템을 자세히 알아본다.
상세 이미지
목차
목차
- 1장. 다양한 문제에 적절하게 대응하기
- 게임 AI의 역사와 해결책
- 비디오 게임 속의 적 AI
- 간단한, 똑똑한, 그리고 인간 같은 AI
- 시각적, 청각적 인식
- 요약
- 2장. 가능기반 표와 확률기반 표
- 게임 상태
- 가능기반 표
- 가능기반 표 사용법
- 가능기반 표 준비하기(FPS)
- 가능기반 표 생성법(FPS)
- 상태 정의하기
- 방어적 상태
- 적극적 상태
- 가능기반 표 결론
- 확률기반 표
- 확률기반 표 사용법
- 다음 단계
- 요약
- 3장. 프로덕션 시스템
- 자동 유한 상태 기계
- 확률 계산
- 유틸리티 기반 함수
- 다이나믹 게임 AI 밸런스
- 요약
- 자동 유한 상태 기계
- 4장. 배경과 AI
- 시각적 상호작용
- 기본 배경 상호작용
- 배경 오브젝트 움직이기
- 방해하는 배경 오브젝트
- 배경을 여러 지역으로 세분화하기
- 고급 배경 상호작용
- 불안정한 지형에 적응하기
- 레이캐스트를 이용한 의사 결정
- 요약
- 5장. 애니메이션 동작
- 2D 애니메이션 대 3D 애니메이션
- 2D 애니메이션 - 스프라이트
- 3D 애니메이션 - 뼈 구조체
- 애니메이션 상태 기계
- 부드러운 전환
- 요약
- 2D 애니메이션 대 3D 애니메이션
- 6장. 내비게이션 방법과 길찾기
- 내비게이션 동작
- 새 방향 선택하기
- 벽을 피해서 걷기
- 지점과 지점 사이의 이동
- 타워 디펜스 장르
- 레이싱 장르
- MOBA 장르
- 요약
- 내비게이션 동작
- 7장. 고급 길찾기
- 기본 길찾기와 고급 길찾기의 차이점
- A* 탐색 알고리즘
- 작동 원리
- A* 알고리즘의 단점
- 요약
- 8장. 군중 상호작용
- 군중 상호작용이란
- 비디오 게임 속 군중 상호작용
- 어쌔신 크리드
- Grand Theft Auto(GTA)
- 심즈
- 피파, 프로 에볼루션 사커
- 군중 상호작용 계획하기
- 그룹 전투
- 커뮤니케이션(관심 영역)
- 커뮤니케이션(다른 AI 캐릭터와 소통하기)
- 팀 스포츠
- 군중 충돌 방지
- 요약
- 9장. AI 계획과 충돌 방지
- 탐색
- 공격적 탐색
- 적의 행동 예측하기
- 충돌 회피
- 요약
- 탐색
- 10장. 감지 능력
- 스텔스 장르
- 전략이란
- 감지 능력이란
- 시각 감지 능력 구현하기
- 기본 시각 감지
- 고급 시각 감지
- 요약
도서 오류 신고
정오표
정오표
[p.37, 코드 아래에서 7번째 줄]
if( (Health >= 20 && triggerL == true) || (Health >= 20 && triggerM
== true ) )
->
if(Health<= 100 && triggerR == true || Health<= 20)