
[Project Arc] 서버 권한 상점 컨텐츠 구성 (UI, 캐싱, Data Table, RPC)
오늘은 프로젝트에 NPC 상점 시스템을 구현하고, NpcWorldSubsystem / NpcShopComponent / PlayerController / Shop UI 위젯 사이의 흐름을 점검하는 작업을 진행하였습니다.

오늘은 프로젝트에 NPC 상점 시스템을 구현하고, NpcWorldSubsystem / NpcShopComponent / PlayerController / Shop UI 위젯 사이의 흐름을 점검하는 작업을 진행하였습니다.
오늘은 언리얼 엔진 UMG를 사용해 상점(Shop) UI를 설계·구현한 과정을 정리해 보았습니다. 특히 아이템별 개별 위젯 구성, 구매/판매 가격 분리, 아이템 ID 관리, Vertical List 기반 아이템 나열에 초점을 두고 작업을 진행하였습니다.

이번 작업에서는 CrimsonMoon 프로젝트에 NPC 대화(Npc Dialogue) 시스템을 1차적으로 구현하고, 위젯/액터/게임 인스턴스/로컬 이벤트 매니저 간의 구조를 정리하여 구현하였습니다.

NPC Dialogue 시스템을 구현 중간 정리를 요약했습니다.

이번 기능에서는 NPC가 단순히 한 줄 대사만 출력하는 수준을 넘어서, 트리 형태로 분기되는 대화 시스템을 직접 설계하고 구현해 보았습니다.

메모리 분석 유틸리티 중 하나인 VMmap에 대해 알게되어 사용하게 되었습니다. 그런데 제가 아는 것과는 다른 부분이 몇 가지 존재하여 블로그에 정리하게 되었습니다.

링크 에러 메세지에서 주로 보게되는 심볼(Symbol)이 문득 정확히 어떻게 사용되는지, 정확히 무엇을 의미하는지가 궁금해져 정리를 하게 되었습니다.

오늘은 ACMNpcBase를 중심으로, 다양한 NPC 기능(대화, 퀘스트, 상점 등)을 컴포넌트 기반으로 확장할 수 있는 구조를 설계하였습니다.

Steam Online Subsystem을 사용해 친구 초대 및 멀티플레이 기능을 구현하던 중, 세션 생성과 참가(JoinSession)는 정상적으로 콜백이 오는데 실제로는 접속이 되지 않는 문제가 발생하였습니다.

리슨 서버/클라이언트 환경에서 Replicate 해야하는 인스턴스가 클라이언트에서도 생성되는 문제가 발생했습니다.