Top

언리얼 엔진 4 AI 프로그래밍 에센셜 [블루프린트로 인공지능 게임 만들기]

  • 원서명Unreal Engine 4 AI Programming Essentials (ISBN 9781784393120)
  • 지은이피터 뉴튼(Peter L. Newton), 지 펭(Jie Feng)
  • 옮긴이고은혜
  • ISBN : 9788960779228
  • 24,000원
  • 2016년 10월 26일 펴냄
  • 페이퍼백 | 204쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 게임 개발 프로그래밍

책 소개

요약

정식으로 프로그래밍 교육을 받지 않은 아티스트나 디자이너 등 게임 업계 종사자 및 학생들을 위한 책이다. 언리얼 엔진 4의 블루프린트 기능을 비주얼 스크립팅 언어로 활용해 다양한 AI 행동 양식을 만들어 내는 기본론을 알기 쉽게 설명한다. 언리얼 엔진 4의 4.7.0 버전을 기준으로 저작됐으며, 언리얼 엔진을 기존에 사용해 본 경험이 있는 독자라면 쉽게 따라할 수 있는 다양한 예제를 중심으로 AI 만드는 법을 쉽게 풀어냈다.

이 책에서 다루는 내용

■ 언리얼 엔진 4 게임 AI와 관련된 기초 컴포넌트 이해

■ 언리얼 엔진 4 게임 AI 소개

■ 폰(pawn)의 내비게이션 설정, 커스터마이즈, 배정과 AI 컴포넌트

■ 게임 AI 행동 양식 생성, 디버그, 분석

■ 비헤이비어 트리(Behavior Tree) 방법론을 이용한 반응성 좋은 게임 AI 설계

■ AI와 상호작용하도록 설계된 스마트한 오브젝트 생성

■ 프로젝트에서 고급 AI 기능을 활용한 사용자 경험 극대화

이 책의 대상 독자

이 책은 언리얼 엔진 4의 게임 AI에 대해 더 알아보고자 하는 프로그래머와 아티스트를 대상으로 한다. 언리얼 엔진 4에 대한 개요는 생략하고 바로 게임 AI를 살펴볼 것이므로, 이전에 언리얼 엔진을 사용해봤기를 바란다.

이 책의 구성

1장. ‘게임 AI 소개’에서는 AI의 기본 개념과 함께, AI가 어떻게 게임 경험에 직접적인 영향을 미치며 또 향상시키는지 소개한다. 특히 전통적인 AI와 게임에 특화된 AI의 목적이 어떻게 다른지 알아본다.
2장. ‘기본 AI 생성’에서는 당신의 첫 번째 AI를 직접 차근차근 만들어보면서, 여기에 사용되는 기술에 대해 설명한다. 언리얼 엔진 4에 바로 뛰어들어 기본 컴포넌트를 사용해 무작위로 움직이는 AI의 단일 상태를 만들어본다.
3장. ‘무작위성과 확률 추가’에서는 무작위성과 확률 기술을 어떻게 사용하는지 알려주며, 게임을 예측하기 어렵고 더욱 흥미롭게 만들어본다. 언리얼 엔진 4에서는 이 기술을 어떻게 사용해야 하는지 살펴본다.
4장. ‘이동 도입’에서는 언리얼 엔진 4에서 AI 캐릭터에 이동을 도입하는 법을 소개한다. 캐릭터가 레벨 안에서 지능적으로 내비게이션하게 할 때는 길 찾기(path finding)가 쓰인다.
5장. ‘AI에게 선택권 부여’에서는 비헤이비어 트리(Behavior Tree)를 이용해 캐릭터에 자동적인 비헤이비어를 넣는 방법을 설명한다. 비헤이비어 트리는 나무 형태의 구조로 AI의 로직을 시각적으로 구성하며, 다양한 캐릭터에 재사용할 수 있는 기법이다.
6장. ‘AI의 감각은 어떻게 이뤄지는가?’에서는 언리얼 엔진 4에서 우리의 AI가 월드 안에 배치해둔 다른 AI와 폰(pawn)을 감지할 수 있게 해주는 다양한 컴포넌트의 사용법을 설명한다.
7장. ‘고급 이동’에서는 군집(flocking)과 같은 고급 길 따라가기(path-following) 행동을 집중해서 살펴본다. 군집은 여러 AI 캐릭터에 대한 그룹 행동 양식을 만들 수 있게 해준다.
8장. ‘순찰, 추적, 공격하는 AI’에서는 이전 장들에서 사용해 우리의 AI 캐릭터가 내비게이션하게 해줬던 AI 감각과 이동을 포함해 여러 컴포넌트를 조합해본다. 그런 다음, AI 캐릭터가 감지한 캐릭터를 추격하는 데 보내는 시간을 무작위로 적용해볼 것이다.
9장. ‘지금까지 배운 내용’에서는 이전 장에서 다룬 내용들을 간략히 복습한다. 또한 이 책에서 배운 것을 서로 결합해 어떤 것들을 얻을 수 있는지 논의해본다.

상세이미지

저자/역자 소개

지은이의 말

인공지능(AI)이란 어느 게임에서나 필수적인 부분이다. 우리가 만들어낸 가상 세계에 플레이어가 몰입할 수 있게 만들고 플레이할 재미를 주는 것이 바로 AI다. 그런데 게임 AI는 우리가 아는 일반적인 과학 분야의 AI와는 다르다. 게임 AI란 NPC(nonplayer character)가 장애물을 피해 한 곳에서 다른 곳으로 이동하는 내비게이션, 다양한 상황에 따라 특정 액션을 어떻게 수행할지에 대한 결정, 환경에 어떤 것들이 존재하며 상태는 어떤지 이해하는 능력인 환경 감지 같은, 게임 디자인 측면의 핵심적인 문제를 해결하기 위한 기술이다. 이런 기술 덕분에 플레이어들이 가상의 세계에 더 빠져들 수 있게끔 역동적이고 사실적인 게임 플레이를 만들 수 있게 됐다.
게임 AI는 복잡하며, 직접 개발하려면 수많은 난관을 극복해야만 한다. 언리얼 엔진 4는 크로스 플랫폼을 겨냥한 3D나 2D 게임을 제작하는 데 있어 풍부한 기능을 제공하는 강력한 게임 엔진이며, 빼어난 그래픽과 고도로 커스터마이즈할 수 있는 컴포넌트를 갖춘 것으로 유명하기도 하다. 게다가 이제는 무료로 사용할 수 있는 오픈소스로 제공돼, 가장 인기 있는 게임 엔진 중 하나로 꼽히기도 한다. 언리얼 엔진 4는 내브메시(NavMesh), 비헤이비어 트리(Behavior Trees), 환경 쿼리 시스템을 포함한 완벽한 게임 AI용 툴 세트를 제공한다. 이런 툴을 활용하면 게임에 AI를 넣기가 훨씬 쉬워진다. 게임 디자이너라면 블루프린트(Blueprints)라는 비주얼 스크립팅 툴을 활용해, 코드 한 줄 쓰지 않고 노드만 연결해 AI를 포함한 게임 로직을 구축할 수도 있다.
이 책은 언리얼 엔진 4의 이런 멋진 툴을 소개함으로써 게임 AI를 구축해 가상 세계를 더욱 흥미롭게 만들고자 하는 이들을 돕는다. 위에서 언급한 모든 컴포넌트를 다루고, 각 툴을 어떻게 이용해 다양한 캐릭터의 행동 양식을 구축하고 이를 조합해 좀 더 복잡한 씬을 만들어낼 수 있는지 보여준다.

지은이 소개

피터 뉴튼(Peter L. Newton)

어릴 적부터 컴퓨터에 관심이 커서 기술 쪽을 공부했고, 웹 애플리케이션 분야에서 개발의 첫 발을 뗐다. 프로그래밍 광인 그는 다양한 소프트웨어 디자인과 프로그래밍 패턴을 심도 있게 연구했다. 배움 그 자체를 좋아해 수많은 시간 동안 리버스 엔지니어링 어셈블리(reverse engineering assembly)와 컴퓨터 칩 명령 체계를 독학으로 공부했다. 피터는 수년간 웹 개발자, 소프트웨어 개발자, 데이터베이스 아키텍트, 하드웨어 기술자로서 경력을 쌓았고, 가상 현실/게임 업계의 크리에이트(Create), 소니 픽처스, 그리고 에픽 게임즈의 언리얼 엔진 4 개발자로 일했다.
최근에는 VR 프로젝트로 디지털 할리우드의 ‘시네마틱 및 TV 가상 현실 부문 최우수상(Best In Virtual Reality Based on a Cinematic or Television Experience)’을 수상한 ‘Can You Walk The Walk?’를 제작했다.

지 펭(Jie Feng)

중국 자싱 출신으로, 콜럼비아 대학에서 박사 과정을 밟고 있다. 머신 러닝과 컴퓨터 비전을 전공하며 이미지로부터 사물을 감지하고 인식하는 것부터 대규모 데이터베이스에서 비슷한 이미지를 추출해 동영상 속 인간의 행동 양식을 이해하는 것에 이르기까지 다양한 문제를 연구하고 있다. 수행했던 작업은 유수의 국제 회의에서 발표돼 왔으며, 미국 특허도 보유하고 있다. 소프트웨어 디자이너이자 개발자로서 마이크로소프트, 아마존, 어도비에서 근무하기도 했다. 인공지능을 실제 세계의 문제에 적용하는 데 열정을 갖고 있으며, 마이크로소프트 키넥트와 모션을 통해 건강을 분석하는 프로젝트로 2013년 뉴욕 혁신 건강 기술 공모전(Innovative Health Tech NYC competition)의 피플스 초이스 상(People’s Choice Award)을 수상하기도 했다. 현재는 아이스타일(EyeStyle)이라는 패션 관련 프로덕트를 개발 중이다.
비디오게임 덕분에 컴퓨터공학을 공부하게 됐다. 액션 어드벤처 장르를 가장 좋아하며, <레지던트>, <툼>, <언차티드> 같은 타이틀이 혁신적인 사고에 영향을 미쳤다. 이 책의 저술은 인공지능에 대한 자신의 지식을 게임 디자인에 적용하고, 언리얼 엔진 4를 이용해 지능적인 캐릭터를 만들어낼 수 있는 잠재성을 발견하게 해준 색다른 경험이었다.

옮긴이의 말

지난 봄, 구글이 만든 인공지능 ‘알파고’가 바둑에서 이세돌 9단을 이겼다. 이 일로 인해 이제서야 전 국민이 인공지능의 힘을 눈으로 보고 그 중요성을 인지했지만, 게임 개발자들에게 인공지능이란 오래전부터 게임의 중요한 부분을 담당해온 중심이자 필수 요소다.
영웅이 지정한 위치로 달려가는 것도, <스타크래프트>의 유닛들이 공격 명령에 따라 일사천리의 전투를 벌이는 것도, NPC가 다양하게 털어놓는 대화도, 적이 플레이어의 가장 약한 약점을 찌르고 들어올 때도, 광활한 환경 속에서 자동으로 일어나는 모든 일들 뒤에는 인공지능이 있다. 플레이어의 몰입도와 재미를 높여 기억에 남는 게임 플레이를 발생시키는 그 핵심이 바로 인공지능인 것이다.
지금까지는 게임에 이렇게 중요한 부분을 차지하는 인공지능이 절대 접근하기 쉬운 부분이 아니었다. 깊이 파고들자면 그 끝을 알 수 없고, 간단한 인공지능도 상당한 지식과 프로그래밍 지식을 요구했기 때문이다. 하지만 게임 엔진의 발전과 함께 더욱 쉽게 인공지능을 다룰 수 있는 환경이 마련됐고, 언리얼 엔진 4에 와서는 게임 인공지능의 구성에 새로운 장이 열렸다고 해도 과언이 아니다. 본문에서 설명하다시피, 블루프린트나 비헤이비어 트리를 이용해 프로그래밍에 대한 기초 지식이 없더라도 많은 사람들이 인공지능 기능을 사용해 수준 높은 게임을 만들 수 있게 되는 길이 더욱 활짝 열린 것이다.
이 책을 번역하면서 내 머릿속에서 그려진 모습이 바로 그것이다. 더욱 강력해졌지만 동시에 더 다루기 쉬워진 언리얼 엔진 4를 통해 인공지능을 구성하는 독립 개발자들의 모습. 그리고 그 개발자들에게 도움이 될 이 책을 번역하는 내 자신의 뿌듯함도 동시에 따라왔다. 게임의 인공지능이란 절대로 쉬운 주제는 아니지만 충분히 마스터할 만한 가치가 있으며, 이 책이 그에 대한 통달로 가는 길에 큰 도움을 줄 책인 것은 의심할 여지가 없다. 게임을 개발하는 것이 아니라 개발된 콘텐츠를 한글화하며 밸런싱 패치를 하는 개발자들이 분명 천재이리라 생각하는 비개발자인 나 역시, 이 책을 번역하면서 배운 것들을 활용하면 재미있겠다는 생각이 들 정도였으니 말이다. 특히나 무료로 배포되는 게임 엔진을 통해 간단하고 직관적으로 인공지능을 설계할 수 있으므로 이 책을 게임 인공지능에 대한 공부를 시작하는 출발선으로 여길 수도 있다.
이 책을 통해 언리얼 엔진 4로 인공지능을 공부하고자 하는 사람들에게 행운이 따르길 기원하면서, 게임을 개발하는 모든 사람들의 염원인 ‘재미있는 게임’을 만드는 데 이 책이 조금이나마 도움이 되었으면 하는 바람을 덧붙이며 이 글을 마친다.

옮긴이 소개

고은혜

동국대학교에서 영어영문학을 전공했다. 졸업 후 12년간 서구권 TV 애니메이션 제작사에서 통번역을 담당하면서 미디어 콘텐츠 분야의 경력을 쌓았다. 이후 게임 개발/퍼블리셔 웹젠(Webzen)을 시작으로 게임 분야에 몸담았으며, 영미권 개발 스튜디오의 게임 개발 자료 design documents 번역에서 게임 로컬라이제이션으로 활동 영역을 넓혔다. 미국의 게임 개발사 라이엇 게임즈(Riot Games)에서 로컬라이제이션 팀장으로 일하면서 4년여 간 인기 온라인 게임 <리그>의 한국 런칭으로부터 제반 게임 콘텐츠 및 공식 홈페이지의 게임 소개를 비롯한 해당 게임 관련 미디어 콘텐츠의 한글화를 총괄했다.
현재는 게임 및 IT 서적 전문 번역가로 일하며, 게임로프트(Gameloft) 사의 여러 모바일 게임 콘텐츠 한글화와 함께 다양한 IT 서적을 번역하고 있다. 독립 IT 기술자의 저술 강연 상호부조 네트워크 GoDev의 일원이다.

목차

목차
  • 1장. 게임 AI 소개
  • 2장. 기본 AI 생성
  • 3장. 무작위성과 확률 추가
  • 4장. 이동 도입
  • 5장. AI에게 선택권 부여
  • 7장. 고급 이동
  • 8장. 순찰, 추적, 공격하는 AI
  • 9장. 지금까지 배운 내용

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

정오표

2016. 11. 15 수정사항

[p.53: 아래에서 2행]
3. Actor Class 핀을 Hero로 설정한다.
->
3. Actor Class 핀을 My Character로 설정한다.

이후 실행 과정은 스크린샷을 따라 해주시기 바랍니다.