Top

[다양한 실전 프로젝트로 배우는]
언리얼 UDK 게임 개발

  • 원서명Mastering UDK Game Development (ISBN 9781849695602)
  • 지은이존 도란
  • 옮긴이문기영
  • ISBN : 9788960775633
  • 30,000원
  • 2014년 05월 29일 펴냄
  • 페이퍼백 | 336쪽 | 188*235mm
  • 시리즈 : acorn+PACKT, 게임 개발 프로그래밍

책 소개

요약

이 책은 언리얼(Unreal) 게임 엔진 UDK를 이용해 다양한 프로젝트를 직접 만들어 봄으로써 UDK를 실제로 어떻게 사용해야 하는지 알려 준다. 인디 게임 분야에서 가장 인기 있는 게임 장르인 플랫포머 게임을 코드 한 줄 작성하지 않고 오직 키즈멧(Kismet)만 사용해 어떻게 처음부터 끝까지 만들어 낼 수 있는지, 플래쉬를 이용해 사용자 정의 UI를 만드는 방법, 중세 RPG게임을 위한 인벤토리 시스템 작성, 마지막으로 언리얼 스크립트를 이용해 UDK의 한계를 벗어나는 방법까지 다룬다. 특히 한국어판 특별부록으로 실은 [언리얼 엔진 4] 단원에서는 언리얼 4에서 강력한 기능으로 추가된 블루프린트 스크립트의 기본 사용법과 확장 가능성을 자세히 다룬다.

이 책에서 다루는 내용

■ 수집 가능한 아이템, 파워업 구현을 통한 사이드 스크롤 플랫포머 게임 제작
■ 프리팹, 파티클 시스템, 스카이박스 구현을 통한 3인칭 레일 슈터 제작
■ 스케일폼을 이용한 HUD 구현: 플래시를 이용해 인터페이스 제작
■ 퍼포먼스를 향상시키고 반복적인 게임 플레이를 피하기 위한 현실적인 배경 제작 방법
■ 지오메트리 모드를 이용하는 배경 제작 방법
■ 아이템을 줍거나 떨어뜨리기, 인벤토리에 아이템 저장하기, 아이템 장착하기 등 동적인 아이템 구현 방법
■ (한국어판 특별 부록) 언리얼 엔진 4: 버전 4에서 추가된 블루프린트 스크립트의 기본 사용법과 확장 가능성

이 책의 대상 독자

이 책은 UDK에서 제공하는 고급 기능과 책에서 제공하는 여러 프로젝트를 통해 실력을 한 단계 높이려는 사람들을 위해 썼다. UDK를 다루어 본 사람들은 쉽게 이 책을 활용할 수 있을 것이며 모든 프로젝트는 단계별로 다이어그램, 화면, 다운로드 가능한 콘텐츠를 제공하기 때문에 UDK 경험이 없는 사람도 이해 가능할 것이다.

이 책의 구성

1장, 키즈멧 고급 - 3인칭 플랫포머 게임: 3D 엔진 UDK를 이용해 사이드 스크롤 게임 2D 플랫포머를 만든다. 이 프로젝트에서 플레이어는 왼쪽, 오른쪽으로 이동 가능하며 정적/동적인 물체들 사이를 점프해 동전과 같은 아이템을 모은다.

2장, 테러 인 딥 스페이스 - 3D 레일 슈터 게임: 우주선을 조정하는 3차원 레일 슈터게임을 만든다. 우주선은 화면에서 움직이며 미사일을 발사한다. 우주선을 향해 날아오는 적들과 운석을 파괴하거나 피하는 게임이다.

3장 테러 인 딥 스페이스 2 - 3D 레일 슈터 게임: 이번 프로젝트에서는 <테러>를 만든다. 2장에서 만드는 게임과 거의 비슷하지만 두 번째 게임이므로 적들이 미사일도 쏜다. 또한 HUD와 오프닝 씬과 같은 것들을 추가해 게임답게 만든다.

4장, 사용자 정의 HUD 제작: 어도비 사의 플래시, 액션 스크립트 3.0, 스케일폼을 이용해 RPG 게임 혹은 UDK에서 제공하는 에픽 시타델(Epic Citadel) 맵에서 그럴 듯해 보이는 HUD를 제작하는 방법을 배워 본다. 5장, 환경 만들기: 작고 세련된 맵을 어떻게 제작하는지 배워 본다. 이번 프로젝트에서 만든 맵은 7장에서 다시 사용한다.

6장, 동적인 아이템: 리지드 바디(Rigid-body) 물리를 이용해 오브젝트를 움직이게 하거나 플레이어가 오브젝트를 집거나/떨어뜨릴 수 있게 하는 방법을 배워 본다. 예제에서는 어떻게 플레이어가 한 손에 오브젝트를 들고 게임 배경을 돌아다닐 수 있게 하는지도 배운다.

7장, 아이템 관리: 커스텀 인벤토리 시스템을 어떻게 만드는지 배운다. 플래시의 기능이 이번 프로젝트에서 어떻게 활용되는지 배울 수 있다. 인벤토리 시스템을 이용해 아이템을 짚어 플레이어에게 장착/해제하고 바닥에 내려놓는 방법도 알아본다.

8장, 언리얼 스크립트: 언제 언리얼스크립트(UnrealScript)를 사용해야 하는지 살펴본 후 스크립트 개발을 위해 툴을 설정하는 것과 객체지향 프로그래밍을 이용해 어떻게 에픽에서 제공하는 기능을 이용하는지 알아 본다. 언리얼스크립트를 이용해 Hello world!라는 간단한 프로젝트를 제작해보고 나서, 그 이후에 좀 더 복잡한 예제인 깜빡이는 라이트를 제작하는 방법을 배운다.

한국어판 특별 부록, 언리얼 엔진 4: 새롭게 출시된 언리얼 엔진 4의 설치 방법과 가장 크게 바뀐 부분인 블루프린트의 기본적인 사용법을 알아보고, C++를 이용해 사용자 정의 블루프린트를 만드는 방법에 대해 다룬다.

저자/역자 소개

저자 서문

언리얼 개발 킷(Unreal Development Kit)은 언리얼 엔진 3의 무료 버전이다. UDK는 굉장히 강력한 게임 개발 도구지만 상업용 혹은 인디 게임 제작에 있어 제대로 도구를 활용하기에는 어려움이 있었다.

이 책에서는 UDK를 이용해 단계별로 게임 프로젝트를 만들어 나가는 방법을 설명한다. 이 책을 공부하고 나면 2D 플랫포머, 레일 슈터 커스텀 HUD을 어떻게 제작하는지 알게 된다. 더 나아가 고급 기능인 RPG게임의 인벤토리를 만드는 방, 효과적으로 게임 환경을 만들 수 있는지 배울 수 있다.

여러분은 흥미로운 예제를 통해 UDK를 어떻게 최대한 활용할 수 있는지 배워 보며, 또한 플래시(Flash)를 이용해 어떻게 UI(User Interface)를 구성하는지를 익힌다. 마지막에는 언리얼스크립트(UnrealScript)를 다루는 방법에 대해 알아 본다. 고급 기능을 배워 감에 따라 여러분이 만들어 갈 게임은 더 흥미로운 게임이 될 것이다.

저자 소개

존 도란(John Doran)

10년 이상의 게임 개발 경력을 가진 테크니컬 게임 디자이너다. 개인 프로젝트와 70여 명의 학생들과 함께 한 작업을 비롯해 모드(Mod), 인디, 프로페셔널게임 프로젝트에서 다양한 게임을 개발했다.

그는 루카스아츠(LucasArts)에서 <스타워즈:> 프로젝트의 인턴으로 일했고 게임 개발 팀원 중 유일한 주니어 디자이너였다. 그 후 워싱턴의 레이몬드에 위치한 디지펜(DigiPen) 교육기관에서 게임 디자인으로 학위를 받았다.

존은 현재 디지펜의 싱가폴 캠퍼스에서 소프트웨어 엔지니어로서 컴퓨터 과학, 프로그래밍, 선형 대수, 게임 디자인을 비롯한 고급 UDK과정, 플래시, 유니티 개발환경 수업을 학생들에게 가르치고 있다.

http://johnpdoran.com에서 그를 만날 수 있고, 메일 주소는 john@johnpdoran.com이다.

옮긴이의 말

UDK(UnrealEngine Development Kit)는 에픽(Epic)에서 무료로 제공하는 게임 엔진입니다. 여기서 게임 엔진이라 함은 게임을 제작하는 데 필요한 전반적인 기능과 API, 도구들의 모음이라고 볼 수 있습니다. UDK는 언리얼 엔진 3를 기반으로 하며, 언리얼 엔진 3에서 제공하는 거의 모든 기능을 사용할 수 있습니다.

이 책은 다양한 프로젝트를 만들어가며 게임 엔진의 사용법을 배울 수 있도록 구성되어 있습니다. 예를 들어 인디 게임 분야에서 가장 인기 있는 게임 장르 중 하나인 플랫포머 게임(슈퍼마리오와 같은 게임)을 코딩 한 줄 없이 오직 키즈멧(Kismet, UDK에서 제공하는 비주얼스크립트 도구)만 사용해서 처음부터 끝까지 차근차근 만들어 봅니다. 그 외에도 레일 슈터 장르인 비행 슈팅 게임, 사용자 정의 UI를 만드는 방법, 게임 레벨을 위한 효과적인 배경을 만드는 방법, 서양식 판타지 RPG 게임을 위한 인벤토리 시스템을 구성하는 방법, 게임 중 무기를 집거나, 버릴 수 있는 방법 등을 역시 코드를 전혀 작성하지 않고 오로지 키즈멧만 사용해 만들 수 있는지에 대해 배워 봅니다.

UDK로 게임을 제작할 때는 전반적으로 키즈멧과 언리얼스크립트(UnrealScript)를 사용합니다. 이 책에서는 키즈멧을 프로젝트별로 어떻게 사용하는지를 다루고, 마지막으로 언리얼스크립트를 이용해 어떻게 UDK의 기능을 확장할 수 있는지 배웁니다.

이 책을 번역하는 중에 언리얼 엔진 4가 출시됐습니다. 버전 4의 가장 강력한 기능으로는 비주얼 스크립트 도구인 ‘블루 프린트’를 들 수 있습니다. 블루 프린트는 키즈멧의 업그레이드 버전이므로 이 책에서 설명하는 키즈멧의 도구 사용법에 익숙하다면 언리얼 엔진 4를 접할 때도 별다른 어려움이 없을 것이며 이 책의 내용이 많은 도움이 되리라 생각합니다.

마지막에 한국어판 특별 부록으로 언리얼 엔진 4의 블루 스크립트의 기본 사용법과 확장 가능성에 대한 글을 실었습니다. 독자들이 언리얼 게임 개발에 대해 학습하는 데 조금이라도 도움이 되기를 바랍니다.

옮긴이 소개

문기영

1999년 게임 산업에서 일을 시작했다. 나모인터랙티브에서 프리랜서로 모바일 게임을 개발했고, 소노브이에서 테크니컬 프로그래머로 일하며 인공지능 시스템, 망토 물리 시뮬레이션, 텍스처 셰이딩 시스템을 개발했다. 이후 EA 캐나다에 들어가 인공지능 AI 프로그래머로서 엑스박스(Xbox)360과 PS3용 <피파>부터 <피파>까지 개발에 참여했고, Practice Mode, CPU AI, Referee rule system을 만들었으며, 애니메이션 프로그래머로서 User celebration을 개발했다. EA 캐나다를 그만둔 후에는 한국으로 돌아와 해머 게임 스튜디오를 창업해 iOS용 게임 ‘Attack of the Pig’를 개발했고, PC, iOS, 안드로이드 3대 플랫폼을 모두 지원하는 자체 엔진 ‘DeadEngine’을 제작했다. 현재는 님블식스라는 회사에서 예전부터 만들고 싶었던 게임을 개발하며 지내고 있다.

저서로는 고등학교 3학년 때 쓴 『비주얼 베이직 6 게임 만들기』와 이후에 쓴 『게임 개발 테크닉』, 『게임 프로그래밍으로 배우는 C#』이 있다. 번역서로 『언리얼게임 엔진 UDK3』가 있으며 시간이 있을 때 넥슨 개발자 컨퍼런스 NDC 및 고등학교에서 강연을 하기도 한다.

목차

목차
  • 1 장 키즈멧 고급 - 3인칭 플랫포머 게임
  • 프로젝트 설명
  • 레벨, 카메라 만들기
  • 플레이어 기능 추가하기
  • 플랫폼들
  • 파워업, 수집 가능한 아이템 추가하기
  • 레벨, 배경 디자인
  • 프로젝트 완료 - 정리
  • 도전 과제

  • 2장 테러 인 딥 스페이스 - 3D 레일 슈터 게임
  • 프로젝트 설명
  • 게임 레벨, 카메라 만들기
  • 우주선 기능 추가(플레이어 조작)
  • 비행선에 파티클 추가하기
  • 장애물을 구현한다
  • 총알 생성과 화면 흔들림 효과 만들기
  • 프로젝트 완료 - 정리
  • 도전 과제
  • 프로젝트 설명

  • 3장 테러 인 딥 스페이스 2: 3D 레일 슈터 게임
  • 여러 개의 소행성 만들기
  • 적기 구현
  • 오프닝 장면
  • 플레이어 체력 게이지 / HUD 시스템
  • 프로젝트 완료 - 정리
  • 도전 과제

  • 4장 사용자 정의 HUD 제작
  • 프로젝트 설명
  • 플래시 설정
  • HUD 만들기
  • 플래시 파일을 UDK에서 불러오기
  • 프로젝트 완료 - 정리
  • 도전 과제

  • 5장 환경 만들기
  • 프로젝트 설명
  • 스테이지 만들기
  • 무대 배경 만들기
  • 레벨에 에셋 배치하기
  • 프로젝트 완료 - 정리
  • 도전 과제

  • 6장 동적인 아이템
  • 프로젝트 설명
  • 동적인 오브젝트 만들기
  • 오브젝트 집기
  • 작업 절차
  • 오브젝트 버리기
  • 오브젝트 장착하기
  • 프로젝트 완료 - 정리
  • 도전 과제

  • 7 장 아이템 관리
  • 프로젝트 설명
  • 커서 추가하기
  • 사용자 정의 버튼 만들기와 윈도우 크기 조절
  • 인벤토리 시스템 구축하기
  • 플래시 파일 UDK로 불러오기
  • 프로젝트 완료 - 정리
  • 도전 과제

  • 8장 언리얼 스크립트: 입문편
  • 프로젝트 설명
  • UnCodeX 설치하기
  • IDE 설정
  • 언리얼 스크립트를 이용한 “Hello world”
  • 깜빡이는 라이트 오브젝트 만들기
  • 프로젝트 완료 - 정리
  • 도전 과제

  • 한국어판 특별 부록 언리얼 엔진 4
  • 언리얼 엔진4 설치
  • 블루 프린트
  • 전문가를 위한 C++

도서 오류 신고

도서 오류 신고

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

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

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

정오표

정오표

[ p83 작업절차 8번 5행 ]

PlayerY -> PlayerZ

[ p87 하단 참고사항 ]

Alt 키를 누른 상태에서 노드를 클릭앤드래그하면 노드를 움직여 보기 좋게 정돈할 수 있다. -> Ctrl키를 누른 채로 GetDirectionInput의 검정색 박스를 클릭앤드래그하면 검정색 박스의 순서를 보기 좋게 변경할 수 있다.

[ p90 작업절차 32번 2행 ]

Multiplay Float -> Multiply Float

[ p102 작업절차 1번 2행 ]

Net Material -> New Material