본문 바로가기

Book/Wish List

실용적 예제로 본 게임 인공지능 프로그램하기

도서 소개

게임 AI 기법들을 게임에서 가장 많이 사용되고 있는 언어인 C++로 설명하고 있으며, 게임개발에서 최근에 각광받고 있는 스크립트 언어인 Lua에 대한 소개까지 다루는 등 실전적 프로그래밍 예제들로 구성되어 있어 현직 게임프로그래머들 뿐만 아니라 게임 프로그래머를 꿈꾸는 학생들에게도 매우 유용한 책이 될 것이다.

  • 이 책은 게임 인공지능 중 고수준의 기술들은 철저히 배제하고 실제 많이 사용되고 있는 중요 AI 기술들에 대해 실전적으로 접근하고 있다.
  • 게임에서 가장 많이 사용되고 있는 언어인 C++로 설명하고 있으며, 게임개발에서 최근에 각광받고 있는 스크립트 언어, Lua에 대한 소개도 있어 다루고 있다.
  • 대부분의 예제들은 소스코드들을 통해 직접 시뮬레이션을 해볼 수 있도록 실전적으로 구성되어 있다.


  • 목차

    추천사|IV
    서문|VI
    감사의 말|X
    역자 머리말|XI
    소 개|XIII

    Chapter 1 수학 및 물리학 입문|1
    수 학|1
    직교 좌표|2
    함수 및 수식|3
    삼각법|10
    벡 터|18
    지역 공간 및 세계 공간|27
    물리학|29
    시 간|30
    거 리|30
    질 량|31
    위 치|31
    속 도|31
    가속도|34
    힘|39
    요 약|42

    Chapter 2 상태구동형 에이전트의 디자인|45
    유한상태기계란 정확하게 무엇일까?|46
    유한상태기계 구현하기|48
    상태 전환표|50
    내장된 규칙들|51
    West World 프로젝트|54
    BaseGameEntity 클래스|55
    Miner 클래스|56
    Miner 상태들|58
    상태 디자인 패턴에 대해 자세히 알아보기|59
    상태의 기본 클래스를 재사용할 수 있게 만들기|67
    전역 상태 및 상태 블립|67
    상태기계 클래스 생성하기|69
    Elsa 소개하기|72
    FSM에 메시지 처리 기능 추가하기|74
    전보 구조|75
    광부 Bob과 Elsa의 통신|76
    메시지 급송 및 관리|77
    메시지 처리하기|82
    Elsa는 저녁을 준비한다|85
    요 약|91

    Chapter 3 자동적으로 움직이는 게임 에이전트 생성법|93
    자동적 에이전트란?|93
    운반기 모델|95
    운반기의 물리적 현상 갱신하기|98
    조종 행동|100
    찾 기|100
    달아나기|101
    도착하기|102
    추격하기|103
    도피하기|106
    배회하기|107
    장애물 피하기|110
    벽 피하기|116
    끼워 넣기|118
    숨기기|120
    경로 따라가기|123
    오프셋 추격하기|125
    집단 행동|127
    분 리|129
    정 렬|130
    결 합|131
    무리짓기|132
    조종 행동들을 조합하기|134
    가중 절단된 합|135
    우선순위와 함께 가중 절단된 연속합|136
    우선순위가 주어진 디더링|139
    겹침이 전혀 없게 하기|141
    대량의 운반기들에 대처하기 : 공간 분할하기|142
    평활화|147

    Chapter 4 스포츠 시뮬레이션 - 단순 축구|151
    단순 축구 환경과 규칙|152
    축구장|153
    골|156
    축구공|157
    SoccerBall::FuturePosition|159
    AI 디자인|163
    SoccerTeam 클래스|164
    필드 선수들|175
    골키퍼|193
    AI가 사용하는 주요 메소드|201
    추정 및 가정하기|213
    요 약|214

    Chapter 5 그래프의 비밀|217
    그래프|217
    좀더 형식적인 기술|219
    트 리|220
    그래프 밀도|220
    다이그래프|221
    게임 AI에서의 그래프|222
    그래프 클래스 구현하기|227
    GraphNode 클래스|229
    GraphEdge 클래스|230
    SparseGraph 클래스|232
    그래프 탐색 알고리즘|235
    무정보 그래프 탐색|236
    비용 기반 그래프 탐색|257
    요 약|275

    Chapter 6 스크립트를 쓸 것이냐 쓰지 말 것이냐, 그것이 문제로다|277
    스크립트 언어란?|278
    스크립트 언어의 용도|279
    대화 흐름|281
    단계 연출|282
    AI 논리|284
    Lua에서의 스크립팅|285
    컴파일러를 Lua와 함께 동작하도록 설정하기|286
    시작하기|286
    Lua로 가위바위보|297
    C/C`++`과 인터페이스하기|300
    구세주 Luabind!|311
    스크립트 유한상태기계 생성하기|322
    동작 방법|323
    상태들|328
    유용한 URL|330
    모든 것이 쉽지는 않다|331
    요 약|332

    Chapter 7 Raven: 개관|333
    게 임|333
    게임 아키텍처 개관|334
    Raven_Game 클래스|335
    Raven 맵|337
    Raven 무기|339
    탄 환|341
    트리거|342
    AI 디자인 고려사항|353
    AI 구현|355
    의사 결정|355
    이 동|356
    길 계획하기|356
    지 각|356
    목표 선택|362
    무기 다루기|364
    모두 통합하기|369
    AI 구성요소의 갱신|370
    요 약|373

    Chapter 8 실질적인 길 계획하기|375
    내비게이션 그래프 구축|375
    타일 기반|375
    가시점|376
    확장 지형|377
    NavMesh|378
    Raven 내비게이션 그래프|378
    성기게 과립화된 그래프|379
    정교하게 과립화된 그래프|381
    Raven 내비게이션 그래프에 아이템 추가하기|383
    접근 질의의 속도를 향상시키기 위해서 공간 분할 사용하기|385
    경로 계획자 클래스 만들기|385
    특정 위치까지의 경로 계획하기|387
    어떤 아이템 타입까지의 경로 계획하기|389
    노드로서의 경로 또는 에지로서의 경로?|393
    주석이 달린 에지 클래스의 예|394
    주석 달린 에지를 수용하기 위해서 경로 계획자 클래스 수정하기|395
    경로 부드럽게 하기|398
    CPU 오버헤드를 줄이는 방법|404
    난처한 상황에서 빠져 나오기|422
    요 약|424

    Chapter 9 목적이 부여된 에이전트 행동|427
    용감한 Eric의 귀환|428
    구 현|430
    Goal_Composite::RemoveAllSubgoals|434
    Raven Bot에서 사용되는 목적의 예|435
    Goal_Wander|436
    Goal_TraverseEdge|437
    Goal_FollowPath|440
    Goal_MoveToPosition|443
    Goal_AttackTarget|446
    목적 중재|448
    건강 아이템의 위치를 찾는 바람직함을 계산하기|451
    특정 무기의 위치를 찾는 바람직함을 계산하기|452
    목표를 공격하는 바람직함을 계산하기|454
    맵을 탐험하는 바람직함을 계산하기|455
    모두 통합하기|456
    부산물|457
    개 성|457
    상태 메모리|459
    명령 큐잉|464
    스크립트 행동에 큐를 사용하기|466
    요 약|468

    Chapter 10 퍼지 논리|469
    전통적인 집합|472
    집합 연산자|473
    퍼지 집합|473
    소속 함수로 퍼지 경계 정의하기|474
    퍼지 집합 연산자|476
    경 계|477
    퍼지 언어 변수|478
    퍼지 규칙|479
    무기 선택을 위한 FLV 디자인|480
    무기 선택을 위한 규칙 집합 디자인|484
    퍼지 추론|484
    이론에서 응용으로 : 퍼지 논리 모듈의 코딩|493
    FuzzyModule 클래스|493
    FuzzySet 기본 클래스|494
    삼각형 퍼지 집합 클래스|495
    오른쪽 어깨 퍼지 집합 클래스|497
    퍼지 언어 변수 클래스 만들기|499
    퍼지 규칙을 만드는 클래스의 디자인|502
    Raven이 퍼지 논리 클래스를 사용하는 방법|509
    Combs 메소드|510
    퍼지 추론과 Combs 메소드|513
    구 현|514
    요 약|514

    'Book > Wish List' 카테고리의 다른 글

    AI Game Programming Wisdom (2)  (0) 2009.11.12
    Game Coding Complete Game coding complete  (0) 2009.11.12