Custom Resources for global state management – Sam Szuflita – GodotCon 2025
- 게임 상태 관리를 위해 커스텀 리소스를 사용하는 방법에 대한 발표 🎮
- 게임 내 데이터가 여러 노드에서 공유되어야 하는 문제점을 해결하기 위한 방법 제시 🤔
- 커스텀 리소스는 데이터 컨테이너로, 노드들이 필요로 하는 데이터를 담고 있음 📦
- 일반적인 리소스(텍스처, 스크립트, 폰트)와 달리, 게임 상태는 런타임에 변경될 수 있음 🔄
- 게임 상태를 노드에 저장하는 대신, 전역적으로 접근 가능한 커스텀 리소스에 저장 🌍
- 간단한 예시로, 버튼 클릭 횟수를 커스텀 리소스에 저장하고 여러 노드에서 공유하는 방법 제시 🖱️
- 더 복잡한 예시로, 카드 게임에서 플레이어의 상태(체력, 핸드, 덱)를 커스텀 리소스로 관리하는 방법 제시 🃏
- 커스텀 리소스를 사용하면 프로토타입 제작 속도를 높이고, 모듈화된 씬을 만들 수 있음 🧩
- 디버깅에도 유용하며, 게임 상태를 저장하고 불러와서 버그를 재현할 수 있음 🐛
- 내장 클래스는 특정 데이터를 기대하므로, 모든 경우에 적용 가능한 해결책은 아님 ⚠️
- 데이터와 노드 계층을 분리하여 상태 변화에 집중하고, 노드 스타일링을 나중에 재방문할 수 있음 🎨
- 씬들이 다른 노드의 존재에 의존하지 않으므로 모듈러 씬을 만들 수 있음 ✨