🗄️ 게임 데이터베이스 설계 – 인벤토리, 랭킹, 세이브 시스템
게임에서 데이터베이스(DB)는 필수적이다. 아이템을 관리하고, 랭킹을 기록하고, 플레이어의 진행 상황을 저장해야 하기 때문이다. 이번 글에서는 게임에서 자주 쓰이는 3가지 데이터 구조 를 살펴본다. 1. 인벤토리 관리 아이템 추가/삭제, 중복 방지 필요 JSON 또는 DB 테이블 설계 { "inventory" : [ { "itemID" : 1 , "name" : "Sword" , "count" : 1 } , { "itemID" : 2 , "name" : "Potion" , "count" : 5 } ] } DB 테이블 예시 item_id player_id name count 1 user01 Sword 1 2 user01 Potion 5 2. 랭킹 시스템 점수 저장 → 정렬 → 상위 N명 출력 SQL 예시 SELECT player_id, score FROM ranking ORDER BY score DESC LIMIT 10 ; Firebase Realtime DB도 자주 사용 → 모바일 게임 적합 3. 세이브/로드 시스템 간단한 방식 → PlayerPrefs PlayerPrefs.SetInt( "HighScore" , 1000 ); int score = PlayerPrefs.GetInt( "HighScore" ); 복잡한 방식 → JSON 파일 / 서버 DB 저장 MMORPG, 온라인 게임 → 서버 중심 세이브 필수 4. 설계 시 고려사항 속도 vs 안정성 균형 보안 (데이터 변조 방지) 스케일링 (플레이어 수 증가 시 성능 유지) 5. 마무리 게임 데이터베이스는 단순 저장소가 아니라...