책 이미지

책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 게임 프로그래밍
· ISBN : 9788960773851
· 쪽수 : 564쪽
· 출판일 : 2013-01-23
책 소개
목차
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 사용하기
___마지막 조언
______기타 관련자료
___요약
부록 깜짝 퀴즈 정답