게임 기획

데이터 모델링 2

볼태르 2023. 9. 15. 22:24

Vslue 구성 방법

복습

자료형 크기 값의 표현범위
문자형 char 1바이트 -128 ~127
unsigned char 1바이트 0 ~ 255
정수형 short 2바이트 -32768 ~32767
int 4바이트 -2147483648~ 2147483647
long 4바이트 -2147483648~ 2147483647
long long 8바이트 -22370036854775808~ 23372036854775807

unsigned short 2바이트 0~ 35535
unsigned int 4바이트 0 ~ 4294967295
unsigned long 4바이트 0 ~ 4294967295
unsigned long long 8바이트 0 ~ 18446744073709551615
실수형 float 4바이트 3.4*10^-307 ~ 34*10^38
double 8바이트 1.7*107^-307 ~ 1.7*10^308
long double 8바이트이상 double 이상의 표현범위 

Value 구성 방법

문자로 구성하려면 

1byte, 2byte 문자 구분(영어 or 한글)

가급적 1byte 문자로 설계하는 것이 좋음. (관리 효율성이 높음)

최소글자수 ~ 최대 글자 수 (매우 중요)

특수 문자 기입 여우 (이메일?!)

 

프로그램에서 각종 특수문자는 문제를 발생시킬 여지가 매우 높음!

 

Value 구성 방법

그 외 

날짜 / 시간 : 날짜 외 시간 표기를 위한 숫자 조합이나 별도 규칙 지정

예) 년/월/일, 시:분:초 개념등.. 

선택지 : 타입(Type) 정의의 경우 별도 명세서 제공 필요.

예) 아이템(Entity)의 Type(Attribute) 값이 1이면 무기, 2면 방어구...

유니크 : 이값은 혼자만 가져야 한다!(별도 규칙 지정)

예) 무기는 한 개만 착용할 수 있다. (그럼 인벤에 있는 나머지 무가들은??)

 

UID(식별자)

Unique identification Number.

보통 UID, 유니크 코드, 인텍스 넘버 등으로 부른다.

특정한 Instance 를 관리하는 목적으로 활용

데이터 베이스 및 게임 데이터에는 수많은 값이 있고 이를 독립적으로 관리해야 꼬이지 않는다.

따라서 별도의 식별자를 사용하는 경우가 많다.

 

UID(식별자)

보통 Attribute 중에 대표 가능한 것을 지정

없을 경우 별도의 Attribute를 생성한다..

개별 Entity 간의 관계를 정의하고 연결한다.

예) 아이템 기본 정보(Entity)와 아이템 사용 효과(Entity)는 별도 관리 이 둘을 엮어주는 UID는 Item ID(Attribute)와 같은 요소가 된다. 

 

UID(식별자)

예) 아이템 기본 정보(Entity)와 아이템 사용 효과(Entity)는 별도 관리 이 둘을 엮어주는 UID는 Item ID(Attribute)와 같은 요소가 된다.

 

UID 구성 팁

보통 기획 레벨에서 특정 숫자 조합으로 지정

최근에는 자동화되어 안 하는 경우도  있음(그래도 알아야 함)

Element 단계에 따라  Code를 구성하는 규칙을 적용

대부분의 데이터는 테이블에 귀속되므로, 테이블 단위 구분을 code에 활용하는 경우가 많음.

 

Relationship(관계)

Entity들과의 관계를 정의한다.

보통은 상/하위 또는 정보를 주고받는 관계를 구성

보통은 상속되는 수준까지만 기획한다.

기획서에서 동사로 표기되는 경우가 많다.

예) 아이템(Entity)을 사용하면 xx효과(Entity)가 발동된다.

 

Relatonship 관계 차수

1:1, 1:다 다:다 관계로 구성

예) 사용자(Entity) 당 여러 개의 캐릭터(Entity)를 가질 수 있다.(1:다)

예) 캐릭터(Entity)는 1개의 직업(Entitu)만 가질 수 있다. (1:!)

 

Relationship 관계 선택 사양

필수 구성 (Mandatory) 

반드시 상위 또는 관계가 필요한 경우

'상속' 되는 경우가 많다.

 

 

Relationship 관계 선택 사양 

선택적 구성(Optional)

관계가 있어도 그만 아니어도 그만인 경우 (개별 구성 가능)

 

데이터 모텔링 과정

 

데이터 모텔링 기본 과정

Entity화 가능한 요소를 정리 (캐릭터, 아이템 몬스터 등..)

Attibute가 될 수 있는 항목을 수집 (각종 수치와 기록 요소 등)

수집된 Entity와 Attribute를 정리한다.

배치와 구분의 재정의 

Attribute를 Entity로 만들 수도 있다.(또는 반대의 경우도 발생)

Relationship에 따라 Entity를 정리하고 UID를 지정

Entity 간의 관계를  정의하고 구분한다.

 

테이터 모델링 :예제 

 

MMORPG의 아이템을 짜보자

아이템은 인벤토리에 보관

아이템은 장비 아이템, 소비 아이템으로 구분

장비 아이템은 무기 아이템과 방어구 아이템으로 구분

소비 아이템은 사용 시 효과가 발동된다.

여기서 Entity랑 Attribute는? 

 

일단 Entity부터 뽑는다.

아이템은 인벤토리에 보관

아이템은 장비 아이템, 소비 아이템으로 구분

장비 아이템은 무기 아이템과 방어구 아이템으로 구분

소비 아이템은 사용 시 효과가 발동된다.

 *Entity는 주로 명사가 된다.

 

Attribute 항목 수집

아이템 : 구입 가격, 판매 가격, 종류, 중복 가능 수량..

장비 아이템 : 무기 아이템, 방어구 아이템

무기 아이템 : 추가 공격력, 공격속도, 종류 등..

방어구 아이템 : 방어력, 추가 능력치, 종류 등..

소비아이템 : 소비 효과 종류 효과 정의 등..

 

Entity & Attribute 정리

장비 아이템(Entity)은 아이템(Entity)에서 구분

무기, 방엉구, 소비 아이템으로 구분한다.

소비 아이템(Entity) 효과는 개별 정의보다는 다른 Entity에서 가져오자

주요 효과는 스킬에서 관리하니까 스킬 효과(Entity)에서 가져온다

 

Relationship 정리

아이템 -> 무기 아이템.

           --> 방어구 아이템

            --> 소비 아이템 --> 스킬 효과

 

Entity & Attribute 정리

장비 아이템(Entity)은 아이템(Entity)에서 구분

무기 방어구, 소비 아이템으로 구분한다 = 구분용 Attribute 'Type"를 추가

소비 아이템(Entity) 효과는 개별 정의보다는 다른 Entity에서 가져오자

-주요 효과는 스킬에서 관리하니까 스킬 효과(Entity)에서 가져온다.

=UID로 스킬 효과의 'Skill ID'를 사용

 

데이터 모델링 실습

 

데이터 모델링 실습

시스템을 분석하여 Entity 항목을 나열한다.

나열된 Entity에 포함될 Attribute 항목을 수집한다.

Entity와 Attribute를 정리한다.

UID를 지정하고 Relationship을 구성한다.

(파워포인트 또는 비지오 사용)

설정한 Entity와 Attribute를 테이블로 정리한다.( 엑셀 사용)

 

'게임 기획' 카테고리의 다른 글

UI 두번째  (0) 2023.09.21
콘텐츠 기획 & UI  (0) 2023.09.20
레벨 디자인 & 데이터 모텔링  (0) 2023.09.12
게임 레벨 디자인 2  (0) 2023.09.07
게임 이야기 2 & 게임 레벨 디자인  (0) 2023.09.07