본문 바로가기

추천 검색어

실시간 인기 검색어

C++ 스크립트를 활용한 언리얼 엔진 5 게임 개발

C++ 기초부터 실제 게임 개발까지, 언리얼 게임 개발의 모든 것
게임 개발 프로그래밍
젠유 조지 리 저자(글) · 진석준 번역
에이콘출판 · 2024년 11월 29일
5.9
10점 중 5.9점
(3개의 리뷰)
도움돼요 (67%의 구매자)
  • C++ 스크립트를 활용한 언리얼 엔진 5 게임 개발 대표 이미지
    C++ 스크립트를 활용한 언리얼 엔진 5 게임 개발 대표 이미지
  • A4
    사이즈 비교
    210x297
    C++ 스크립트를 활용한 언리얼 엔진 5 게임 개발 사이즈 비교 188x235
    단위 : mm
01 / 02
무료배송 소득공제
10% 34,200 38,000
적립/혜택
1,900P

기본적립

5% 적립 1,900P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 1,900P
  • 리뷰 작성 시, e교환권 추가 최대 300원
배송안내
무료배송
배송비 안내
국내도서/외국도서
도서 포함 15,000원 이상 구매 시 무료배송
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)

15,000원 미만 시 2,500원 배송비 부과

교보Only(교보배송)
각각 구매하거나 함께 20,000원 이상 구매 시 무료배송

20,000원 미만 시 2,500원 배송비 부과

해외주문 서양도서/해외주문 일본도서(교보배송)
각각 구매하거나 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

업체배송 상품(전집, GIFT, 음반/DVD 등)
해당 상품 상세페이지 "배송비" 참고 (업체 별/판매자 별 무료배송 기준 다름)
바로드림 오늘배송
업체에서 별도 배송하여 1Box당 배송비 2,500원 부과

1Box 기준 : 도서 10권

그 외 무료배송 기준
바로드림, eBook 상품을 주문한 경우, 플래티넘/골드/실버회원 무료배송쿠폰 이용하여 주문한 경우, 무료배송 등록 상품을 주문한 경우
주문정보를 불러오는 중입니다.
기본배송지 기준
배송일자 기준 안내
로그인 : 회원정보에 등록된 기본배송지
로그아웃 : '서울시 종로구 종로1' 주소 기준
로그인정확한 배송 안내를 받아보세요!

이달의 꽃과 함께 책을 받아보세요!

1권 구매 시 결제 단계에서 적용 가능합니다.

알림 신청하시면 원하시는 정보를
받아 보실 수 있습니다.

키워드 Pick

키워드 Pick 안내

AI가 발견한 연관 키워드로 새로운 도서를 탐험해
보세요. 아직 열심히 학습 중이라 조금 어색한 키워드가 노출 될 수 있어요.

C++와 객체지향의 기본적인 개념을 배우는 것부터 시작해 C++ 스크립트와 언리얼 블루프린트를 활용해 실제 게임을 개발하는 과정을 차근차근 설명하는 책이다. 게임 액터와 캐릭터를 만들고 이를 제어하는 법, 다양한 오브젝트의 충돌을 처리하는 법, 코드가 완성된 다음 리팩터링을 통해 코드 전체의 품질을 향상하는 법 등 게임 개발 실전에서 다양하게 활용할 수 있는 내용을 상세하게 다루고 있다.

작가정보

(Zeheyu George Li)
20년이 넘는 현장 경력을 가진 열성적인 게임 개발자다. 노련한 소프트웨어 엔지니어로서 경력 내내 다양한 게임 개발에서 중요한 공헌을 해왔으며, 현재는 유니티의 시니어 개발 컨설턴트로 일하고 있다.
대학 시절부터 비디오 게임에 매료되기 시작했고, 이로써 자신의 직업 여정을 결정하는 데
필요한 기반을 마련했다. 게임 개발 경력 초기에 비주얼 베이직, C/C++, 다이렉트X(DirectX), OpenGL, 윈도우 GUI(Windows GUI)와 같은 기술에 몰두했고, 이러한 기초적인 경험은 이후 업계에서 성공할 수 있는 토대가 됐다.
경력을 이어오는 동안 다양한 상용 게임에 공헌해왔다. 포트폴리오 중에서도 특히 〈헤일로
인피니트〉, 〈매직 더 개더링 아레나〉, 〈스텔라〉, 〈데드 라이징 2〉, 〈빅스 2〉와 같은 게임들
이 눈에 띈다. 이들 프로젝트에 참여하면서 프로그래밍, 게임 엔진, 게임플레이 및 AI, 그래픽, 애니메이션, 멀티플레이어 게임, 멀티플랫폼 게임, 게임 물리 등의 다양한 영역에 걸쳐 폭넓은 지식과 실무 경험을 쌓을 수 있었다. 실제 게임 프로젝트 개발에서는 언리얼 엔진과 유니티 엔진을 모두 사용했다.
게임 개발자로서의 업적 외에 8년 동안 대학에서 학생들을 가르치면서 강의 능력도 연마했다. 밴쿠버 필름 스쿨(VFS, Vancouver Film School), 인터랙티브 아트 대학(College of Interactive Arts), 허페이 유니온 대학교(Hefei Union University)에서 강사로 활동하며 자신의 지식과 전문 기술을 개발자를 꿈꾸는 학생들에게 공유해왔다. VFS에서 강의하는 동안 학생들에게 언리얼 엔진의 복잡한 기능을 가르치기도 했다.

데브시스터즈 기술본부에 재직하고 있으며 다양한 게임 관련 기술 서적을 번역해왔다. 끊임없이 변화하는 기술 트렌드에 맞춰 몸담고 있는 조직과 스스로가 어떻게 진화할 수 있는지를 늘 고민하고 있다. 『게임 물리 엔진 개발』(지앤선, 2016), 『언리얼 엔진 4로 나만의 게임 만들기』(에이콘, 2016), 『봇을 이용한 게임 해킹』(에이콘, 2018), 『게임 테스팅 3/e』(에이콘, 2019), 『시스템으로 풀어 보는 게임 디자인』(에이콘, 2022), 『로블록스 루아 프로그래밍 첫 발자국 떼기』(에이콘, 2022) 등을 번역했다.

작가의 말

먼저 이 책을 선택한 독자 여러분을 환영하고 감사의 마음을 전한다. 이 책은 언리얼 엔진으로 게임을 개발하기 위해 C++ 프로그래밍 스킬을 전문적인 수준으로 발전시키려는 개발자와 학생들을 대상으로 만들어졌다.
언리얼 엔진은 게임과 영화 산업에서 널리 사용되고 있는 강력하고 다재다능한 툴이다. 전문적인 수준의 언리얼 엔진 개발 스킬을 보유한다면 게임 개발에서 필요한 역량을 효과적으로 갖출 수 있으며, 이를 통해 다양한 기회를 접하게 될 것이다.
언리얼 엔진으로 개발할 때는 일반적으로 아래 방법 중 하나 혹은 둘 모두를 선택하게 된다.

◆ 블루프린트는 사용자 친화적인 인터페이스를 제공하므로 프로그래머가 아닌 직군들도 유용하게 사용할 수 있다.
◆ C++는 대부분의 소프트웨어 엔지니어들이 사용하는 언어로, 게임 개발에 좀 더 신뢰할 수 있고 강건한 방법론을 제공한다.

언리얼 엔진 개발자라면 C++를 깊이 있게 이해해야 하며, 소프트웨어 엔지니어가 아니더라도 이 언어가 어떻게 엔진과 통합되는지를 이해해야 한다.
이 책은 게임 개발에 필요한 핵심적인 원리와 함께 개발의 전 단계에 대한 가이드를 제공함으로써 독자 여러분의 지식과 스킬을 확장시킨다.. 또한 학습 곡선을 완화해 책에서 제시된 개념을 좀 더 원활하고 효과적으로 습득하는 것을 목표로 한다. 세심하게 구성된 주제들은 불필요한 검색을 수행하거나 관련 없는 주제의 문서를 읽는 데 들어가는 시간을 줄여주고 필요한 정보만 집중적으로 획득할 수 있게 해줄 것이다. 여기에 더해 이 책은 이후에도 여러 번 다시 찾아보고 활용할 수 있는 매뉴얼로도 충분한 가치를 제공한다.

목차

  • 1부 - 언리얼 C++ 스크립트 시작하기


    1장. 첫 언리얼 C++ 게임 만들기
    __기술적인 요구 사항
    __언리얼 C++ 스크립팅 살펴보기
    ____C++와 블루프린트의 차이
    ____언제 C++를 사용하는가?
    ____C++ 프로그래밍과 C++ 스크립팅의 차이
    __템플릿을 활용해 C++ 슈팅 게임 프로젝트 생성하기
    ____비주얼 스튜디오 2022 설치하기
    ____언리얼 엔진에 소스 코드가 설치됐는지 확인하기
    ____에픽게임즈 런처를 통해 언리얼 엔진 5 에디터 실행하기
    ____MyShooter C++ 프로젝트 생성하기
    ____기본 소스 코드 에디터로 언리얼 엔진 5에 비주얼 스튜디오 연결하기
    ____비주얼 스튜디오에서 C++ 소스 코드 열어보기
    __블루프린트 프로젝트를 C++ 프로젝트로 변환하기
    __요약


    2장. 비주얼 스튜디오에서 C++ 코드 편집하기
    __기술적인 요구 사항
    __비주얼 스튜디오 시작하기
    __비주얼 스튜디오 IDE의 UI 살펴보기
    ____코드 에디터
    ____메뉴
    ____검색 상자
    ____툴바
    ____솔루션 탐색기
    ____출력 창
    ____오류 목록 창
    __비주얼 스튜디오에서 코드 편집하기
    ____입력 커서 제어하기
    ____텍스트 편집 키
    ____코드 선택
    ____인텔리센스
    ____유용한 단축키
    __C++ 코딩 연습
    ____비주얼 스튜디오에서 새로운 C++ 솔루션 생성하기
    ____main.cpp 파일 생성하기
    ____에디터 테마 변경하기
    ____main.cpp에 초기 코드 작성하기
    ____Calculator 클래스 추가하기
    __요약


    3장. C++와 객체지향 프로그래밍 배우기
    __기술적인 요구 사항
    __C++ 알아보기
    __C++ 프로그램 구조 살펴보기
    __C++ 함수 정의하기
    ____매개변수와 함수 정의
    ____함수 호출하기
    ____main( ) 함수 작성하기
    __기본적인 계산기 프로그램 작성해보기
    __C++ 문법 배우기
    ____C++ 데이터 유형 사용하기
    ____변수 정의하기
    ____C++ 배열 사용하기
    ____C++ 연산자 사용하기
    ____사용자 입력 받기
    ____C++ 주석 추가하기
    ____C++ 흐름 제어
    __개선된 계산기 프로그램 작성해보기
    __레퍼런스와 포인터 생성하기
    ____레퍼런스
    ____포인터
    __객체지향 프로그래밍 이해하기
    ____객체지향 프로그래밍이란 무엇인가?
    ____클래스와 객체는 무엇인가?
    ____C++에서 클래스 생성하기
    ____C++에서 객체 생성하기
    __객체지향 프로그래밍 계산기 프로그램 작성해보기
    ____calculator 클래스에 생성자와 게터 함수 추가하기
    ____Calculator 클래스를 상속하는 CalculatorEx 클래스 생성하기
    __요약


    4장. FPS 게임 프로젝트와 C++ 코드 살펴보기
    __기술적인 요구 사항
    __MyShooter C++ 프로젝트 구조 이해하기
    __게임 프로그램 구조 이해하기
    __소스 코드에 익숙해지기
    ____MyShooterCharacter.h
    ____MyShooterCharacter.cpp
    ____MyShooterProjectile.h와 MyShooterProjectile.cpp
    ____TP_PickUpComponent.h와 TP_PickUpComponent.cpp
    ____TP_WeaponComponent.h와 TP_WeaponComponent.cpp
    ____MyShooter.h와 MyShooter.cpp
    ____MyShooterGameMode.h와 MyShooterGameMode.cpp
    ____MyShooter.Build.cs, MyShooter.Target.cs, MyShooterEditor.target.cs
    __비주얼 스튜디오에서 언리얼 에디터 시작하고 게임 프로젝트 열기
    __요약


    2부 - 언리얼 엔진 C++ 스크립팅


    5장. 언리얼 엔진 게임플레이 프레임워크 기본 클래스 활용하기
    __기술적인 요구 사항
    __내려보기 프로젝트 Pangaea 생성하기
    __게임플레이 프레임워크 기본 클래스 이해하기
    __게임 액터 클래스 생성하기
    ____ADefenseTower 클래스 생성하기
    ____AProjectile 클래스 생성하기
    ____APlayerAvatar 클래스 생성하기
    __C++ 프로젝트 리컴파일하기
    __UPROPERTY 매크로 사용하기
    ____UPROPERTY 문법
    ____UPROPERTY 지정자와 메타데이터
    ____ADefenseTower, AProjectile, APlayerAvatar 속성을 언리얼 엔진 프로퍼티로 마킹하기
    __UFUNCTION 매크로 사용하기
    ____UFUNCTION 문법
    ____UFUNCTION 지정자와 메타데이터
    ____ADefenseTower, APlayerAvatar 멤버 함수를 UFUNCTION 매크로로 태깅하기
    __새로운 액터에 컴포넌트 추가하기
    ____컴포넌트 헤더 파일 추가하기
    ____두 컴포넌트에 프라이빗 프로퍼티 정의하기
    ____컴포넌트에 퍼블릭 게터 함수 추가하기
    ____클래스 생성자에 컴포넌트 생성하기
    __새로운 액터 클래스에서 블루프린트 생성하기
    __언리얼 게임플레이 프레임워크 클래스 학습하기
    ____Pangaea 게임에서 게임플레이 프레임워크 클래스 생성하기
    ____PlayerController 클래스 살펴보기
    ____GameModeBase 클래스 살펴보기
    ____GameState 살펴보기
    ____GameInstance 살펴보기
    ____클래스 인스턴스 획득하기
    __Cast 템플릿 함수 사용하기
    __요약


    6장. 게임 액터 생성하기
    __기술적인 요구 사항
    __플레이어 아바타 설정하기
    ____플레이어 아바타에 SpringArmComponent와 CameraComponent 추가하기
    ____플레이어 아바타 초기화하기
    __캐릭터의 SkeletalMeshComponent 설정하기
    ____캐릭터 모델 임포트하기
    ____BP_PlayerAvatar에서 Hero 스켈레탈 메시 사용하기
    ____게임의 플레이어 폰 대체하기
    __플레이어 아바타의 애니메이션 블루프린트 생성하기
    ____PlayerAvatarAnimInstance 클래스 생성하기
    ____ABP_PlayerAvatar 블루프린트 생성하기
    ____ABP_PlayerAvatar에 스테이트 머신 생성하기
    ____애니메이션 인스턴스와 이동 속도 싱크 맞추기
    __요약


    7장. 캐릭터 제어하기
    __기술적인 요구 사항
    __플레이어 캐릭터를 제어해 공격 수행하기
    ____액션 맵에 공격 액션 추가하기
    ____공격 액션에 핸들러 함수 추가하기
    ____OnAttackPressed( ) 액션 핸들러 함수 구현하기
    ____CanAttack( )과 Attack( ) 함수 구현하기
    ____애니메이션 루프를 수행하지 않도록 처리하기
    ____OnStateAnimationEnds 함수 구현하기
    __액터 파괴하기
    __적 캐릭터 생성하기
    ____Enemy 클래스 생성하기
    ____EnemyController 클래스 생성하기
    ____ABP_Enemy 애니메이션 블루프린트 생성하기
    ____BP_Enemy 블루프린트 생성하기
    __게임 테스트하기
    __노트
    __요약


    8장. 충돌 처리하기
    __기술적인 요구 사항
    __충돌 감지의 이해
    __충돌 감지 프리셋 설정
    __충돌을 사용해 게임 상호작용 수행하기
    ____무기, 디펜스 타워, 파이어볼 액터 다운로드하고 생성하기
    ____무기 습득하기
    ____적 무기 생성하기
    ____디펜스 타워에서 파이어볼 발사하기
    ____파이어볼 이동과 목표 충돌 체크하기
    ____디펜스 타워 피격 처리하기
    __요약


    9장. C++ 코드 품질 향상하기
    __기술적인 요구 사항
    __코드 리팩터링
    ____PlayerAvatarAnimInstance와 EnemyAnimInstance 클래스 통합하기
    ____PangaeaCharacer 클래스를 APlayerAvatar와 AEnemy 클래스의 부모 클래스로 만들기
    __코드 리파이닝
    ____캐시 변수 사용하기
    ____파이어볼 풀 만들기
    __디버그 메시지 출력하기
    ____UE_LOG 매크로 사용하기
    ____디버그 메시지 화면에 출력하기
    __액터 인스턴스의 실제 클래스 타입 확인하기
    __요약


    3부 - 멀티플레이어 게임 만들기


    10장. 네트워크 멀티플레이어 게임 만들기
    __기술적인 요구 사항
    __싱글플레이어 게임과 멀티플레이어 게임 비교해보기
    __에디터에서 멀티플레이어 게임 실행하기
    __멀티플레이어 게임 네트워크 모드 살펴보기
    __네트워크 동기화 처리하기
    ____RPC로 플레이어 공격 알려주기
    ____복제를 통해 클라이언트와 액터 변수 동기화하기
    ____RepNotify를 통해 캐릭터의 체력 바 업데이트하기
    ____서버에서 타격 처리하기
    ____서버에서 파이어볼 생성하기
    __요약


    11장. 게임 플로 제어하기
    __기술적인 요구 사항
    __Pangaea 게임 플로 디자인하기
    __UI 위젯 만들기
    ____BP_LobbyWidget 만들기
    ____BP_HUDWidget 만들기
    ____BP_GameOverWidget 만들기
    __PangaeaGameInstance에 네트워크 기능 추가하기
    __게임 레벨에 UI 위젯 추가하기
    __게임 타이머 추가하기
    ____APangaeaGameState 클래스에 타이머 변수 추가하기
    ____타이머 변수 리플리케이트하기
    ____OnTimeChangedDelegate 정의하기
    ____커스텀 이벤트를 생성하고 OnTimeChangedDelegate에 바인딩하기
    ____타이머 카운트다운하기
    ____APangaeaGameState를 프로젝트의 게임 스테이트 클래스로 할당하기
    __디펜스 타워를 파괴해 게임 승리하기
    __요약


    12장. 게임 폴리싱과 패키징
    __기술적인 요구 사항
    __게임 폴리싱하기
    ____고품질 게임 에셋 임포트해 사용하기
    ____버그 수정하기
    ____프로파일링과 최적화
    __언리얼 엔진 콘솔 명령어 사용하기
    ____모드와 콘솔 명령어 살펴보기
    ____C++에서 콘솔 명령어 실행하기
    __게임 패키징하기
    ____패키징에 필요한 프로젝트 설정
    ____창으로 실행되는 게임 만들기
    ____콘텐츠를 검색할 때 하드코딩된 경로를 사용하지 않는 법
    ____프로젝트 패키징
    __패키징 이후에 할 일들
    __요약

추천사

  • 내가 조지 리(George Li)와 함께 일하면서 알고 지낸 지도 20년이 넘었다.
    우리는 인터랙티브 아트를 가르치는 캐나다 밴쿠버 시내의 한 사립 대학에서 처음 만났다.나는 당시 언어학 교수로 대학에서 인지 과학 프로그램을 개발하고 있었다. 이런 종류의 프로그램 커리큘럼을 만들려면 내 전공 분야뿐만 아니라 다양한 다른 분야에 익숙해지고 그 분야의 동료들과 긴밀히 협력해야 했다. 특히 컴퓨팅 과학(인지), 심리학, 철학(특히 AI와 같은 사회 인식론적 문제와 관련된)과 같은 분야들이 더욱 그러했다. 이런 상황에서 나는 언어학 공부와 강의에 매진함과 동시에, 학생들에게는 3D 컴퓨터 애플리케이션(3ds 맥스, 3D 게임스튜디오, 언리얼)을 다루게 하고 영화와 TV, 게임에서 사용하는 애니메이션을 만드는 법을 가르쳤다.
    조지 리는 대학에서 기술적인 요구 사항을 책임졌다. 나는 그가 유능하고 진취적일 뿐만 아니라(그는 캐나다로 이민 오기 전에 이미 중국에서 소프트웨어 엔지니어링 등 컴퓨팅과 관련된 분야에서 높은 직책을 맡았었다) 전산과 관련해 유능하고 혁신적인 사람이라는 사실을 빠르게 알 수 있었다. 특히 게임 엔진 개발에 관심이 많았던 그는 자체 제작한 텍스트와 게임을 활용한 실용서인 『XNA PC & Xbox360 C# Game Programming』(GOTOP Taiwan, 2007)을 이미 동료인 찰스 예(Charles Yeh)와 공동 집필하고 있었다.
    조지와 나는 같은 대학의 동료로서 서로 통하는 부분이 있었으며, 또한 서로가 흥미로워하는 부분을 메꿔줄 수 있었다. 그 결과 우리는 2년 과정의 인터랙티브 아트 프로그램 커리큘럼을 만들고 학생들에게 이 과정을 가르칠 수 있었다.
    나는 영국과 캐나다의 대학에서, 그리고 학술 저널을 비롯한 다양한 매체에서 편집위원으로 일하는 동안 사람들의 지적 수준과 업무 역량을 평가하는 일을 수행했다. 조지 리의 타고난 재능은 그의 업무 전반에 걸쳐 분명하게 빛나고 있으며 앞으로도 계속 그럴 것이라 생각한다. 그가 만들어내는 모든 산출물과 성과를 통해 그의 탁월한 지식과 능력을 알 수 있을 것이다.
    이 책은 앞서 조지가 예와 공동 집필했던 책과 마찬가지로 독립 개발자 및 사내 교육 등에참고할 수 있는 용도로 만들어졌으며, 명확하고 효과적으로 작성돼 책의 내용을 기반으로 높은 품질의 게임을 만들어낼 수 있다.
    아울러 이 책은 게임 분야에 광범위하게 기여할 수 있는 훌륭한 도서가 될 것이다. 조지가앞으로도 이 주제와 관련해 더 많은 중요한 역할을 수행하리라 믿어 의심치 않는다.
    이 책이 여러분의 이후 활동과 생산물에 많은 도움을 주길 기대한다.

출판사 서평

◈ 이 책에서 다루는 내용 ◈
◆ 마이크로소프트 비주얼 스튜디오와 언리얼 엔진 에디터의 코딩 스킬
◆ 언리얼 엔진 C++ 스크립트를 위한 C++ 프로그래밍 기본 지식
◆ C++ 문법과 객체지향 프로그래밍의 기본 개념
◆ NPC 제어, 충돌, 상호작용, 내비게이션, UI, 멀티플레이어 메커니즘에 대한 이해
◆ 사전 정의된 언리얼 엔진 클래스와 프로그래밍 메커니즘 활용
◆ 현실적인 문제를 해결하고 업무를 완성하기 위해 필요한 코드 작성
◆ 게임 개발에서 활용되는 문제 해결 방법과 도구의 구현


◈ 이 책의 대상 독자 ◈

언리얼을 처음 접하는 초보자를 대상으로 하지 않는 책이다. 책의 내용을 둘러보기에 앞서 언리얼 엔진과 블루프린트에 대한 기초적인 이해가 필요하며 이들을 다뤄본 경험이 있어야 한다. 즉, 기초 지식과 경험이 있어야 이 책의 내용을 지렛대 삼아 기존 지식을 충실히 다지고 학습 효과를 극대화할 수 있을 것이다.

◆ 게임 디자이너, 아티스트와 같이 엔지니어가 아닌 게임 개발자들 중 언리얼 엔진을 활용한 게임 개발이라는 측면에서 C++를 공부하려는 사람들
◆ 언리얼 엔진 C++ 프로그래밍에 대한 경험이 부족하지만 다음 프로젝트나 구직을 위해 필요한 스킬을 빠르게 습득해야 하는 소프트웨어 엔지니어들
◆ 학습이나 개인 프로젝트를 위해 언리얼 C++ 프로그래밍을 배우고 습득하려는 학생들
◆ 언리얼 엔진을 사용한 게임 개발에 흥미를 느끼면서 책을 통해 포괄적인 지식을 얻으려는 사람들


◈ 이 책의 구성 ◈

1장, ‘첫 언리얼 C++ 게임 만들기’에서는 언리얼이 제공하는 일인칭 템플릿을 사용해 새로운 C++ 게임 프로젝트를 생성하는 법을 빠르게 살펴본다. 이 장에서는 현존하는 블루프린트 게임 프로젝트를 C++ 게임 프로젝트로 변환하는 방법도 알아볼 것이다.
2장, ‘비주얼 스튜디오에서 C++ 코드 편집하기’에서는 강력한 IDE인 마이크로소프트 비주얼 스튜디오에서 C++ 코드를 편집하는 법에 대해 배워본다. 기본적인 스킬뿐만 아니라 C++를 사용해 간단한 계산기 애플리케이션도 만들어볼 것이다.
3장, ‘C++와 객체지향 프로그래밍 배우기’에서는 작성한 계산기 프로젝트를 기반으로 C++ 프로그래밍을 좀 더 심도 있게 살펴본다. C++ 기본 문법, 데이터 유형, 흐름 제어 flow control도 함께 살펴볼 것이다. 아울러 C++ 객체지향 프로그래밍도 간단하게 소개한다.
4장, ‘FPS 게임 프로젝트와 C++ 코드 살펴보기’는 파일의 구조와 소스 파일을 포함해 생성된 일인칭 게임 프로젝트를 좀 더 자세히 다룬다. C++ 코드를 각 줄별로 간단히 설명하면서 C++ 코드가 동작하는 법을 더 잘 이해하도록 도와줄 것이다.
5장, ‘언리얼 엔진 게임플레이 프레임워크 기본 클래스 활용하기’에서는 새로운 탑다운 형식의 게임 프로젝트인 Pangaea1를 생성하는 법을 배워본다. 게임 액터인 DefenseTower를 만드는 법, 게임 캐릭터인 PlayerAvatar 클래스를 만드는 법, C++에서 액터 프로퍼티와 함수를 정의하는 법도 함께 살펴본다.
6장, ‘게임 액터 생성하기’에서는 게임 Pangaea의 메인 캐릭터를 만들고 설정하는 법을 설명한다. 이 장에는 캐릭터 설정, 애니메이션 인스턴스 만들기, 스테이트 머신 정의, 애니메이션과의 동기화 같은 내용도 포함된다.
7장, ‘캐릭터 제어하기’에서는 게임 캐릭터를 제어하는 법을 알아본다. 여기에는 입력 맵, 플레이어 입력 처리, 플레이어 캐릭터의 리액션을 효과적으로 프로세싱하기 등이 포함된다. 여기에 더해 NPC를 제어하는 AI 컨트롤러와 내비게이션 시스템에 대해서도 배워볼 것이다.
8장, ‘충돌 처리하기’에서는 엔진의 충돌 시스템과 게임 상호작용을 설정하는 법을 배워본다. 타격을 수행하거나 탄환에 맞는 것과 같은 충돌 이벤트를 처리하기 위해 액터 콜라이더와 트리거를 설정하는 법을 배우게 될 것이다.
9장, ‘C++ 코드 품질 향상하기’에서는 코드 리팩터링과 리파이닝을 통해 소프트웨어 엔지니어링을 직접 체험해보고, 아울러 게임 코드의 품질과 성능을 높이기 위해 클래스 일반화, 캐싱, 풀링 등의 방법도 함께 알아볼 것이다.
10장, ‘네트워크 멀티플레이어 게임 만들기’에서는 서버, 클라이언트, 멀티플레이어 모드를 포함한 기본적인 멀티플레이어 게임의 개념을 소개하는 것부터 시작한다. 이후 단계별로 싱글플레이어 게임을 멀티플레이어 게임으로 변환하는 작업을 수행해볼 것이다.
11장, ‘게임 플로 제어하기’에서는 게임 Pangaea를 완전한 멀티플레이어 게임으로 바꿔본다. 메인 메뉴와 로비를 만들고, 플레이어가 호스트로 게임을 시작하거나 혹은 클라이언트로 게임 세션에 조인하도록 만들어준다. 아울러 C++와 블루프린트 스크립트 스킬을 사용해 사용자 인터페이스 동작을 제어하는 것도 함께 살펴본다.
12장, ‘게임 폴리싱과 패키징’에서는 시각적인 사용자 경험과 제품의 성능을 높이는 측면에서 게임을 폴리싱하는 법을 알아본다. 새로운 리소스와 메서드 그리고 저자의 경험에 기반한 제안 등이 소개될 것이다. 또한 실행 가능한 스탠드얼론 형태로 배포할 수 있는 Pangaea 프로젝트를 설정하고 패키징하는 방법도 단계별로 알아본다.


◈ 옮긴이의 말 ◈

게임 개발의 트렌드는 빠르게 변화하고 있습니다. 최근에는 언리얼과 유니티 같은 게임 엔진을 활용해 다양한 플랫폼에서 구동되는 게임을 개발하는 것이 업계의 표준으로 자리잡고 있습니다. 그중에서도 언리얼 엔진은 탁월한 성능을 기반으로 좀 더 현실에 가까운 산출물을 제공하면서 게임 시장에서의 명성을 확고하게 유지하고 있습니다.
이 책은 C++ 스크립트를 활용해 언리얼 게임을 만드는 방법을 소개합니다. 새로 입문하는 초보자들이 어려움을 느끼는 툴의 설치부터 시작해 기본적인 프로그래밍의 문법과 객체지향 프로그래밍의 개념 등, 게임 입문에 필요한 다양한 지식을 실무적인 관점에서 자세히 설명해주고 있습니다. 게임 개발에 필요한 모든 부분을 책 한 권으로 소개하기에는 어려움이 있지만, 이 책의 내용을 따라가다 보면 언리얼 블루프린트와 같이 자세히 소개하지 않는 분야에 대해서도 자연스럽게 배울 수 있을 것입니다.
번역을 진행하면서 최대한 책의 내용이 정상적으로 실행될 수 있도록 필요한 내용을 추가하고 본문을 수정했습니다. 모쪼록 책에서 전달하고자 하는 게임 개발에 필요한 기술적인 내용들이 독자 여러분에게 효과적으로 전달될 수 있길 바랍니다.

기본정보

상품정보 테이블로 ISBN, 발행(출시)일자 , 쪽수, 크기, 총권수, 시리즈명, 원서(번역서)명/저자명을(를) 나타낸 표입니다.
ISBN 9791161759289
발행(출시)일자 2024년 11월 29일
쪽수 456쪽
크기
188 * 235 * 28 mm / 966 g
총권수 1권
시리즈명
게임 개발 프로그래밍
원서(번역서)명/저자명 Unreal Engine 5 Game Development with C++ Scripting/Li, Zhenyu George

Klover 리뷰 (3)

구매 후 리뷰 작성 시, e교환권 200원 적립

10점 중 5점
/쉬웠어요
내용 구성도 별로. 진행 과정도 별로. 과정에서 건너 뛴 것이 많아 검색해 가면서 진행함. 초보에겐 비추.
10점 중 2.5점
/도움돼요
unreal을 처음 공부하신다면 추천드리기 힘든거 같습니다.
제가 생각하는 추천드리기 힘든 이유는 책을 따라서 진행하다 보면 "책에서는 하라는데 이거 어떻게 해야하는거지?" 이런 고민을 하게 되는 부분이 여러 번 있습니다. unreal에 조금만 익숙하면 상관이 없는 정도인데 처음 접하면 힘들 수도 있습니다.
책을 따라가면서 이상한 점이 있다면 스스로 해결하거나 찾아볼 수 있는 정도의 수준이라고 생각하시면 적당히 도움이 되긴하겠지만 그 정도 수준이면 굳이 이 책이 필요할까 싶네요.
10점 중 10점
/도움돼요
좋아요 감사합니다 좋은하루 되세요
리뷰 썸네일

문장수집 (0)

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)

구매 후 리뷰 작성 시, e교환권 100원 적립

이 책의 첫 기록을 남겨주세요.

교환/반품/품절 안내

  • 반품/교환방법

    마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환 신청, [1:1 상담 > 반품/교환/환불] 또는 고객센터 (1544-1900)
    * 오픈마켓, 해외배송 주문, 기프트 주문시 [1:1 상담>반품/교환/환불] 또는 고객센터 (1544-1900)
  • 반품/교환가능 기간

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

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

    1) 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
    2) 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
    3) 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
    4) 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
    5) 디지털 컨텐츠인 ebook, 오디오북 등을 1회이상 ‘다운로드’를 받았거나 '바로보기'로 열람한 경우
    6) 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
    7) 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
    8) 세트상품 일부만 반품 불가 (필요시 세트상품 반품 후 낱권 재구매)
    9) 기타 반품 불가 품목 - 잡지, 테이프, 대학입시자료, 사진집, 방통대 교재, 교과서, 만화, 미디어전품목, 악보집, 정부간행물, 지도, 각종 수험서, 적성검사자료, 성경, 사전, 법령집, 지류, 필기구류, 시즌상품, 개봉한 상품 등
  • 상품 품절

    공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드리겠습니다.
  • 소비자 피해보상 환불 지연에 따른 배상

    1) 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁 해결 기준 (공정거래위원회 고시)에 준하여 처리됨
    2) 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리함

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

AGI, 천사인가 악마인가
이벤트
  • 25년 2학기 대학교재전
  • [정기] LC 더드림
01 / 02
TOP