Machineboy空
인벤토리(inventory)시스템, SQLite4Unity3D 본문
인벤토리 시스템의 핵심인 데이터베이스로 시작하고 나서 플레이어가 인벤토리에 접근할 때 필요한 UI 요소를 만들 것이다.

인벤토리 시스템에 필요한 기능 목록이다.
- 영구적(Persistent)
- 모바일 게임은 시시때때로 종료되거나 방해받는 경우가 많다. 따라서 인벤토리는 게임을 하지 않는 사이에도 데이터베이스 또는 다른 저장 방식 간의 상태 정보를 유지해야 한다.
- 상태 저장은 강력하고 신속하게 이뤄져야 한다. 저장을 위해 단순 파일(flat file)이나 데이터 베이스를 사용할 수 있다. 일반적인 경우 단순 파일은 사용이 간단하지만 데이터베이스는 좀 더 강력하고 쉽게 확장할 수 있다.
- 크로스플랫폼(cross platform)
- 배포하고자 하는 모든 플랫폼에서 작동해야 한다.
- 때문에 단순 파일이 옳은 선택일 수 있따. 하지만 이후에 언급할 다른 좋은 크로스 플랫폼 옵션도 존재한다.
- 관계형(relational)
- 관계형이란 데이터베이스의 관점만이 아니라 오브젝트 간의 관계를 의미한다.
- 예를 들어 몬스터에게 요리사의 칼이나 모자 같은 아이템을 주고 싶을 수 있기 때문이다.
- 관계형 데이터베이스는 우리 게임에 잘 어울리겠지만 오브젝트 또는 그래프 데이터베이스와 같은 다른 옵션도 있다.
- 물론 xml을 사용하는 단순 파일도 가능하지만 데이터 베이스 솔루션이 좀 더 매력적으로 보인다.
- 확장성(extensible)
- 한 개의 아이템 타입, 다시 말해 몬스터로 구성될 것이다.
- 추후에는 다른 아이템도 손쉽게 지원할 수 있어야 한다.
- 접근성
- 게임 안에서 여러 신들과 여러 가지 요소들에 의해 사용될 수 있어야 한다.
- 따라서 인벤토리 서비스는 또는 싱글톤 타입이어야 한다. 인벤토리 시스템을 서비스에 배치할 수 있지만 싱글톤으로 만드는 것도 좋다.
https://github.com/robertohuertasm/SQLite4Unity3d
GitHub - robertohuertasm/SQLite4Unity3d: SQLite made easy for Unity3d
SQLite made easy for Unity3d. Contribute to robertohuertasm/SQLite4Unity3d development by creating an account on GitHub.
github.com
'Game > Unity' 카테고리의 다른 글
폰트 깨짐 해결 (0) | 2025.03.12 |
---|---|
아트관련 자료 모음집 (셰이더, 애니메이션, 오디오, 텍스쳐링 등) (1) | 2024.10.30 |
충돌 처리 - RayCast, Collider, Rigidbody, OnCollisionEnter, OnTriggerEnter (1) | 2024.10.30 |
싱글톤 패턴(Singleton Pattern) (1) | 2024.10.30 |
Unity 콘솔, OOP에 관련하여 (1) | 2024.09.27 |