직무 소개

[게임 기획자 (PM)가 하는 일] 데이터 테이블 설계 완전 가이드

프라임 커리어 2025. 3. 20. 12:28

게임 기획자 (PM)의 업무를 하다 보면, "데이터 테이블 설계는 어떻게 할까?", "조금 더 효율적이고 잘할 수는 없을까?"와 같은 질문이 떠오르곤 합니다.

 

오늘은 이러한 궁금증을 해결할 수 있는 실무에서의 중요한 포인트를 정리해보려고 합니다. NHN엔터테인먼트에서 일하신 분께 여쭤 본 부분들을 바탕으로 포스팅 하려고 합니다.

 

그럼 포스팅 시작하겠습니다!

 

1) 인트로: 게임과 데이터의 만남

 

게임 개발 현장에서 기획자가 마주하는 가장 중요한 도구 중 하나가 바로 데이터 테이블입니다. 테이블은 단순한 표가 아닌, 게임의 뼈대를 형성하는 핵심 요소로서 캐릭터, 아이템, 스킬, 퀘스트 등 모든 콘텐츠를 체계적으로 관리하고 제어하는 역할을 합니다. 특히 MMORPG의 경우 40개 이상의 테이블을 사용하는 것이 일반적이며, 밸런스 기획자에게는 필수적인 도구입니다.

 

2) 데이터 테이블의 본질과 역할

 

데이터 테이블은 세로줄과 가로줄 모델을 이용한 정렬된 데이터 집합으로, 게임 시스템에서 상호작용하는 수많은 정보들을 구조화합니다. 게임 개발 환경에 따라 엑셀, 엑세스, 스크립트, 전용 툴 등 다양한 형태로 구현됩니다.

테이블의 핵심적인 가치는 다음과 같습니다:

▸ 문서의 간결화: 복잡한 게임 시스템을 체계적으로 정리하여 문서를 간결하게 만듭니다
▸ 집중력 향상: 한 가지 기능이나 요소에 집중할 수 있게 해줍니다
▸ 프로그래머와의 소통: 프로그래머들이 이해하기 쉬운 형태로 정보를 제공합니다
▸ 콘텐츠 대량 생산: 구조화된 테이블을 통해 게임 콘텐츠를 손쉽게 대량 생산할 수 있습니다
▸ 데이터 변경 용이성: 게임 밸런스 조정이나 콘텐츠 업데이트가 필요할 때 데이터 변경이 용이합니다

3) 테이블 설계의 기본 원칙

 

 

효과적인 데이터 테이블 설계를 위해서는 키(Key)와 필드(Field)의 개념을 명확히 이해해야 합니다. 키는 테이블에서 특정 행(Row)을 식별하기 위한 값이며, 필드는 데이터를 저장하기 위한 가장 작은 단위입니다.

컬럼(Column)은 게임 시스템에서 실제로 필요한 정보를 중심으로 설계해야 합니다. 예를 들어, 스킬 테이블에 스킬 설명 컬럼이 있다면, 이는 게임 UI에서 플레이어에게 스킬 정보를 제공하는 데 사용됩니다. 반면, 불필요한 정보를 담는 컬럼은 자원 낭비와 혼란을 초래할 수 있습니다.

설계 시 고려해야 할 핵심 원칙들:

▸ 명확한 키(ID) 설계: 고유하게 식별 가능한 키 값을 설계합니다
▸ 데이터 타입 최적화: 각 필드에 적합한 데이터 타입을 선택하여 메모리 사용을 최적화합니다
▸ 관계 설정: 
... 더보기

 

4) 테이블 구조 최적화 방법론

 

데이터 테이블의 구조 최적화는 게임의 성능과 유지보수성에 직접적인 영향을 미칩니다. 테이블의 분할과 통합을 적절히 조절해야 하는데, 분할이 너무 많으면 관리가 복잡해지고, 너무 적으면 불필요한 데이터로 인해 리소스가 낭비될 수 있습니다.

예를 들어, 캐릭터가 여러 랭크의 스탯을 가지고 있는 경우, 모든 랭크의 스탯을 하나의 행에 포함시키는 것보다 별도의 테이블로 분리하는 것이 더 효율적일 수 있습니다. 이는 데이터의 가독성을 높이고, 향후 랭크나 스탯이 추가될 때 코드 수정 없이 데이터만 추가할 수 있게 해줍니다.

효율적인 구조화를 위한 기법들:

▸ 정규화(Normalization): 데이터 중복을 최소화하고 일관성을 유지하기 위해 테이블을 분할합니다
▸ 역정규화(Denormalization): 일부 상황에서는 성능 향상을 위해 의도적으로 데이터 중복을 허용합니다
▸ 인덱싱(Indexing): 자주 검색되는 필드에 인덱스를 추가하여 검색 성능을 향상시킵니다
▸ 캐싱(Caching): ... 더보기

 

5) 국내 사례 분석 1: 넥슨 메이플스토리의 데이터베이스 설계

 

넥슨의 메이플스토리는 복잡한 게임 시스템을 효율적으로 관리하기 위한 데이터베이스 설계의 대표적 사례입니다. Wizet에서 제작하고 넥슨에서 서비스하는 메이플스토리는 DirectX 기반의 횡 스크롤 게임으로, 분산 서버 구조를 통해 서버 부하를 효과적으로 관리합니다.

메이플스토리의 데이터베이스 설계 특징:

▸ 맵 기반 분산 시스템: 게임 내 여러 맵을 기반으로 서버 부하를 분산하는 구조를 채택했으며, 이를 위한 맵 데이터 테이블이 중요한 역할을 합니다
▸ 국제화 지원: 일본, 중국, 영어권 국가 등 여러 국가에서 서비스되는 특성을 고려하여, 언어 및 지역별 콘텐츠를 효율적으로 관리할 수 있는 데이터 구조를 갖추고 있습니다
▸ 아이템 시스템: 메이플스토리의 핵심인 아이템 시스템은 복잡한 속성과 효과를 갖고 있으며, 이를 위한 세분화된 데이터 테이블을 사용합니다
▸ 퀘스트 및 이벤트 관리: ... 더보기

 

6) 국내 사례 분석 2: 그라비티의 라그나로크 온라인 테이블 설계

 

그라비티의 라그나로크 온라인은 국내에서 개발되어 전 세계적으로 서비스된 성공적인 MMORPG입니다. 라그나로크 온라인의 데이터 테이블 설계는 게임의 독특한 특성과 글로벌 서비스를 고려한 효율적인 구조를 보여줍니다.

라그나로크 온라인의 테이블 설계 특징:

▸ 직업 시스템: 라그나로크의 핵심인 직업 시스템을 위한 테이블은 기본 직업과 전직 직업 간의 관계, 직업별 스킬, 스탯 보너스 등을 체계적으로 관리합니다
▸ 카드 시스템: 게임의 특징적인 요소인 몬스터 카드 시스템을 위한 테이블은 카드의 효과, 조합, 확률 등을 세밀하게 관리합니다
▸ 아이템 조합 시스템: 복잡한 아이템 조합 시스템을 위해 재료 아이템, 결과 아이템, 성공 확률 등을 관리하는 테이블이 설계되어 있습니다
▸ 몬스터 AI 테이블화: 테이블을 통해 몬스터의 행동 패턴을 정의하는 방식을 채택하여 프로그래머의 개입 없이도 기획자가 몬스터의 행동을 설계할 수 있습니다
▸ 글로벌 서비스 지원: ... 더보기

7) 국내 사례 분석 3: 펄어비스의 검은사막 데이터 시스템

 

펄어비스의 검은사막은 방대한 오픈 월드와 복잡한 생활 콘텐츠를 특징으로 하는 MMORPG로, 이를 지원하기 위한 체계적인 데이터 테이블 설계가 돋보입니다.

검은사막의 데이터 테이블 설계 특징:

▸ 오픈 월드 맵 관리: 광활한 오픈 월드를 효율적으로 관리하기 위한 지역, 날씨, NPC 배치 등의 데이터 테이블이 설계되어 있습니다
▸ 생활 콘텐츠 시스템: 채집, 낚시, 요리, 연금, 거래 등 다양한 생활 콘텐츠를 지원하기 위한 세분화된 데이터 테이블이 구축되어 있습니다
▸ 노드 시스템: 게임의 특징적인 요소인 노드 시스템을 관리하기 위한 테이블은 노드 간의 연결, 투자 효과, 작업자 관리 등의 복잡한 관계를 처리합니다
▸ 인공지능 시스템: 몬스터와 NPC의 행동을 제어하는 인공지능 시스템은 상태 기반의 행동 패턴을 정의하는 테이블을 통해 구현됩니다
▸ 장비 강화 시스템: ... 더보기

8) 해외 사례 분석 1: 일렉트로닉 아츠(EA)의 DynamoDB 활용

 

글로벌 게임 기업인 일렉트로닉 아츠(EA)는 Amazon DynamoDB를 활용한 효율적인 데이터 관리 시스템으로 게임 서비스의 안정성과 성능을 크게 향상시킨 사례입니다.

EA의 DynamoDB 활용 방식:

▸ 대규모 사용자 지원: 전 세계적으로 3억 명이 넘는 등록 사용자와 초당 10만 회 이상의 요청, 수백만 명의 일일 활성 사용자를 지원하는 데이터 시스템을 구축했습니다
▸ 비용 효율성: MySQL 클러스터로 구성되었던 이전 데이터베이스에 비해 DynamoDB로 마이그레이션 후 90%의 비용 절감 효과를 달성했습니다
▸ 다양한 데이터 저장: 게임 상태, 사용자 데이터, 게임 인벤토리 등을 여러 테이블에 저장하며, 사용자 ID를 파티션 키 및 기본 키로 사용하는 1:1 모델링 패턴을 채택했습니다
▸ 시간 중심 데이터 관리: 플레이어 세션 기록 및 기타 시간 중심의 데이터 저장을 위해 플레이어 ID를 파티션 키로, 날짜 및 시간을 정렬 키로 사용하는 1:M 모델링 방식을 활용합니다
▸ 리더보드 시스템: ... 더보기

9) 해외 사례 분석 2: 블리자드의 월드 오브 워크래프트 데이터 시스템

 

블리자드 엔터테인먼트의 월드 오브 워크래프트(WoW)는 MMORPG의 역사에서 큰 획을 그은 게임으로, 방대한 게임 세계와 다양한 콘텐츠를 지원하기 위한 체계적인 데이터 테이블 설계가 특징입니다.

WoW의 데이터 테이블 설계 특징:

▸ 애드온 API 지원: 게임 내 데이터에 접근할 수 있는 API를 제공하여 사용자 제작 애드온을 지원하는 개방적인 데이터 구조를 갖추고 있습니다
▸ 쿼리 최적화: 대규모 사용자가 동시에 접속하는 환경에서도 안정적인 성능을 제공하기 위한 데이터베이스 쿼리 최적화 기술을 적용했습니다
▸ 아이템 시스템: 수만 개의 아이템을 관리하기 위한 체계적인 데이터 구조를 갖추고 있으며, 아이템의 속성, 효과, 획득 방법 등을 세밀하게 제어합니다
▸ 퀘스트 시스템: 복잡한 퀘스트 진행과 보상 시스템을 관리하기 위한 데이터 테이블은 퀘스트 간의 의존성, 선행 조건, 보상 등을 체계적으로 관리합니다
▸ 분산 서버 아키텍처: ... 더보기