
Lapi는 2D RPG를 제작해보고자 하여 시작한 프로젝트다. 다른 RPG와 비교해서 특별한 것을 보여주고 싶은 마음은 없지만, 다른 RPG에서 제공하는 기본적인 기능들을 구현해보려고 했다. 그리고 구현한 기능들을 하나하나 정리하면 누군가에게 도움이 되지 않을까라는 마

서비스 로케이터는 DontDestroyOnLoad와 Singleton으로부터 해방될 수 있는 첫 길잡이 역할을 했었다. 두 번째 길잡이는 DI Container다.DI Container는 의존성을 주입할 때 편리하게 사용할 수 있는 도구다. DI Container 프레

순서 1. 경험치 서비스 유저 데이터 서비스 스테이터스 UI 시작 > MVP 패턴에 대해서 모르신다면 여기를 참고하세요. 경험치 서비스를 설명하기에 앞서 유저 데이터 시스템의 다이어그램을 먼저 살펴보자. 유저 데이터 시스템은 MVP 구조로 설계했으며, 서비스와

저번 글에서는 스테이터스 UI에 필요한 요소인 총 경험치를 로드하고 제공하는 경험치 서비스를 구현했었다.이번 글에서는 스테이터스 UI에 표시하기 위한 나머지 데이터들을 관리하고 제공하는 유저 서비스를 구현해볼 예정이다. 시작해보자.우선 서비스에서 제공할 데이터를 먼저

앞서 구현한 로컬 경험치 서비스와 로컬 유저 서비스를 토대로 스테이터스 UI를 제작할 차례다.만약 UI로 사용하기에 적절한 이미지가 없다면 아래의 이미지를 사용하도록 하자.여기에서 말했듯이 UI는 MVP 아키텍처 패턴을 이용해서 제작할 것이다. 그래서 Model, Vi

데스크탑 게임에 있어서 키 바인딩 시스템은 사용자들의 자유도와 컨트롤을 높이는 데 큰 기여를 한다. 사람들마다 선호하는 키 조합과 배열이 다르기 때문에 사용자들의 만족도를 높이려면 키보드의 키를 개개인이 바인딩할 수 있어야 한다.본격적으로 다양한 팝업 UI의 활성화 및

앞서 구현한 키 서비스를 토대로 키 바인더 UI를 제작할 차례다.만약 UI로 사용하기에 적절한 이미지가 없다면 아래의 이미지를 사용하도록 하자.여기에서 말했듯이 키 바인더 UI는 MVP 패턴을 이용한다. 하지만 키 바인더 UI는 각각의 키 바인더 슬롯을 묶어주는 컨테이

저번 글에서는 키 서비스를 이용하여 키 바인더 UI를 구성하는 과정을 보였다. 하지만 키 바인더 UI가 존재함에도 이를 열지 못했다. 이게 무슨 소용인가.. 그래서 키 바인더 UI를 포함하여 앞으로 등장할 팝업 UI들의 모든 활성화와 비활성화의 책임을 가지는 팝업 UI

시작 인벤토리 시스템은 게임에서 가장 중요하다고 말할 수 있는 부분이다. 인벤토리를 통해서 사용자는 자신의 획득한 아이템을 가지고 특별한 연산들을 진행할 수 있다. 또한, 인벤토리와 다른 UI들과의 상호작용을 생각하면 절대적으로 차지하는 비중이 많다. 그러므로 인벤토

시작 저번 글에서 정의한 Item을 토대로 이번 글에서는 인벤토리 서비스를 구현해보려고 한다. 인벤토리 서비스는 InventoryPresenter와 IItemSlotContext에서 제공할 메서드를 구현하는 데 사용한다. 그럼 이제 인벤토리 서비스에 대한 내용을 시작

저번 글에서는 Item과 ItemData를 이용하여 인벤토리 서비스를 구현했었다. 이번 글에서는 인벤토리 서비스를 이용하여 인벤토리 UI를 구현해본다. 인벤토리 시스템에서 인벤토리 UI는 사실 큰 비중을 차지하지 못한다. 단순히 아이템 슬롯들을 보관해주는 컨테이너의 역

인벤토리 UI는 앞선 글에서 설명했듯이 아이템 슬롯을 담는 컨테이너에 불과하다. 아이템 슬롯이 그만큼 중요하며 많은 기능을 담당한다.많은 기능을 담당하는 만큼 코드가 비대해지므로 이를 어떻게 분리하느냐가 아이템 슬롯 구현의 핵심이라고 할 수 있다.역시나 마찬가지로 아이

커서 매니저를 인벤토리 시스템에 포함시킬까 말까 고민을 많이 했다. 사실 커서 매니저의 역할은 인벤토리 시스템에 국한되는 것이 아니라 다양한 문맥에서 다양한 이벤트 호출에 의해서 커서를 변경하는데 이 이벤트가 인벤토리 시스템도 존재한다.그래서 완벽한 인벤토리를 위해서는
이번 글에서는 아이템 슬롯을 범용적으로 사용할 수 있도록 각 상황에 알맞는 슬롯을 돌려주거나 설정해주는 컨텍스트를 구현해볼 것이다.글의 마지막에는 이 슬롯 컨텍스트가 라피에서는 어떻게 완성되었는지 전체 코드를 보이도록 하겠다. 시작해보록 하겠다.처음부터 아이템 슬롯에