• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

아이템 데이터베이스

20.10.21 18:37 작성 조회수 714

3

인벤토리에 있는 아이템과 아이템의 능력치 같은 경우에도 json으로 많이 저장을 하나요??

답변 2

·

답변을 작성해보세요.

4

[변하지 않는 고정 데이터]는 데이터시트 (json/xml)로 관리하고
[유저마다 다른 데이터]는 데이터베이스(MySQL, MSSQL 등)에 저장합니다.

변하지 않는 데이터 함은 예를 들어 아이템의 고정 능력치를 예로 들 수 있겠네요.
롤에서 [무한의 대검]이라는 아이템의 옵션이
가격 3800, 공격력80, 치명타 25% 이라고 가정하면,
모든 [무한의 대검]은 다 동일한 옵션을 가질테니,
이를 일일히 따로 저장하기 보단 [무한의 대검]이라는 무기의 정보를 json으로 관리하게 됩니다.

예)
{
 "itemTemplateId": "1",
 "name": "무한의대검",
 "attack": "80"
}

그러나 MMO에서 모든 유저가 다 동일한 아이템을 들고 있는건 아니겠죠.
그래서 유저마다 인벤토리에 어떤 아이템을 소지하고 있는지를
DB의 Item 테이블에서 따로 관리를 하게 됩니다.
ex) userDbId / itemDbId / itemTemplateId

물론 그렇다고 세부적인 공격력 등의 수치까지 저장할 필요는 없고,
DB에 있는 정보에 데이터시트 번호도 같이 기입해
세부 정보는 데이터시트를 참조하게끔 만들면 됩니다.

0

LEETO님의 프로필

LEETO

질문자

2020.10.22

답변 감사합니다!!