본문내용 바로가기

KYOBO 교보문고

1만원 캐시백
책들고여행
2020다이어리
  • 교보아트스페이스
언리얼스크립트 게임 프로그래밍(UDK 개발자를 위한)(acorn+PACKT)
* 중고장터 판매상품은 판매자가 직접 등록/판매하는 상품으로 판매자가 해당상품과 내용에 모든 책임을 집니다. 우측의 제품상태와 하단의 상품상세를 꼭 확인하신 후 구입해주시기 바랍니다.
563쪽 | 규격外
ISBN-10 : 8960773859
ISBN-13 : 9788960773851
언리얼스크립트 게임 프로그래밍(UDK 개발자를 위한)(acorn+PACKT) 중고
저자 레이첼 코돈 | 역자 이강훈 | 출판사 에이콘출판
정가
40,000원
판매가
40,000원 []
배송비
3,500원 (판매자 직접배송)
지금 주문하시면 3일 이내 출고 가능합니다.
토/일, 공휴일을 제외한 영업일 기준으로 배송이 진행됩니다.
2013년 1월 23일 출간
제품상태
상태 최상 외형 최상 내형 최상
새 상품
36,000원 [10%↓, 4,000원 할인] 새상품 바로가기
안내 :

중고장터에 등록된 판매 상품과 제품의 상태는 개별 오픈마켓 판매자들이 등록, 판매하는 것으로 중개 시스템만을 제공하는
인터넷 교보문고에서는 해당 상품과 내용에 대해 일체 책임을 지지 않습니다.

교보문고 결제시스템을 이용하지 않은 직거래로 인한 피해 발생시, 교보문고는 일체의 책임을 지지 않습니다.

중고책 추천 (판매자 다른 상품)

더보기

판매자 상품 소개

※ 해당 상품은 교보문고에서 제공하는 정보를 활용하여 안내하는 상품으로제품 상태를 반드시 확인하신 후 구입하여주시기 바랍니다.

판매자 배송 정책

  • 토/일, 공휴일을 제외한 영업일 기준으로 배송이 진행됩니다.

더보기

구매후기 목록
NO 구매후기 구매만족도 ID 등록일
1,485 빠른 배송에 감사드립니다. 5점 만점에 5점 sic*** 2019.12.11
1,484 잘 받았습니다. 배송 고맙습니다. 5점 만점에 5점 imicj*** 2019.12.08
1,483 빠른 배송과 품질에 만족합니다. 5점 만점에 5점 ame*** 2019.12.06
1,482 엉망이고 정말 이럴 수 있나요 5점 만점에 1점 kkin*** 2019.12.04
1,481 배송 빠르고 책상태 좋음. 책가격이 좀 비쌈. 5점 만점에 5점 naman9*** 2019.12.03

이 책의 시리즈

책 소개

상품구성 목록
상품구성 목록

초보자를 위한 언리얼스크립트 게임 프로그래밍 실전 가이드! 언어를 이용해서 언리얼 개발 키트(UDK)에 기초한 게임 프로그래밍 방법을 다룬 『언리얼스크립트 게임 프로그래밍』. UDK의 핵심 요소인 언리얼스크립트를 사용해서 어떻게 게임을 만드는지 알기 쉽게 설명한다. UDK와 프로그래밍을 접해본 적 없는 독자들도 안내에 따라 예제 게임을 완성시킴으로써 UDK에 익숙해질 수 있도록 구성되어 있다.

저자소개

저자 : 레이첼 코돈
저자 레이첼 코돈(Rachel Cordone)은 디자이너이자 독학으로 언리얼스크립트를 배운 프로그래머다. 언리얼 엔진으로 작업해온 것은 1999년부터다. 2003년부터 파이프웍스 소프트웨어(Pipeworks Software)와 파슨스 브링커호프(Parsons Brinkerhoff) 등의 게임 및 시뮬레이션 회사에서 일했고, 직접 스터번 홀스 스튜디오(Stubborn Horse Studios)를 설립하여 언리얼 개발 키트를 이용한 인디 게임을 개발하고 있기도 하다. 스터번 홀스의 첫 번째 프로젝트인 프로메테우스(Prometheus)는 에픽 게임즈(Epic Games)의 메이크 섬씽 언리얼 콘테스트(Make Something Unreal Contest)에서 여러 개의 상을 받았다.

역자 : 이강훈
역자 이강훈은 광운대학교 컴퓨터소프트웨어학과에서 조교수로 재직 중이다. 서울대학교 컴퓨터공학부에서 학사 및 석사 학위를 받았고, 컴퓨터그래픽스 분야의 연구로 동일 학부에서 박사 학위를 받았다. 캐릭터 애니메이션, 게임 인공지능, 인간-컴퓨터 상호작용 등의 분야에 많은 관심을 가지고 있다. 좀더 자세한 정보는 개인 홈페이지에서 확인할 수 있다.

목차

1장 프로젝트 셋업과 테스트 환경 구축
시스템 요구사양
최소 요구사양
실습 예제 | UDK 설치하기
폴더 구조의 개요
Binaries
Development
Engine
UDKGame
코딩을 위한 외부 프로그램의 사용
콘텍스트
실습 예제 | 콘텍스트 설치하기
실습 예제 | 콘텍스트 환경설정
언코드엑스
실습 예제 | 언코드엑스 설치하기
실습 예제 | 언코드엑스 환경설정
nFringe
WOTgreal
프로젝트 셋업
실습 예제 | AwesomeGame 프로젝트의 생성
컴파일과 테스트
실습 예제 | AwesomeActor를 컴파일하고 테스트하기
주석에 관한 짧은 조언
요약

2장 데이터의 저장과 조작
변수와 배열
불리언 변수
실습 예제 | 불리언 변수의 사용
정수와 실수
실습 예제 | 정수의 사용
실습 예제 | 실수의 사용
문자열
실습 예제 | 문자열의 사용
열거형
실습 예제 | 열거형의 사용
배열
실습 예제 | 배열의 사용
동적 배열
실습 예제 | 동적 배열의 사용
구조체
실습 예제 | 구조체의 사용
벡터
실습 예제 | 벡터의 사용
회전자
실습 예제 | 회전자의 사용
변수의 속성
기본속성 영역
실습 예제 | 기본속성 영역의 사용
편집 가능한 변수
실습 예제 | 편집 가능한 변수의 사용
설정 변수
실습 예제 | 설정 변수 만들기
일반 연산자
표준 산술연산
실습 예제 | 수학!
나머지 연산자
실습 예제 | 나머지 연산자의 사용
비교 연산자
실습 예제 | 비교
논리 연산자
실습 예제 | 논리 연산자의 사용
결합
실습 예제 | 결합 연산자의 사용
변수와 관련된 함수들
정수 관련 함수
실수 관련 함수
문자열 관련 함수
벡터 관련 함수
회전자 관련 함수
흐름 제어
If else
실습 예제 | if/else의 사용
For
실습 예제 | for의 사용
While
실습 예제 | 무한 반복
Do until
Switch
실습 예제 | switch의 사용
Return
Goto
요약

3장 클래스 트리의 이해
클래스란 무엇인가?
실습 예제 | 모든 객체는 동일하게 탄생한다
상속
실습 예제 | 클래스 트리에서 상속 확인하기
실습 예제 | 자체 무기의 제작
실습 예제 | 상속을 이용한 실험
함수 재정의
실습 예제 | 고유한 GameInfo와 PlayerController 만들기
실습 예제 | 함수 재정의 실험
변수로서의 액터
실습 예제 | Actor 변수를 이용한 실험
캐스팅
실습 예제 | 액터 변수의 캐스팅
실습 예제 | 캐스팅 적용의 실제적인 사례
요약

4장 사용자 고유 클래스의 제작
클래스 만들기
Awesome Game의 급조된 기획 문서
클래스 구성하기
무기
실습 예제 | 무기 클래스의 제작과 상속
클래스 변경자
Placeable
Notplaceable
Abstract
실습 예제 | abstract 변경자의 사용
Native
Config
Hidecategories
실습 예제 | hidecategories 변경자의 사용
Hidedropdown
Object 클래스와 Actor 클래스
주요 언리얼스크립트 클래스들
GameInfo 클래스
실습 예제 | AwesomeGame의 확장
실습 예제 | 무기 발사!
실습 예제 | Pawn 클래스 다듬기
Controller 클래스
실습 예제 | Controller 클래스의 확장
실습 예제 | 아니, 내 왼쪽이라고!
Pawn 클래스
실습 예제 | 충돌해서 피해 입히기
실습 예제 | 이동하는 적 만들기
HUD 클래스
실습 예제 | HUD의 사용
요약

5장 함수의 활용
함수란 무엇인가?
함수의 정의와 호출
실습 예제 | 함수 작성하기
실습 예제 | 직접 만든 함수 호출하기
실습 예제 | 오작동 해결하기
지역 변수와 객체 변수
지역 변수
실습 예제 | 지역 변수 사용하기
액터를 지역 변수로 참조하기
실습 예제 | 지역 변수로 액터 사용하기
실습 예제 | 탄도 정보 수정하기
함수 매개변수와 변경자
함수 매개변수
실습 예제 | 함수 매개변수의 사용
실습 예제 | out 매개변수
값 반환
실습 예제 | 이걸 좀 반환하고 싶은데요.
함수 변경자
Native
Event
Singular
Exec
실습 예제 | 치팅(cheating) 지원하기
Static
실습 예제 | 정적 함수의 사용
Super
타이머의 사용
실습 예제 | 엄마, 5분만 더요.
모두 다 합쳐보기
실습 예제 | Awesome Game의 확장
요약

6장 스테이트를 이용한 행동 제어
스테이트는 마음의 상태
스테이트 만들기
실습 예제 | 스테이트 코드 작성
스테이트 간의 전환
실습 예제 | 스테이트 전환하기
스테이트 내부에서 함수 재정의하기
지금 어떤 스테이트에 있나요?
실습 예제 | 다중 인격
스테이트에 속하지 않은 함수
실습 예제 | 스테이트에 속하지 않은 함수 호출하기
실습 예제 | 스테이트 안에서 밖에 있는 함수 호출하기
스테이트 전환 감지하기
BeginState
실습 예제 | BeginState의 활용
EndState
실습 예제 | EndState의 활용
스테이트 감지
실습 예제 | 스테이트 감지 함수의 활용
스테이트 상속하기
실습 예제 | Seeking 스테이트의 상속
키워드, 라벨, 잠재 함수
키워드
실습 예제 | ignores의 활용
라벨과 잠재 함수
실습 예제 | 라벨과 잠재 함수 활용하기
보스의 등장
코드 정돈하기
실습 예제 | 코드 원상복귀
쉘렌버그의 공격
실습 예제 | 추상 부모 클래스의 생성
실습 예제 | 보스의 제작과 생성
실습 예제 | 네가 좋아, 그래서 마지막으로 죽일 거야
실습 예제 | 분노 모드 활성화
요약

7장 키즈멧의 활용
키즈멧 개요
간단한 소개
실습 예제 | 키즈멧 사용하기
복잡도 쌓기
실습 예제 | 한층 복잡한 키즈멧 시퀀스
실습 예제 | 디버깅 시간!
키즈멧 액션
키즈멧 액션의 생성
실습 예제 | 키즈멧 액션 만들기
키즈멧 액션에서 변수 사용하기
실습 예제 | 키즈멧에서 변수 사용하기
키즈멧 핸들러 함수
실습 예제 | 핸들러 함수의 사용
실습 예제 | 키즈멧 입력 구분하기
키즈멧 컨디션
실습 예제 | 키즈멧 컨디션 만들기
키즈멧 이벤트
실습 예제 | 청소 시간
키즈멧 이벤트의 생성과 구동
실습 예제 | 첫 번째 키즈멧 이벤트의 구현
의미 있는 이벤트 만들기
실습 예제 | 키즈멧에서 보스 등장시키기
키즈멧 확장하기
실습 예제 | 분대 규모 설정하기
액터 고유 이벤트
실습 예제 | SupportedEvents 사용하기
실습 예제 | 액터 고유 이벤트 만들기
지연된 액션
실습 예제 | 지연된 액션 만들기
요약

8장 멀티플레이어 게임 개발
클라이언트와 서버의 관계
우리 모두를 묶어주는 단 하나의 상태
네트워크 코드의 테스트
서버 설정하기
실습 예제 | 서버 배치 파일
클라이언트 설정하기
실습 예제 | 클라이언트 배치 파일
멀티플레이어 환경에서 동작하도록 고치기
실습 예제 | 플레이어 복원하기
실습 예제 | 게임 복원하기
GameReplicationInfo 클래스
실습 예제 | GameReplicationInfo 만들기
적이 달아나도록 수정하기
실습 예제 | 도망쳐!
실습 예제 | 보스 원상회복
함수 호출 복제하기
복제 함수 변경자
Reliable과 Unreliable 함수
Client 함수
실습 예제 | Client 함수 설정하기
실습 예제 | Client 함수 사용하기
Server 함수
실습 예제 | Server 함수 사용하기
Simulated 함수
실습 예제 | 맵 설정하기
실습 예제 | Simulated 함수 사용하기
실습 예제 | 콤보 브레이커!
액터의 역할과 권한
Role과 RemoteRole
실습 예제 | Role과 RemoteRole 확인하기
실습 예제 | 내 권한을 존중해줘!
NetMode
실습 예제 | NetMode 검사하기
변수 복제하기
복제 영역
실습 예제 | 변수 복제하기
복제와 관련된 변수들
ReplicatedEvent
실습 예제 | ReplicatedEvent 사용하기
요약

9장 디버깅과 최적화
컴파일러 오류
실습 예제 | 망가뜨릴 준비
실습 예제 | 새로운 스크립트 패키지
실습 예제 | 클래스 자체를 망가뜨리기
실습 예제 | 코드 망가뜨리기
실습 예제 | 오해하기 쉬운 오류 메시지
실습 예제 | 의미가 명백한 오류 해결하기
실습 예제 | 한 번에 오류 두 개
실습 예제 | 함수 오작동
실습 예제 | 그 밖에 주의해야 할 함수 관련 오류
실습 예제 | 액터 변수와 관련된 오류
실습 예제 | 그 밖의 변수 관련 오류들
디버깅
Accessed None
실습 예제 | Accessed None 문제 확인하기
실습 예제 | Accessed None 문제 해결하기
실습 예제 | 함수 매개변수의 Accessed None
로그 사용하기
실습 예제 | 시나리오 구성
실습 예제 | 로그를 이용한 디버깅
최적화
프로파일러
실습 예제 | 프로파일러 사용하기
Clock과 UnClock 함수
실습 예제 | Clock과 UnClock 함수 사용하기
효율성 있는 코드를 만드는 여섯 가지 습관
요약

10장 그 밖의 주제
컴포넌트 사용하기
컴포넌트 만들기
실습 예제 | 액터에 하나의 컴포넌트 추가하기
실습 예제 | 컴포넌트와 관련된 컴파일러 오류
컴포넌트와 상호작용하기
실습 예제 | 컴포넌트 변수 사용하기
실용적인 예제
실습 예제 | 켜고 끌 수 있는 손전등 만들기
DLLBind
실습 예제 | DLLBind 사용하기
마지막 조언
기타 관련자료
요약

부록 깜짝 퀴즈 정답

책 속으로

출판사 서평

이 책은 언리얼스크립트 언어를 이용해서 언리얼 개발 키트(UDK)에 기초한 게임을 프로그래밍하는 방법을 소개한다. UDK는 언리얼 엔진의 무료 버전으로서 그 강력한 기능과 유연한 확장성으로 게임 개발자들에게 널리 알려져 있다. 언리얼스크립트의 기초와 ...

[출판사서평 더 보기]

이 책은 언리얼스크립트 언어를 이용해서 언리얼 개발 키트(UDK)에 기초한 게임을 프로그래밍하는 방법을 소개한다. UDK는 언리얼 엔진의 무료 버전으로서 그 강력한 기능과 유연한 확장성으로 게임 개발자들에게 널리 알려져 있다. 언리얼스크립트의 기초와 활용법을 체계적으로 설명한 자료가 매우 귀한 현실에서, 이 책은 UDK로 게임을 만들고자 하는 개발자에게 어둠 속의 등불과 같은 지침서가 되어줄 것이다. UDK와 프로그래밍 그 어느 쪽도 접해본 적 없는 독자를 대상으로 쉽고 친절하게 구성되어 있어서, 누구라도 이 책의 안내에 따라 하나의 예제 게임을 완성시켜가다 보면 어느새 UDK를 자유롭게 프로그래밍할 수 있는 실전 능력을 갖추게 될 것이다.

언리얼스크립트 게임 프로그래밍에 흠뻑 빠져서 배우게 만드는 초보자를 위한 실전 가이드

UDK는 수백여 개의 상업용 게임에 사용된 언리얼 엔진의 무료 버전이다. 언리얼 엔진은 게임 개발을 위한 매우 강력한 툴임에는 틀림없지만 엄청난 복잡성 때문에 어디에서부터 배워야 할지 감을 잡기 어렵다. 이 책은 UDK의 핵심 요소인 언리얼스크립트를 사용해서 어떻게 게임을 만드는지 알기 쉽게 설명한다. 하나의 예제 게임을 직접 만들어나가는 과정을 통해 어느새 자기만의 게임을 만들 수 있는 능력을 갖게 될 것이다.

★ 이 책에서 다루는 내용 ★
■ UDK 프로젝트의 개발 환경을 구축하고 코드를 컴파일하고 테스트하는 방법
■ UDK에서 제공하는 코드를 확장하여 새로운 기능 구현
■ 자신만의 새로운 게임 규칙, 카메라 제어방식, HUD 만들기
■ 언리얼스크립트와 키즈멧을 연동하고 새로운 키즈멧 액션과 이벤트 정의하기
■ 온라인에서 실행되는 멀티플레이어 게임 개발과 테스트
■ 오류를 수정하고 코드를 최적화하는 노하우
■ DLLBind를 통해 UDK 외부 코드와 상호작용하기

★ 이 책의 대상 독자 ★
이 책은 UDK를 처음 접하지만 언리얼스크립트를 이용해서 자신만의 게임 프로젝트를 만들고자 하는 사람들을 위한 것이다. 이 책에서 제공하는 정보들은 다른 프로그래밍 언어에는 익숙하지만 언리얼스크립트를 배워서 그 지식을 더욱 확장하고자 하는 이들에게도 유용할 것이다.

★ 이 책의 구성 ★
1장 '프로젝트 셋업과 테스트 환경 구축'에서는 UDK뿐 아니라 이 책에서 코드를 작성하며 사용하게 될 콘텍스트(ConTEXT)와 언코드엑스(UnCodeX)라는 두 가지 프로그램을 설치하고 설정하는 과정을 안내한다. 또한 UDK의 폴더 구조를 확인하고 설정 파일들을 살펴본다.

2장 '데이터의 저장과 조작'에서는 UDK에서 사용할 수 있는 여러 종류의 변수들을 알아보고, 게임 속에서 지속적으로 변하는 환경에 대응하기 위한 흐름제어 문법을 배운다.

3장 '클래스 트리의 이해'에서는 게임 세계에 존재하는 객체들 간의 관계를 파악할 수 있는 클래스 트리를 다룬다. 클래스의 상속과 함수 재정의를 통해 객체의 행동양식을 제어하는 방법을 배울 것이다.

4장 '사용자 고유 클래스의 제작'에서는 직접 자신만의 클래스를 만드는 과정에 초점을 맞춘다. 어느 UDK 프로젝트에서나 사용되는 핵심 클래스들에 대해 논의하고, 우리만의 게임을 만들기 위해 이들 클래스를 변용하는 방법을 설명한다. 그 과정에서 카메라의 작동방식, 게임의 규칙, 그리고 플레이어의 제어방식을 직접 변경해본다.

5장 '함수의 활용'에서는 함수를 사용해 게임을 확장하는 방법을 배운다. 하나의 객체로부터 다른 객체로 정보를 전달하는 방식, 데이터를 조작하고 그것을 원래 객체에 되돌려주는 방식 등이 여기에 포함된다. 자체적으로 새로운 함수를 만들면 기존 UDK 클래스에는 존재하지 않는 새로운 기능을 객체에 부여할 수 있다.

6장 '스테이트를 이용한 행동 제어'에서는 스테이트가 무엇인지 설명하고 이를 활용하여 게임에 등장하는 적들의 복잡한 행동을 구성하고 제어한다. 스테이트를 만들고, 변경하고, 그 내부 함수를 정의하는 방법 등을 논의한다.

7장 '키즈멧의 활용'에서는 UDK 게임에서 키즈멧을 어떻게 활용할 수 있는지 살펴보고, 새로운 액션과 이벤트를 만드는 방법을 배운다. 이들 액션과 이벤트를 이용하여 레벨에 따라 특징적인 게임 플레이를 구성하는 과정을 보인다.

8장 '멀티플레이어 게임 개발'에서는 테스트 목적으로 클라이언트와 서버를 한 대의 컴퓨터에서 실행시키는 과정을 설명한다. 또한 네트워크 코드를 작성하는 기본 방식 및 멀티플레이어 게임을 염두에 두고 게임을 디자인하는 방법을 다룬다.

9장 '디버깅과 최적화'에서는 언리얼스크립트 코드를 컴파일하고 실행할 때 흔히 마주치게 되는 오류와 이들 문제를 해결하는 방법을 소개한다. 또한 코드를 최적화하여 게임의 수행 속도를 빠르게 하는 여러 가지 방식에 대해서 논의한다.

10장 '그 밖의 주제'에서는 컴포넌트를 이용하여 게임에 등장하는 객체의 겉모습을 제어하는 방법과, DLLBind를 이용하여 UDK 외부의 프로그램에 접근하는 방법을 설명한다.

★ 저자 서문 ★
독자 여러분을 환영한다! 이 책은 독자 스스로 UDK를 이용한 게임 프로젝트를 진행할 수 있도록 언리얼스크립트 언어로 프로그래밍하는 방법을 알려준다. 딱딱한 가공의 코드를 보여주는 대신, 각 장에서 배우는 주제에 따라 실제로 작동되는 게임을 조금씩 쌓아 올릴 것이다. 이 책이 끝날 때쯤이면 자신만의 프로젝트를 시작할 수 있을 정도로 언리얼스크립트에 익숙해져 있을 것이다.

★ 옮긴이의 말 ★
언리얼 엔진은 비교적 오랜 역사와 강력한 기능 덕분에 게임 개발자라면 누구나 한 번쯤 들어봤을 법한 유명한 게임 엔진이다. 원래는 언리얼(Unreal)이라는 제목의 1인칭 슈팅 게임을 제작하기 위한 목적으로 만들어졌지만, 이후 독자적인 발전을 거듭하면서 다양한 장르의 게임에서 성공적으로 활용되고 있다. 언리얼 엔진의 유연한 모듈 기반 아키텍처와 스크립팅 기능은 아마추어 개발자들도 쉽게 기존 게임을 변형하고 확장하여 자신만의 새로운 게임을 만들 수 있는 길을 열어주었다. 하지만 이렇게 만들어진 게임들을 공식적으로 발매하고 유통하려면 기존 언리얼 엔진에 연계된 높은 비용의 라이선스를 획득해야 하는 만만치 않은 장벽을 넘어서야 했다. 언리얼 엔진의 개발사인 에픽 게임즈가 이 같은 수요에 부응하여 2009년에 공개한 것이 바로 이 책에서 다루고 있는 언리얼 개발 키트(이하 UDK)다. 게임 개발자는 무료로 배포되는 UDK를 이용하여 언리얼 엔진의 모든 기능을 활용할 수 있는데다가 소정의 라이선스 비용과 로열티만 지불하면 그 결과물을 상업적으로 판매하는 것도 가능하다. 여가시간을 활용하여 게임을 만드는 개인 개발자나 큰 자본을 갖추지 못한 인디 개발사에게 이는 매우 반가운 소식이다.

UDK를 본격적으로 활용해보고자 할 때 맞닥뜨리게 되는 가장 큰 난관은 십중팔구 언리얼스크립트(UnrealScript)가 아닐까 싶다. UDK 에디터의 경우에는 책이나 튜토리얼 동영상, 블로그 게시물 등 접근 가능한 자료의 양이 꽤 많고, 상당 부분 한글화도 이루어져 있기 때문에 비교적 배우기가 쉽다. 반면 언리얼스크립트에 대해서는 체계적이고 상세하게 가르쳐주는 자료, 더군다나 우리말로 되어있는 자료를 구하기란 쉽지 않다. 간혹 찾을 수 있는 문서들은 각 기능에 따른 단편적인 지식들만 제공하고 있어서 이들 기능을 하나로 꿰어 원하는 새로운 기능을 구현하려면 어디서부터 어떻게 시작해야 할지 막막하기 일쑤다. 언리얼스크립트가 기존의 언어, 이를테면 C/C++나 자바, 혹은 자바스크립트 등의 언어와 유사한 부분이 많은 것도 사실이지만, 이들 언어를 잘 알고 있다고 해도 게임 프로그래밍을 위해 특화된 언리얼스크립트만의 독특한 문법과 구조에 대해서는 새롭게 배워야 할 것이 적지 않다.

이 책은 UDK와 프로그래밍 그 어느 쪽도 접해본 적 없는 독자를 대상으로 놀라울 정도로 쉽고 친절하게 그 두 마리 토끼를 동시에 잡도록 차근차근 안내한다. 내가 처음 이 책의 원서를 접한 후에 가장 먼저 확인한 것은 아마존 웹사이트에 올라온 서평이었다. 일반적으로 좋은 평가를 받는 책이라 해도 간혹 부정적인 서평이 끼어있기 마련인데, 이 책은 칭찬 일색의 서평으로 가득했다. 특히 많은 이들은 이 책을 일반적인 의미에서 ‘객체지향 프로그래밍을 쉽게 가르치는 책’으로 평가하고 있었다. 수년간 초보자를 대상으로 프로그래밍 강의를 진행하면서 매번 그 어려움을 절감해오던 터라 이러한 평가는 책에 대한 호기심을 자극하기에 충분했다. 결국 직접 이 책의 번역을 맡아 처음부터 끝까지 읽고, 실험하고, 우리말로 옮기는 과정을 거치면서 나 역시 다른 평자들과 동일한 결론에 도달하게 되었다.

UDK와 언리얼스크립트를 이용해서 다수의 게임을 직접 개발해온 저자는 그 해박한 지식과 실전 경험을 바탕으로, 초보자가 단순히 따라하는 것부터 시작해서 조금씩 변형하거나 확장해나가고 종국에는 원하는 것을 자유롭게 구현할 수 있도록 안내하는 최적의 경로를 제시한다. 각 단계마다 새롭게 배우는 언리얼스크립트의 문법과 기능은 곧바로 예제 게임에 적용되어 독자는 그 결과를 눈으로 확인할 수 있다. 또한 처음에 아주 간단한 형태로 시작된 게임은 여러 단계가 쌓이면서 점차 복잡하고 정교하고 흥미로워진다. 그 과정에서 저자는 까다로운 수학적 언어 대신 한결같이 편안한 일상적 언어를 통해 독자들에게 친근하게 다가간다. 쉬운 언어를 쓴다고 해서 내용의 깊이가 얕은 것도 아니다. 특히, 객체지향적 코드 설계에 대한 구체적인 조언과 네트워크 코드의 동작에 대한 자세한 설명은 독자가 좀더 높은 수준의 개발자로 발돋움하는 데 필요한 기초를 충실하게 제공한다. 한 권의 책 안에서 이처럼 다방면의 주제에 대해 중심을 잃지 않고 하나의 흐름으로 전개한 것만으로도 저자가 이 분야에 얼마나 깊은 내공을 갖고 있는지, 그리고 완성도 높은 책을 만들기 위해 얼마나 많은 노력을 기울였는지 엿볼 수 있다.

나는 2012년 봄에 이 책의 번역을 시작했고, 원래는 같은 해 여름까지 번역을 마무리해서 2학기에 개설되는 ‘게임설계’라는 강의에서 완성된 번역서를 활용하고자 했다. 하지만 그 동안 몇 권의 책을 번역하면서 늘 겪었던 것과 마찬가지로, 이번에도 역시 계획보다 한참이나 늦게 마무리가 되었다. ‘게임설계’ 강의에서는 아쉬운 대로 원서의 내용을 바탕으로 진행했는데, 그 결과는 예상보다 만족스러웠다. 강의를 듣기 전까지만 해도 UDK에 아무 경험이 없던 학생들이 이 책에서 제시된 설명과 예제 코드를 통해 언리얼스크립트를 익히고, 한 편으로는 튜토리얼 동영상이나 블로그 게시물을 참고해 에디터 사용법을 배움으로써 한 학기라는 짧은 시간 안에 하나의 완성된 게임을 만들어낼 수 있다는 사실이 매우 인상 깊었다. 또한 저수준 API에 의존할 때에 비해 세부적인 구현에 소모되는 시간이 대폭 줄어들었기 때문에 보다 많은 시간을 게임 기획과 설계에 투자함으로써 게임 그 자체의 완성도를 전반적으로 크게 향상시킬 수 있었다. 이 번역서를 손에 쥔 독자 여러분도 제시된 흐름에 따라 모든 예제를 하나씩 구현하고, 실험하고, 탐구하는 과정을 통해 만족스러운 성과를 얻으리라 기대한다.

-2013년 1월 어느 늦은 저녁
노원구 월계동의 연구실에서
이 강 훈

[출판사서평 더 보기 닫기]

책 속 한 문장

회원리뷰

이 책과 함께 구매한 책들

이 책이 속한 분야 베스트

교환/반품안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품안내
반품/교환방법

[판매자 페이지>취소/반품관리>반품요청] 접수
또는 [1:1상담>반품/교환/환불], 고객센터 (1544-1900)

※ 중고도서의 경우 재고가 한정되어 있으므로 교환이 불가할 수 있으며, 해당 상품의 경우 상품에 대한 책임은 판매자에게 있으며 교환/반품 접수 전에 반드시 판매자와 사전 협의를 하여주시기 바랍니다.

반품/교환가능 기간

변심반품의 경우 수령 후 7일 이내, 상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내

※ 중고도서의 경우 판매자와 사전의 협의하여주신 후 교환/반품 접수가 가능합니다.

반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유

소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우(단지 확인을 위한 포장 훼손은 제외)

소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우 예) 화장품, 식품, 가전제품 등

복제가 가능한 상품 등의 포장을 훼손한 경우 예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집

소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)

디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우

시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우

전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우

1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품이므로 단순 변심 및 착오로 인한 취소/교환/반품 시 해외주문 반품/취소 수수료 고객 부담 (해외주문 반품/취소 수수료는 판매정가의 20%를 적용

2) 중고도서 : 반품/교환접수없이 반송하거나 우편으로 접수되어 상품 확인이 어려운 경우

소비자 피해보상
환불지연에 따른 배상

- 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨

- 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

판매자
책들과함께
판매등급
특급셀러
판매자구분
사업자
구매만족도
5점 만점에 5점
평균 출고일 안내
2일 이내
품절 통보율 안내
3%

바로가기

최근 본 상품