이미 소장하고 있다면 판매해 보세요.
|
1. 게임에서의 인공지능 기초
__가상의 삶 구현 __인공지능을 사용한 게임성 강화 __유니티에서 인공지능 사용 __에이전트 정의 __유한 상태 기계 __에이전트의 눈으로 월드 바라보기 __길 찾기와 조향 ____A* 길 찾기 ____내비게이션 메시 사용 __군집 처리 __행동 트리 __퍼지 로직 __요약 2. 유한 상태 기계 __FSM 활용 __상태 기계 행동 생성 ____AnimationController 애셋 생성 ____레이어와 매개변수 ____애니메이션 컨트롤러 인스펙터 ____행동 적용 ____첫 상태 생성 ____상태 간 전이 __플레이어 탱크 설정 __탱크 생성 ____상태 전이 선택 ____기능 연결 ________조건 설정 ________코드로 매개변수 제어 ________적 탱크 이동 ________테스팅 __요약 3. 센서 구현 __기본 센서 시스템 ____콘 형태의 시야 ____구를 사용해서 듣기, 느끼기, 냄새 맡기 ____전지적 능력을 활용한 인공지능 확장 ____센싱으로 창의력 개선 __씬 설정 __플레이어 탱크와 특성 설정 ____플레이어 탱크 구현 ____Aspect 클래스 구현 __인공지능 캐릭터 생성 __Sense 클래스 사용 __약간의 시각 부여 __촉각 활용 __결과 검사 __요약 4. 길 찾기 __경로 따라가기 ____경로 스크립트 ____경로 추종자 사용 ____장애물 회피 ____커스텀 레이어 추가 ____장애물 회피 로직 구현 __A* 길 찾기 ____A* 알고리즘 재확인 ____구현 ________노드 ________우선순위 큐 구성 ________그리드 매니저 설정 ________A* 구현 심화 ________TestCode 클래스 ________씬 설정 ________모든 컴포넌트 테스팅 __내비게이션 메시 ____맵 설정 ____Navigation Static ____내비게이션 메시 베이킹 ____NavMesh 에이전트 사용 ____대상 설정 ____Target 클래스 ____경사 테스트 ____영역 탐색 ____Off Mesh Link 의미 ____생성된 Off Mesh Link 사용 ____수동 Off Mesh Link 설정 __요약 5. 군집 처리 __군집 처리의 기원 __군집 처리 개념의 배경 이해 __유니티 예제를 사용한 군집 처리 ____개별 행동 흉내내기 ____컨트롤러 __대체 구현 사용 ____FlockController 구현 __군중 처리 ____간단한 군중 시뮬레이션 구현 ____CrowdAgent 컴포넌트 사용 ____재미있는 장애물 추가 __요약 6. 행동 트리 __행동 트리의 기초 ____다양한 노드 타입의 이해 ________합성 노드 정의 ________데코레이터 노드의 이해 ________리프 노드 표현 __기존 솔루션 평가 __간단한 행동 트리 프레임워크 구현 ____기반 Node 클래스 구현 ____노드를 셀렉터로 확장 ____시퀀스 ____인버터 데코레이터 구현 ____일반 액션 노드 생성 __프레임워크 테스트 ____계획 수립 ____씬 설정 ____MathTree 코드 ____테스트 실행 __요약 7. 퍼지 로직을 사용한 인공지능 개선 __퍼지 로직 정의 ____바이너리 시스템 대신 퍼지 시스템 얻기 __퍼지 로직 사용 ____간단한 퍼지 로직 시스템 구현 ____세트 확장 ____데이터 명확하게 하기 __최종 데이터 사용 ____좀 더 간단한 접근법 사용 __퍼지 로직의 다른 사용 사례 ____다른 개념과의 결합 ____완전히 고유한 경험 생성 __요약 8. 통합 __규칙 설정 __타워 생성 ____타워 발사 처리 __탱크 설정 __환경 설정 __예제 테스트 __요약 |
|
★ 이 책에서 다루는 내용 ★
■ 게임 인공지능과 관련한 기본적인 용어와 개념 이해 ■ 유니티 5의 상태 기계 행동을 사용한 간단한 유한 상태 기계 구현 ■ 가장 일반적으로 사용되는 기술을 활용한 센서 시스템 구현 ■ 가장 일반적인 형태의 길 찾기 시스템과 유니티 5 NavMesh 기능을 사용한 내비게이션 메시 구현 ■ 높은 신뢰도와 효율성을 갖는 인공지능 군집 처리 구현 ■ 캐릭터의 행동을 유도하는 간단한 행동 트리 생성 ■ 인공지능 의사 결정에 퍼지 로직 개념을 구현해 좀 더 매력적인 캐릭터 생성 ■ 배운 내용을 종합해 실전 예제 생성 ★ 이 책의 대상 독자 ★ 이 책은 C#과 유니티 편집기의 기본적인 내용을 이해하고 있는 유니티 개발자를 대상으로 한다. 게임을 처음 만들거나 게임 프로그래머로서의 지식을 넓히려고 한다면 게임 인공지능 관련 개념과 예제 구현을 통해 다양하고 흥미로운 정보를 얻을 수 있다. 이 책은 게임 인공지능과 관련한 특별한 사전 지식은 요구하지 않는다. ★ 이 책의 구성 ★ 1장, ‘게임에서의 인공지능 기초’에서는 매우 방대하고 어려운 주제인 인공지능의 가장 기본적인 개념을 명확하게 알아본다. 2장, ‘유한 상태 기계’에서는 인공지능에서 가장 널리 사용되는 유한 상태 기계에 대한 개념을 설명한다. 3장, ‘센서 구현’에서는 게임 인공지능 에이전트가 주변 환경을 인지하는 데 있어 가장 중요한 방법이 무엇인지 알아본다. 인공지능 에이전트의 현실성은 주변 환경에 어떻게 반응하느냐에 따라 크게 달라진다. 4장, ‘길 찾기’에서는 인공지능 에이전트가 길을 찾아갈 때 가장 널리 사용되는 패턴을 설명한다. 게임 내의 에이전트는 장애물을 피해가며 게임에서 제공하는 지형을 탐색할 수 있어야 한다. 5장, ‘군집 처리’에서는 군집 처리 시뮬레이션 알고리즘에 대해 살펴보며, 이를 통해 개별 에이전트의 로직보다는 전체 군집의 이동과 관련된 로직을 처리하는 방법을 알아본다. 6장, ‘행동 트리’에서는 복잡한 인공지능 행동을 구현할 때 가장 널리 사용되는 방식인 행동 트리를 직접 구현해본다. 7장, ‘퍼지 로직을 사용한 인공지능 개선’에서는 바이너리 방식을 사용하지 않고 다양한 요소를 고려한 인공지능 에이전트의 의사결정 방법을 알아본다. 퍼지 로직은 사람이 의사 결정을 내리는 방식을 흉내낸다. 8장, ‘통합’에서는 다양한 시스템을 사용해서 하나의 간단한 게임 템블릿을 만들어 본다. 이를 확장할 수도 있다. ★ 지은이의 말 ★ 이 책에서 우리는 게임 개발과 관련한 인공지능에 대해 살펴볼 것이다. 어떤 장르의 게임을 개발하느냐는 크게 상관없으며 다양한 활용 사례를 찾을 수 있을 것이다. 이 책의 목적은 여러분을 전문가로 만드는 것이 아니다. 전문가가 되기 위해서는 훨씬 더 오랜 기간 동안 많은 양의 자료를 학습해야 한다. 이 책은 인공지능을 배우기 시작하는 독자에게 길잡이가 되어 줄 것이다. 인공지능과 관련된 가장 기본적인 요소를 다루고 있으며, 이 책을 마칠 때쯤이면 자신만의 게임에 인공지능을 구현하는 데 필요한 지식을 갖추게 된다. 책에서 제공하는 게임 예제를 확장해도 좋고 직접 새롭고 흥미로운 것을 만들어 봐도 좋다. 이 책에서 제공하는 예제를 따라 해보고 코드를 고쳐가면서 연습하면 학습에 많은 도움이 될 것이다. 각 장은 개념적인 배경과 약간의 예제를 제공하며 여러분은 이를 각자 개발 중인 게임에 어떻게 적용할지 고민해보면 좋다. ★ 옮긴이의 말 ★ 우리는 얼마 전 대한민국 땅에서 인공지능 역사에 한 획을 그은 사건을 생생하게 목격할 수 있었습니다. 온 대중매체가 연일 집중해 생중계와 보도를 쏟아내며 세기의 대결이라 칭했던 구글의 인공지능 알파고와 천재 바둑기사 이세돌 간의 대국이 바로 그 대상이었는데요. 바둑이라고는 아주 기초적인 규칙밖에 모르는 저도 넋을 놓고 지켜볼 만큼 인류 역사에 있어서 매우 흥미로운 인간과 인공지능 간의 대결이었습니다. 이미 출간을 마친 『유니티 게임 AI 프로그래밍』의 옮긴이의 말을 쓸 때 제가 초등학교 시절 8비트 컴퓨터를 가지고 인공지능 바둑 게임을 만들어서 대결을 펼치며 흥분과 환희를 느낀 이야기를 적었는데, 이젠 인공지능이 세계 최고의 천재 바둑 기사를 이기는 시대가 된 것입니다. 인류 역사를 돌이켜볼 때 인공지능 분야는 상대적으로 매우 짧은 시간에 비약적인 발전을 했습니다. 저뿐만 아니라 많은 분들이 알파고와 이세돌의 생중계를 지켜보면서 알파고가 단순한 소프트웨어를 넘어서서 마치 영혼마저 있는 것 같은 느낌을 받았다고 말합니다. 그만큼 인공지능은 앞으로 우리의 삶에 성큼성큼 다가올 것입니다. 이 책은 전작인 『유니티 게임 AI 프로그래밍』의 단순한 후속판으로 보기엔 너무 많은 내용이 변경됐습니다. 일단 가장 눈에 띄는 변화로 책의 모든 내용이 유니티 5를 기본으로 구성됐으며 인공지능에 대한 기본적인 소개부터 시작해 유한 상태 기계의 개념, 랜덤과 확률, 센싱 기술의 구현, 길 찾기 알고리즘, 행동 트리, 퍼지 로직 등 게임 제작에 필요한 인공지능 기법과 이를 유니티가 지원하는 환경에서 어떻게 구현할 수 있는지를 비교적 초보자의 시선에서 차근차근 상세히 설명하고 있습니다. 일부 장르를 제외하면 대부분의 게임은 수준과 정도의 차이는 있지만, 인공지능을 적용해야만 하는 상황이 발생하는데, 이때 이 책에서 다루는 내용만 제대로 익혀놔도 실전에서 별다른 부족함 없이 원하는 의도대로 만들어 낼 수 있을 것으로 생각합니다. 물론 이 책에서 다루고 있는 인공지능이 앞서 이야기한 인류의 삶을 근본적으로 변화시키는 기술과는 지향점이 다르다는 점은 이해해야 합니다. 게임 인공지능의 목표는 인류의 삶에 영향을 주는 것보다는 게임 자체에서 느낄 수 있는 재미를 늘리는 데 있으며 이 책은 그런 목표를 달성하는 데 필요한 기술에 집중하고 있기 때문입니다. 부디 이 책이 인공지능 프로그래밍의 기초를 다지는 데 큰 도움이 되기를 희망합니다. |