top of page

PALWORLD

​모작 게임

PALWORLD

​개발명세서 (노션링크)

GitHub

개발 언어

C++​

​팀원 인원

​4명

​담당 파트

UI / 인벤토리

​개발 기간

2024.12.09 ~ 2025.01.03 (1개월)

​장르

오픈 월드, TPS, 샌드박스

​개발 엔진

​언리얼 엔진5

​플레이 영상

개발 도구

image11.png

언리얼 엔진 5.4 

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

image13.png

Rider

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

image14.png

GitHub

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

image16.png

SourceTree

실시간 상태 확인과 버전 히스토리 추적에 유용하게 활용

​프로젝트 진행 과정

개발 초기에 기능별 목표를 정리하고 팀과 함께 공유하면서
주차 단위로 체계적으로 프로젝트를 완성해 나갔습니다.

인벤토리 (2주)

[ 구현 목표 ]

아이템 테이블 및 구조체 설계

실시간 감지 기능 구현

인벤토리 슬롯 기능 구현

상호작용 담당 컴포넌트 개발

인벤토리 타입 관리용 매니저 구현

위젯 구조도 설정 (1주)

[ 구현 목표 ]

실시간 UI 위젯 설정

인벤토리 위젯 구현

인벤토리 슬롯 기능 구현

팰 인벤토리 위젯 구현

HUD 위젯 구현

오브젝트 상호작용 (1주)

[ 구현 목표 ]

 

팰 상자 위젯 구현

나무작업대 위젯 구현

플레이어 스탯, 팰 스탯 연동

팰 인벤토리 위젯 구현

사운드 추가

주요 기능 

  • 아이템 추가/제거, 슬롯 교환, 실시간 상호작용 등을 지원하는 동적 인벤토리 구조 설계

  • 아이템, 상자, 제작대 등 오브젝트와의 상호작용을 하나의 공통 인터페이스로 통합 처리

  • 오브젝트 인벤토리 상태에 따라 슬롯 정보를 실시간으로 생성 및 반영하는 UI 시스템 구현

  • 플레이어 입력에 따라 캐릭터의 커스터마이징 옵션(헤어/얼굴 등)이 실시간으로 변경되는 커스터마이징 시스템 구현

  • 머티리얼을 활용한 동적 UI 연출 구현

회고 

 ​

  • UI 구조 설계 과정에서 공통 위젯 간 디스패처 바인딩이 얽히면서 유지보수가 어려운 상황을 겪었습니다.

  • 이를 상속 기반 구조로 재정비하면서 요소 간 역할을 분리하고, 하위 슬롯 위젯의 이벤트는 디스패처를 통해 상위 위젯으로 전달되도록 구성했습니다.

  • 또한 슬롯은 런타임에 동적으로 생성되도록 구현해 다양한 인벤토리 유형에도 재사용할 수 있도록 했습니다.

  • 이 과정을 통해 구조화된 UI 시스템이 협업과 유지보수에 있어 얼마나 큰 강점이 되는지 체감할 수 있었습니다.

  • 디자인 경험을 통해 쌓은 감각을 바탕으로, 머티리얼을 활용한 UI 연출에도 자연스럽게 접근할 수 있었습니다.

  • 아이템 시스템에서는 데이터 테이블을 활용하여, 아이템 ID를 기준으로 속성, 설명, 이미지 등을 효율적으로 불러오는 구조를 구성하였습니다.

  • 이를 통해 데이터 중심 설계의 장점과 확장 및 유지의 용이성을 체감할 수 있었습니다.

bottom of page