Top

언리얼 엔진 4 블루프린트 비주얼 스크립팅 [코드 작성 없이 일인칭 슈터 게임 개발하기]

  • 원서명Blueprints Visual Scripting for Unreal Engine (ISBN 9781785286018)
  • 지은이브렌든 스웰(Brenden Sewell)
  • 옮긴이문기영
  • ISBN : 9788960778702
  • 25,000원
  • 2016년 06월 20일 펴냄
  • 페이퍼백 | 196쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 게임 개발 프로그래밍

책 소개

예제 코드
요약

언리얼 엔진 4의 새로운 기능인 블루프린트를 사용해 코드를 작성하지 않고 1인칭 슈터 게임을 처음부터 끝까지 만들어보는 책이다. 캐릭터 이동에서부터 총알 발사, 적 캐릭터 인공지능 제작, 제약조건, 게임 메뉴 구성, 게임 저장 및 불러오기, 그리고 빌드와 배포에 이르기까지 게임 개발에 필요한 모든 과정을 다룬다.

이 책에서 다루는 내용

■ 새로운 게임을 위한 메커니즘 및 프로토타입의 재빠른 개발
■ 플레이어 능력, 컨트롤 사용자 정의
■ 체력 게이지, 목표 카운터 같은 유저 인터페이스 제작
■ 플레이어 액션과 게임 오브젝트의 상호작용 설정
■ 플레이어를 인지하는 복잡한 적 캐릭터 인공지능 제작
■ 게임의 저장, 일시 정지, 종료를 위한 메뉴 제작
■ 다양한 플랫폼으로 게임 배포

이 책의 대상 독자

게임 개발을 처음 시작하거나 언리얼 엔진 4의 블루프린트 비주얼 스크립팅 시스템을 알아보고 싶은 독자라면 이 책이 바로 여러분을 위한 책이다. 블루프린트를 사용하면 복잡한 게임 메커니즘을 재빠르게 테스트해볼 수 있으며, 프로그램 코드를 작성하지 않아도 된다. 프로그래밍 경험이 전혀 필요 없다!

이 책의 구성

1장, ‘블루프린트를 이용한 오브젝트 상호작용’에서는 새로운 오브젝트를 레벨에 배치하는 방법과 오브젝트 에디터를 통해 오브젝트에 재질을 입히는 방법, 그리고 블루프린트를 통해 런타임에서 트리거를 어떻게 하는지 알아본다.

2장, ‘플레이어의 능력 향상’에서는 블루프린트를 이용해 실시간으로 오브젝트를 생성하는 방법과 플레이어 입력, 액션을 연결하는 방법에 대해 알아본다. 또한 총알 오브젝트와 플레이어의 충돌 처리를 위한 블루프린트를 만드는 방법도 배워본다.

3장, ‘UI 화면 만들기’에서는 플레이어 체력, 스태미나, 탄환, 현재 게임 목표 같은 GUI 요소들을 어떻게 만들고 화면에 표시하는지 배워본다. 이어서, 게임 플레이 값과 연동해 GUI 요소가 이 값들을 어떻게 적용하는지 알아본다.

4장, ‘제약조건과 게임 플레이 목적 만들기‘에서는 플레이어의 능력을 어떻게 제약하는지 설명하고, 블루프린트를 사용해 게임 플레이 목표를 설정하는 방법을 살펴본다. 플레이어의 탄환 수를 반영하는 수집 가능한 탄환과 게임 승리를 위한 조건을 정의하는 방법을 알아본다.

5장, ‘움직이는 적 AI 만들기’에서는 플레이어를 따라다니는 좀비 AI 제작 방법에 대해 배워본다. 이를 위해 내비게이션 메시를 설정하는 방법과 블루프린트에서 정찰 포인트를 제어하는 방법을 살펴본다.

6장, ‘AI 적 업그레이드’에서는 앞서 만든 좀비 AI를 업그레이드해 정찰, 검색, 소리 탐지 같은 기능을 갖추게 한다. 추가로, 게임 플레이 도중에 적들을 실시간으로 생성하는 방법도 알아본다.

7장, ‘게임 상태 추적과 게임 다듬기’에서는 게임을 완성하는 데 필요한 것들을 만들어본다. 예를 들어 라운드 기반 시스템을 만들어 난이도를 조절하고, 게임 저장 기능을 추가해 게임을 저장할 수 있게 한다.

8장, ‘빌드와 배포’에서는 게임의 최종 비주얼 퀄리티를 결정하기 위해 그래픽스 설정을 최적화하는 방법과 게임 빌드를 만드는 방법을 다룬다. 그리고 앞으로 게임 개발자가 되기 위한 조언을 담고 있다.

저자/역자 소개

지은이의 말

언리얼 엔진 4 같은 게임 엔진은 업계 베테랑 개발자 또는 초보 개발자에게 우리가 플레이해보고 싶은 상용 게임의 개발을 위한 최적의 개발 툴이 되어가고 있다. 이전 버전의 언리얼 엔진은 지난 10년 동안 많은 콘솔 게임과 PC 게임 개발에 사용됐고, 최신 버전은 더 나아가 가능한 한 많은 개발자에게 강력한 게임 개발 도구를 제공해 게임 개발을 쉽게 해주고 있다. 특히 주목할 만한 도구는 블루프린트 비주얼 스크립팅(Blueprint Visual Scripting) 시스템이다. 블루프린트는 프로그래밍을 전문적으로 하지 않는 사람도 게임 플레이 메카닉을 만들고 인터페이스를 제공하며, 게임의 상호작용을 구현할 수 있게 해준다.
이 책에서는 단계별로 블루프린트를 사용해 게임 메카닉과 유저 인터페이스를 포함한 많은 것들을 어떻게 구현하는지 알려준다. 언리얼 엔진 4의 블루프린트를 사용해 게임을 개발하는 과정을 통해 게임 개발 기술을 배우게 될 것이다.
먼저 간단한 FPS(First Person Shooter, 1인칭 슈터) 게임을 만드는 것으로 시작해, 프로토타입을 확장해나가며 더 복잡하고 재미있는 게임 경험을 어떻게 만드는지 배워본다. 슈팅 게임을 만들면서 유저 인터페이스를 만들고 인공지능을 갖춘 적 캐릭터도 만들어볼 텐데, 이 과정을 통해 배운 기술은 다른 장르의 게임에도 사용할 수 있다. 이 책을 모두 읽으면 1인칭 슈터 게임의 완전한 동작 방식을 이해하게 될 것이며, 플레이어가 기억할 만큼 재미있는 게임 경험을 어떻게 만드는지도 배우게 된다.

지은이 소개

브렌든 스웰(Brenden Sewell)

이라인 미디어(E-Line Media)의 리드 게임 디자이너로, 5년 동안 교육적이면서도 재미있게 즐길 수 있는 또는 사회에 영향을 미치는 게임을 디자인하고 개발해왔다. 2002년부터 게임을 개발했으며 <네버윈터>를 보며 게임 디자인의 강력함을 깨우쳤다. 2010년 인디애나 대학교에서 인지과학으로 학위를 받았고, 게임 디자이너라는 직업의 기쁨을 더 많은 사람에게 알리고자 자신의 게임 디자인 기술 향상을 위해 노력 중이다.

옮긴이의 말

이 책은 언리얼 엔진 4의 강력한 비주얼 스크립팅 기능인 블루프린트를 사용해 코드 하나 작성하지 않고 1인칭 슈터 게임을 처음부터 끝까지 만들어보며 게임 개발의 전체 과정을 경험하게 해줍니다. 1인칭 슈터 게임 개발에 필요한 캐릭터 이동과 총알 발사를 구현하고 행동 트리Behavior Tree를 사용해 적 캐릭터가 플레이어를 발견하면 플레이어를 쫓아와 공격하는 인공지능과, 소리를 감지해 플레이어의 위치를 추적하는 적 캐릭터 인공지능을 블루프린트만으로 만들어냅니다. 게임 플레이 기능을 모두 구현한 후 언리얼 엔진 4에서 제공하는 UMG를 사용해 게임 메뉴를 만들고 저장 및 불러오기를 구현해 플레이어가 게임을 종료했다가 다시 플레이해도 이전에 플레이하던 시점으로 돌아가도록 구현하는 방법도 배웁니다. 마지막으로, 완성된 게임을 빌드하고 배포하는 방법에 대해 다룹니다.
이 책에서 코드를 작성하는 방법을 가르쳐주진 않지만 블루프린트의 강력함으로 인해 코드 작성 없이도 완성된 게임 개발이 가능하며, 실제 블루프린트의 작성 방법이 코드를 작성하는 것과 크게 다를 바가 없어 이후에 프로그래밍 언어를 배우는 데도 많은 도움이 되리라 생각합니다. 저 역시 이 책을 따라 해보면서 블루프린트의 강력함을 다시 한 번 알게 됐고, 그 과정에서 언리얼 엔진 4를 처음 다루는 분들에게 이 책이 많은 도움이 될 것이라 확신합니다.

옮긴이 소개

문기영

1999년부터 게임 산업에서 일을 시작했으며, 나모인터랙티브에서 프리랜서로 모바일 게임을 개발했고, 소노브이에서 테크니컬 프로그래머로 일하며 인공지능 시스템, 망토 물리 시뮬레이션, 텍스처 셰이딩 시스템을 개발했다. 이후 EA 캐나다로 이직한 후 AI 프로그래머로서 Xbox360, PS3용 FIFA08~12 게임들을 개발하고 Practice Mode, CPU AI, Referee Rule System을 만들었으며, 애니메이션 프로그래머로서 User celebration을 개발했다. EA 캐나다를 그만둔 후에는 한국으로 돌아와 해머 게임 스튜디오를 창업해 아이폰 게임 를 개발했고, PC, 아이폰, 안드로이드 3대 플랫폼을 모두 지원하는 자체 엔진 DeadEngine을 제작했다. 그 이후 팔라독을 개발한 페이즈켓에서 테크니컬 디렉터로 일했으며, 현재는 캡콤 코리아에서 근무하고 있다. 저서로, 고3 때 쓴 『비주얼 베이직 6 게임 만들기』를 비롯해 『게임 개발 테크닉』, 『게임 프로그래밍으로 배우는 C#』, 『유니티 2D 모바일 게임 개발』이 있으며, 번역서로는 에이콘출판사에서 출간한 『언리얼 게임 엔진 UDK 3』, 『언리얼 UDK 게임 개발』, 『유니티 2D 플랫포머 게임 개발』이 있다.

목차

목차
  • 1장. 블루프린트를 이용한 오브젝트 상호작용
    • 첫 번째 레벨을 위한 프로젝트 생성
      • 새로운 프로젝트를 위한 견본 설정
      • 프로젝트 설정 이해
      • 프로젝트 생성
    • 레벨에 오브젝트 추가
    • 재질 살펴보기
      • 재질 만들기
      • 재질 속성과 블루프린트 노드
      • 재질에 다른 재료 추가
    • 처음으로 블루프린트 만들기
      • Event Graph 패널 살펴보기
      • 히트 감지
      • 재질 교체
      • 블루프린트의 개선
    • 이동 추가
      • 액터 이동성과 충돌 설정 변경
      • 목표 나누기
      • 변수에 값 저장
      • 방향 계산
      • 델타 타임을 이용해 상대적인 속도 구하기
      • 이동
      • 위치 값 업데이트
    • 방향 바꾸기
      • 움직이는 타깃 테스트
    • 요약

  • 2장. 플레이어의 능력 향상
    • 블루프린트를 확장해 뛰는 기능 추가
      • 블루프린트 캐릭터 이동, 나누어 정복하기
      • 사용자 정의 컨트롤 입력
      • 달리기 능력 추가
    • 확대 화면 움직이기
      • 타임라인을 사용한 부드러운 전환
      • 발사체 속도 빠르게 하기
    • 사운드, 파티클 이펙트 추가
      • 분기를 사용한 상태 부여
      • 소리, 폭발, 파괴 일으키기
    • 요약

  • 3장. UI 화면 만들기
    • UMG를 사용한 간단한 게이지 UI 제작
      • 위젯 블루프린트로 모양 그리기
      • 게이지 모양의 사용자 정의
      • 탄환과 적 카운터 만들기
      • HUD 표시
    • UI 값과 플레이어 변수의 연결
      • 체력, 스태미나의 바인딩
      • 텍스트 바인딩
    • 탄환 그리고 제거된 적 추적
      • 탄환 수의 감소
      • 제거된 적 카운터의 증가
    • 요약

  • 4장. 제약조건과 게임 플레이 목적 만들기
    • 플레이어 액션 제약조건
      • 달리는 동안 스태미나 소모시키기
      • 액션을 반복하기 위한 반복 타이머 사용
      • 분기를 이용한 액션 저지
      • 스태미나 회복
      • 탄환이 없을 때 총 쏘기 액션 막기
    • 수집 가능한 오브젝트 제작
      • 수집 로직 설정
    • 게임의 승리 조건 설정
      • HUD에 목표 수치 표시
      • 승리 화면 메뉴 만들기
      • 화면에 메뉴 보이기
      • 게임 승리 활성화
    • 요약

  • 5장. 움직이는 적 AI 만들기
    • 내비게이션을 사용하는 적 액터 설정
      • 마켓플레이스로부터 에셋 임포트하기
      • 플레이 공간 확장
      • NavMesh를 이용한 이동 가능한 레벨 만들기
      • AI 에셋으로 인공지능을 위한 무대 설정
    • 내비게이션 행동 만들기
      • 정찰 포인트 설정
      • 에셋 간의 커뮤니케이션
      • 행동 트리를 사용한 AI 걷기
    • 플레이어를 추적하는 AI 캐릭터 만들기
      • 적에게 시야와 폰 감지 능력 부여
      • 행동 트리에 조건 추가
      • 추적 행동 만들기
    • 요약

  • 6장. AI 적 업그레이드
    • 적이 공격하게 만들기
      • 공격 태스크 만들기
      • 체력 게이지 갱신
    • 적에게 소리를 감지하는 능력과 발생한 지점 살펴보게 하기
      • 행동 트리에 듣기 추가
      • 조사 태스크 설정
      • 노이즈 이벤트 데이터의 해석과 보관
      • 플레이어 액션에 노이즈 추가
    • 적을 소멸 가능하게 만들기
      • 블루프린트 콘텐츠 재사용을 통한 시간 단축
    • 게임플레이 도중 더 많은 적 캐릭터 생성하기
      • 적들이 나타날 위치 결정
      • 생성 주기와 제한 제어
      • 레벨 블루프린트에서 새로운 적 생성
    • 적 캐릭터를 위한 배회 행동 만들기
      • 사용자 정의 태스크와 함께 배회 지점 확인
      • 행동 트리에 배회 행동 추가
    • 요약

  • 7장. 게임 상태 추적과 게임 다듬기
    • 플레이어의 죽음 처리
      • 패배 화면 설정
    • 저장 기능을 사용한 라운드 기반 시스템 구축
      • SaveGame 오브젝트를 사용한 게임 정보 저장
      • 저장 그리고 저장된 데이터로 게임 불러오기
      • 목표 증가시키기
      • 라운드 변경 사이에 나타나는 전이 화면 만들기
      • 현재 라운드 클리어 시, 새로운 라운드로 전이
    • 게임 일시정지와 저장 파일 리셋
      • 일시정지 메뉴 만들기
      • 재개하기와 저장 파일 리셋
      • 일시정지 메뉴 활성화
    • 요약

  • 8장. 빌드와 배포
    • 그래픽스 설정 최적화
    • 게임 유저를 위한 빌드 준비
      • 게임 빌드 패키징
    • 추가 학습을 위한 단계
      • 많은 게임을 완성하고 공유하자
      • 한계를 늘리자
      • 추가 학습과 지원을 위한 리소스
    • 요약

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

2016. 12. 14 수정사항

[p.84: 1행]
추자거으로
->
추가적으로