플레이 영상
개발 도구

언리얼 엔진 5.4
C++ 기반 로직과 블루프린트의 연동을 통해 다양한 게임 시스템을 개발

Rider
언리얼 C++ 코드를 효율적으로 관리하고 디버깅할 수 있는 개발 환경으로 사용

GitHub
팀 프로젝트의 형상 관리를 위해 사용

SourceTree
실시간 상태 확인과 버전 히스토리 추적에 유용하게 활용
프로젝트 진행 과정
개발 초기에 기능별 목표를 정리하고 팀과 함께 공유하면서
주차 단위로 체계적으로 프로젝트를 완성해 나갔습니다.
인벤토리 (2주)
[ 구현 목표 ]
아이템 테이블 및 구조체 설계
실시간 감지 기능 구현
인벤토리 슬롯 기능 구현
상호작용 담당 컴포넌트 개발
인벤토리 타입 관리용 매니저 구현
위젯 구조도 설정 (1주)
[ 구현 목표 ]
실시간 UI 위젯 설정
인벤토리 위젯 구현
인벤토리 슬롯 기능 구현
팰 인벤토리 위젯 구현
HUD 위젯 구현
오브젝트 상호작용 (1주)
[ 구현 목표 ]
팰 상자 위젯 구현
나무작업대 위젯 구현
플레이어 스탯, 팰 스탯 연동
팰 인벤토리 위젯 구현
사운드 추가
주요 기능
-
아이템 추가/제거, 슬롯 교환, 실시간 상호작용 등을 지원하는 동적 인벤토리 구조 설계
-
아이템, 상자, 제작대 등 오브젝트와의 상호작용을 하나의 공통 인터페이스로 통합 처리
-
오브젝트 인벤토리 상태에 따라 슬롯 정보를 실시간으로 생성 및 반영하는 UI 시스템 구현
-
플레이어 입력에 따라 캐릭터의 커스터마이징 옵션(헤어/얼굴 등)이 실시간으로 변경되는 커스터마이징 시스템 구현
-
머티리얼을 활용한 동적 UI 연출 구현
회고
-
UI 구조 설계 과정에서 공통 위젯 간 디스패처 바인딩이 얽히면서 유지보수가 어려운 상황을 겪었습니다.
-
이를 상속 기반 구조로 재정비하면서 요소 간 역할을 분리하고, 하위 슬롯 위젯의 이벤트는 디스패처를 통해 상위 위젯으로 전달되도록 구성했습니다.
-
또한 슬롯은 런타임에 동적으로 생성되도록 구현해 다양한 인벤토리 유형에도 재사용할 수 있도록 했습니다.
-
이 과정을 통해 구조화된 UI 시스템이 협업과 유지보수에 있어 얼마나 큰 강점이 되는지 체감할 수 있었습니다.
-
디자인 경험을 통해 쌓은 감각을 바탕으로, 머티리얼을 활용한 UI 연출에도 자연스럽게 접근할 수 있었습니다.
-
아이템 시스템에서는 데이터 테이블을 활용하여, 아이템 ID를 기준으로 속성, 설명, 이미지 등을 효율적으로 불러오는 구조를 구성하였습니다.
-
이를 통해 데이터 중심 설계의 장점과 확장 및 유지의 용이성을 체감할 수 있었습니다.



