728x90

2019/12 12

[이득우의 언리얼 C++] 4장, 게임플레이 프레임워크

. 4장, 게임 플레이와 프레임워크에 대한 내용을 읽고 요약 메모한 내용을 옮겨봅니다. 게임모드, 플레이어컨트롤러, 폰 액터에 대한 개념들을 다룹니다. 4장, 게임플레이 프레임워크 언리얼 엔진에서 게임이 시작되려면 게임의 규칙, 입장 플레이어, 플레이어 조종 액터. 각각, 게임모드, 플레이어 컨트롤러, 폰 위 세 가지 액터를 직접 제작하고 동작하는지 학습. ​ 게임모드 레벨을 구성하는 작업, 게임플레이 설계하는 작업. 게임 플레이 프레임워크는 다양한 게임 요소를 수용할 수 있도록 복잡하고 방대함. 먼저 핵심 두 가지, 게임 규칙을 관리하는 게임 모드, 플레이어가 조종하는 액터인 폰. ​ 언리얼 엔진의 게임 모드. 게임의 틀을 잡아주는 역할. 플레이어가 입장할 때마다 플레이어 점검. 조종할 액터(폰:Paw..

Unreal 엔진 2019.12.22

[예제로 배우는 UE4] AI, Behavior Tree(인공지능, 비헤이비어 트리)

. 언리얼 엔진 AI 제작 관련 챕터 따라만들어보고 메모한 내용 옮겨봅니다. 언리얼 엔진에서 제공하는 비헤이비어 트리와 블랙보드를 활용한 AI 제작을 진행해보고 그 개념과 사용법을 익혀봅니다. - UE와 C++를 사용한 1인칭 게임 만들기 - 발사체 및 발사체 이동 컴포넌트 작업하기 - UE4 AI 툴셋 구성(블랙보드, 비헤이비어 트리, AI 컨트롤러) - 애니메이션 에셋과 C++ 오브젝트 간의 통신 - NavMesh와 NavAgent 속성과 같은 길 찾기 오브젝트 구성 - 블루프린트와 C++에서 사용하는 커스텀 AI 에셋 생성하기 - UE4의 커스텀 콜리전 채널 만들고 작업하기 ​ 프로젝트 설정 NewProject > C++ > Basic Code Project Name : BossMode ​ 1인칭 ..

Unreal 엔진 2019.12.22

[C++로 개발하는 언리얼] 3장. 메모리 관리와 스마트 포인터

. 3장. 메모리 관리와 스마트 포인터 NewObject 사용, 스마트 포인터 (TSharedPtr, TWeakPtr, TUniquePtr ) TUniquePtr 을 사용해 객체 추적하기. ​ UObject에서 파생되지 않은 C++클래스의 경우 TSharedPtr / TWeakPtr 참조 ㅣ카운트 참조 체크. ​ 관리되지 않는 메모리 new/delete malloc = 메모리 할당 new = 메모리 할당 + 생성자 호출 ​ UAction* action = NewObject( GetTransientPackage(), UAction::StaticClass() ); ​ 구동 원리 UAction::StaticClass() 는 객체의 기본 UClass* 가져옴. GetTransientPackage() 는 게임의 ..

Unreal 엔진 2019.12.20

[C++로 개발하는 언리얼] 2장. 클래스 생성하기

. 2장. 클래스 생성하기 UE4 객체들은 참조 횟수 및 메모리 관리 대상, C++ 키워드 new를 사용한 직접 메모리 할당은 안 됨. 대신, UObject 파생된 것들은 ConstructObject 함수로 인스턴스화. C++ 클래스(UClass*)에서 파생된 Blueprint를 필요로함. 단순히 블루프린트를 가리키는 포인터. ​ UCLASS 내, 블루프린트에서 참조하려면... TSubclassOf UClassOfPlayer; // Display any UClass ​ FSoftObjectPath, StaticLoadObject 리소스 로드는 하드코딩. 비권장. ​ UE4는 실제로 클래스 인스턴스를 내부적으로 생성하므로 인스턴스화할 UCLASS 복사본을 만들기 위해서는 특별한 팩토리 함수를 호출해야 함...

Unreal 엔진 2019.12.20

엑소스 히어로즈(EXOS HEROES) 플레이 리뷰

. 우주(OOZOO)에서 개발하고, 라인게임즈가 퍼블리싱한 엑소스 히어로즈(EXOS HEROES) 플레이 해봤습니다. 우주 개발팀에 친한 분도 계시고, 라인게임즈도 저와 인연이 아주 길고 많은 곳이라 감회가 새롭네요. 독특하고 수려한 아트웍으로 유명한 만큼 타이틀 화면의 비주얼도 이쁩니다. VISUALISM 이라는 키워드로 광고를 한 만큼 어떤 부분을 강조했는지 방향성이 명확히 보입니다. 유니티 엔진으로 개발되었고, 오랜 개발경험을 가진 핵심 개발인력으로 구성된 개발사 OOZOO에서 수년간 개발한 게임입니다. 몇년 전 출시한 "엑소스 사가"와 상당부분 세계관을 공유한다고 합니다. 저도 이런 식으로 여러 작품에서 세계관을 공유하는 작품을 좋아하고 또 만들고싶은데 부러운 부분. 첫 다운로드 용량은 대략 3...

[게임 메카닉스] 개요, 1장 게임 메카닉 디자인

. 책을 읽으면서 대략적으로 요약 정리 --------------------------------------------- ​ 개요 게임을 심층적으로 들여다본다. 좋아 보이더라도, 메카닉Mechanic 이 지루하고 균형 잡히지 않으면 재미있을 수 없다. 게임 메카닉이야말로 게임플레이를 만들어내며, 훌륭한 게임을 만들려면 이 과정을 반드시 이해해야만 한다. 코어 메카닉 어떻게 디자인하고, 테스트, 튜닝할지 안내. ‘고급 게임 디자인’ 시대를 초월하는 원칙. 메카닉 디자인 연습. 평생 활용할 수 있는 디자인 툴을 소개. ​ 다른 도서에는 없는 “머시네이션”(Mechination) 툴 소개. 메카닉 시각화, 시뮬레이션 활용. 만들어낸 경제 밸런스가 적절한지 확신? 머시네이션으로 몇 초 안에 1000회 이상 시뮬..

[이득우의 언리얼 C++] 챕터3 움직이는 액터의 제작

. 출력 윈도우 로그 UE_LOG( 카테고리, 로깅 수준, 형식 문자열, 인자 ... ) Save/Logs 폴더에 생성. 로그 카테고리 로깅 수준 : 메시지, 경고, 에러 등 로그 카테고리로 필터링 할 수 있다. ​ 로그 카테고리 새로 정의하기. GameCommon.h DECLARE_LOG_CATEGORY_EXTERN( ArenaBattle, Log, All ); ​ GameCommon.cpp DEFINE_LOG_CATEGORY( ArenaBattle ); ​ EngineMinimal.h 와 CoreMinimal.h 와의 차이는? EngineMinimal.h : 4.7 릴리즈 노트에 언급. CoreMinimal.h : 4.15 릴리즈 노트에 언급. ​ EngineMinimal.h가 CoreMinimal...

Unreal 엔진 2019.12.07

[책] 게임 메카닉스 Game Mechanics

. 수 개월 전에 언급했던 책입니다. 쉬는 동안에 조금 읽어보기 시작했습니다. 생각보다 내용이 좋고, 그 좋은 내용이 또 많아서 빠르게 읽기는 어려울 것 같습니다. 한 단어 한 단어 탐독하게 되네요. ​ 이 책은 게임 메카닉스에 대해 다루는 책입니다. 게임 디자인 전공자나 현업 게임 디자이너를 대상으로 쓰여졌습니다. 게임의 코어 메카닉스와 메카닉스 디자인, 테스트 기법, 튜닝 등에 대한 내용들을 다룹니다. 게임 디자인을 보다 더 고급스럽게 이론적으로 접근할 수 있는 토대를 제시합니다. ​ 게임의 규칙(Rule)은 겉으로 드러납니다. 메뉴얼이나 게임 소개 글, 홍보 카피에서도 드러날 수 있습니다. 반면, 게임 메카닉스는 겉으로 드러나지 않는 게임의 구조와 동작, 관계, 법칙들을 아우릅니다. 게임을 잘 디자..

728x90
반응형