🛠️ 오늘 한 작업

  • 오늘은 기획서를 보면서 제가 맡은 인벤토리 / 장비 / 퀵슬롯 / 탐색창 / 툴팁 / 드롭 아이템 쪽을 어떻게 구성할지 많이 고민했습니다.
  • 프로토타입 때보다 요구사항이 훨씬 많아져서, 단순히 이전에 만들었던 구조를 그대로 가져오기는 어렵겠다고 느꼈습니다.
  • 특히 패널 드래그, UI 창 스택 관리, ESC 닫기 순서 같은 세세한 UI 동작까지 생각해야 해서 머리가 꽤 복잡했습니다.

 

🧩 이전 프로토타입과 달라진 점

프로토타입 때도 인벤토리와 장비 시스템은 어느 정도 만들어봤습니다.

그때는 일단 아이템을 인벤토리에 넣고, 장비창으로 옮기고, 장착/해제 흐름을 만드는 것에 집중했습니다. 당시에는 그것만으로도 꽤 복잡하다고 느꼈는데, 최종 프로젝트 기획서를 보니까 이번에는 생각해야 할 게 더 많았습니다.

단순히 인벤토리와 장비창만 있는 게 아니라, 퀵슬롯, 탐색창, 아이템 툴팁, 드롭 아이템까지 같이 연결되어야 했습니다.

결국 이번에 맡은 파트는 “아이템 UI 몇 개 만들기”가 아니라, 아이템이 생기고, 보이고, 이동하고, 장착되고, 버려지고, 다시 확인되는 흐름 전체에 가까웠습니다.

 

🪟 패널 관리도 생각보다 복잡했다

기획서를 보면서 특히 UI 패널 쪽이 생각보다 신경 쓸 게 많다고 느꼈습니다.

단순히 버튼을 누르면 창이 열리고 닫히는 정도가 아니라, 패널 자체를 드래그해서 움직일 수도 있어야 했고, 여러 창이 열렸을 때 어떤 창이 위로 올라와야 하는지도 생각해야 했습니다.

  • 패널을 드래그해서 이동할 수 있는지
  • 여러 패널이 열렸을 때 마지막으로 클릭한 창이 위로 올라오는지
  • ESC를 눌렀을 때 가장 마지막에 선택한 창부터 닫히는지
  • 인벤토리, 장비창, 탐색창, 툴팁이 서로 겹쳤을 때 어떻게 처리할지

처음에는 이런 것들을 그냥 UI 기능 정도로 생각했는데, 막상 따져보니 창의 순서와 상태를 관리해야 하는 문제였습니다.

지금까지는 특정 패널을 켜고 끄는 방식에 익숙했는데, 이번에는 패널들이 동시에 열리고 서로 순서를 가지는 구조까지 필요해 보였습니다. 이 부분에서 “아, 이번에는 이전처럼 단순하게 만들면 안 되겠구나”라는 생각이 들었습니다.

 

🎒 아이템 관련 기능이 서로 연결되는 문제

제가 맡은 기능들은 하나씩 보면 분리된 기능처럼 보입니다.

  • 인벤토리
  • 장비창
  • 퀵슬롯
  • 탐색창
  • 아이템 툴팁
  • 드롭 아이템

그런데 실제로는 전부 이어져 있습니다.

탐색창에서 아이템을 획득하면 인벤토리에 들어가야 하고, 인벤토리 아이템은 장비창으로 이동할 수 있어야 합니다. 또 어떤 아이템은 퀵슬롯에 등록되어야 하고, 필요 없으면 필드에 버려져서 드롭 아이템으로 보여야 합니다.

여기에 툴팁까지 붙으면, 아이템이 어디에 있든 같은 정보를 보여줄 수 있어야 합니다. 인벤토리 슬롯에 있을 때만 툴팁이 나오는 게 아니라, 장비창이나 탐색창에서도 아이템 정보를 보여줘야 할 가능성이 높았습니다.

그래서 오늘은 “화면을 어떻게 만들지”보다 “이 기능들이 서로 어떻게 연결되어야 하지?” 쪽으로 생각이 많이 갔습니다.

 

🤯 머리가 복잡했던 이유

솔직히 오늘은 머리가 좀 복잡했습니다.

프로토타입 때 한 번 만들어본 기능이라 처음에는 “이번에도 비슷하게 하면 되지 않을까?”라고 생각했는데, 기획서를 볼수록 그렇게 단순하지 않을 것 같았습니다.

특히 이번에는 기능이 많아진 것도 있지만, 기능끼리 엮이는 부분이 많아졌습니다. 인벤토리 하나만 잘 만든다고 끝나는 게 아니라, 장비, 퀵슬롯, 탐색창, 드롭 아이템과 계속 맞물려야 했습니다.

그래서 “이걸 내가 부트캠프에서 배운 내용만으로 할 수 있을까?”라는 생각도 들었습니다. 배운 내용을 응용하면 될 것 같으면서도, 막상 전체 구조를 떠올리면 어디서부터 잡아야 할지 애매했습니다.

그래도 지금 바로 모든 걸 완벽하게 설계하려고 하면 오히려 더 막힐 것 같았습니다. 일단 큰 흐름을 나누고, 하나씩 구현하면서 필요한 구조를 정리해가는 방식으로 접근해야 할 것 같습니다.

 

🧭 앞으로 먼저 생각해야 할 것

오늘 생각해본 기준으로는, 바로 코드를 짜기 전에 먼저 정리해야 할 부분이 몇 가지 있어 보였습니다.

  • 아이템 데이터는 어디서 관리할지
  • 인벤토리와 장비창이 아이템을 어떻게 주고받을지
  • 퀵슬롯은 아이템을 직접 들고 있을지, 인벤토리 아이템을 참조할지
  • 탐색창에서 얻은 아이템이 인벤토리로 들어가는 흐름을 어떻게 만들지
  • 드롭 아이템은 필드에 어떤 데이터로 남길지
  • 툴팁은 어떤 슬롯에서든 공통으로 사용할 수 있게 만들 수 있을지
  • UI 패널의 열림/닫힘 순서와 ESC 처리를 어떻게 관리할지

이걸 한 번에 다 해결하려고 하면 너무 커지기 때문에, 우선은 인벤토리와 아이템 데이터 흐름부터 잡는 게 맞을 것 같습니다.

그 다음 장비, 퀵슬롯, 탐색창, 드롭 아이템을 차례로 붙이는 방향이 현실적일 것 같습니다.

 

📌 오늘의 회고

오늘은 기획서를 보면서 제가 맡은 파트가 생각보다 크다는 걸 체감한 날이었던 것 같습니다. 프로토타입 때는 인벤토리와 장비 정도만 생각해도 벅찼는데, 이번에는 퀵슬롯, 탐색창, 툴팁, 드롭 아이템, 패널 관리까지 같이 고려해야 했습니다.

솔직히 “내가 이걸 할 수 있을까?”라는 생각도 들었습니다. 하지만 반대로 생각하면, 이번 프로젝트에서 이 파트를 제대로 만들어보면 확실히 많이 배울 수 있을 것 같습니다.

지금은 머릿속에 기능들이 한꺼번에 떠올라서 복잡하지만, 결국 하나씩 쪼개서 보면 해볼 수 있는 작업들도 있을 것 같습니다. 일단은 너무 크게 겁먹기보다, 아이템 데이터와 인벤토리 흐름부터 차근차근 잡아봐야겠습니다.