-
Unreal Engine 5 던전 크롤러 포트폴리오 입니다.
-
게임 개발자로서 언리얼 엔진에 공부하고자 시작된 포트폴리오입니다.
-
현재 일부 유로 에셋으로 인해 소스코드와 일부만 공개되어 있습니다.
-
개발 기간: 2025.02.10 ~ 2024.07.29 ( 약 6개월 )
-
개발 인원 : 1인
-
형상 관리: Git SourceTree
최근 게임 업계에서 언리얼 엔진의 활용도가 점점 높아지고 있는 흐름에 맞춰,
언리얼 엔진 5를 활용한 C++ 기반 게임 개발 역량을 쌓기 위해 이 프로젝트를 시작했다.
언리얼 엔진의 구조와 워크플로를 깊이 이해하는 것을 목표로, 전체 구현의 90% 이상을 C++로 작성하고
필요한 부분에 한해 블루프린트를 곁들여 효율적으로 개발하는 방식을 연습했다.
장르로는 던전 크롤러를 선택하여, 전투 시스템을 포함한 핵심 게임 요소를 가능한 한 모두 구현하고자 했다.
플레이어 이동, 몬스터 AI, 전투 판정, 패링, 맵 생성 등
실제 게임 제작 과정에서 필수적으로 요구되는 시스템을 직접 설계하고 구현하며,
언리얼 엔진에서의 C++ 프로그래밍과 블루프린트의 장단점을 함께 체득하는 것을 목표로 했다.
-
Unreal Engine 5.4.4
-
Visual Studio 2022
- 전투 모드와 일반 모드에 따른 카메라 및 애니메이션 전환 시스템 구현
- 전투 모드일 때와 일반 모드일 때, 카메라 움직임과 캐릭터 애니메이션을 각기 다르게 설정해 자연스러운 전환을 구현
- 플레이어 콤보 컴포넌트 제작
- 현재 상태에 따라 입력값(플레이어 키 입력)에 맞춰 콤보 어택을 실행하도록 구성
DataAsset을 사용해 입력과 콤보 전이 관계를 저장, 해당 데이터만 수정하면 콤보 추가나 변경이 가능하도록 설계
- 정확한 방어 판정에 따른 패링 구현
- 적의 공격을 정확히 막으면 주변 적을 밀쳐내고, 타이밍이 빗나가면 스태미나를 소모하도록 구현
- BFS 알고리즘 기반 절차적 맵 생성
- 매 판마다 랜덤하게 맵과 경로를 생성하고, 이에 맞춰 미니맵과 월드맵을 자동 생성
- 다양한 몬스터 AI 구현
- 일반 몬스터는 상황별 행동 패턴을 설정하고,
- 보스 AI는 점수제 로직(플레이어와의 거리, 공격 쿨타임, 체력 등을 종합 평가)과 비헤이비어 트리를 활용해 최적의 행동을 선택하도록 설계
- LineTrace 기반 무기 공격 판정 구현
- 플레이어, 몬스터 무기의 시작 지점과 끝 지점을 하나의 선으로 이어, 해당 선에 닿은 물체에 데미지를 주는 방식으로 판정
- 공격 몽타주에서 NotifyState를 활용
- Data Asset 기반 게임 데이터 관리
- 체력, 공격력, 이동 속도 등 주요 능력치를 Data Asset으로 관리
- 코드 수정 없이 Data Asset 값만 변경해 밸런스를 조정하거나 새로운 몬스터를 손쉽게 추가할 수 있도록 설계
연습
- [UE5] ProjectRAS - 캐릭터 움직임과 애니메이션
- [UE5] ProjectRAS - 점프와 타이머, 카메라 범위 제한
- [UE5] ProjectRAS - 공격 애니메이션과 화살 발사
- [UE5] ProjectRAS - 스킬 디자인 구성
- [UE5] ProjectRAS - 스킬 디자인 구성2
- [UE5] ProjectRAS - 스텟 구성하기
- [UE5] ProjectRAS - 몬스터 AI 제작하기
본작
- [UE5] ProjectRAS - 콤보 공격 과 Rolling
- [UE5] ProjectRAS - 시점 고정과 일반 몬스터
- [UE5] ProjectRAS - 전투 공격 판정 과 패링, 적 타겟팅 시스템(락온)
- [UE5] ProjectRAS - 패링으로 적 밀격 하기, UI 만들기
- [UE5] ProjectRAS - 스테미나 추가, 패링 성공 시 Blur, 캐릭터 죽음
- [UE5] ProjectRAS - 맵 디자인 및 블프화
- [UE5] ProjectRAS - Map Generator
- [UE5] ProjectRAS - 보스 패턴 제작하기
- [UE5] ProjectRAS - UI 스킬 쿨타임 과 포션 마시기
- [UE5] ProjectRAS - 몬스터 스폰하기, Clothes 적용하기
- [UE5] ProjectRAS - 메인 Title UI와 메뉴 UI 만들기
- [UE5] ProjectRAS - 미니맵, 월드맵 만들기
- [UE5] ProjectRAS - Npc 만들기
https://drive.google.com/file/d/1AxTOIpDtvCT0OZgcXggSW6w8towLR21f/view?usp=sharing











