강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

꾸룽꾸룽님의 프로필 이미지
꾸룽꾸룽

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Data Manager #2

Data저장 관련 질물입니다!

작성

·

237

0

게임 종료시

Stat Data를 저장하고 다시 로드할때 json으로 변환해서 저장하고 재실행하면 저장된 json을 파싱해서 사용하면 될까요??

그리고 Dictionary로  Stat 을  만들어 주셨는데

json으로 저장할때 리스트로 저장해야 되는건지 ..감이 잡히질 않아서 질문 남깁니다!

답변 2

1

Rookiss님의 프로필 이미지
Rookiss
지식공유자

종료시 저장하고 시작할 때 로드하는 부분은
세이브 파일이라고 볼 수 있는데,
세이브 파일은 꼭 json을 활용할 필요는 없고
보통 자체적인 binary format을 정의합니다.
싱글게임이 아니라 온라인 게임이라면 데이터가 DB에 저장되고
클라가 서버에 접속하는 시점에, 서버가 DB에서 정보를 긁어서 전달해줄 것입니다.

아무튼 위에서 얘기하는 StatData는 세이브 파일이 아니라
데이터시트 (혹은 데이터 파일)이라고 하는데
코드에서 하드코딩하는 고정 수치 값들을 별도의 파일로 뺀 것이라고 볼 수 있습니다.
예를 들어 LOL이라는 게임에서 [가렌이라는 챔피언의 스킬당 공격력, 쿨타임 등]을 저렇게 저장하겠죠.

json을 어떻게 활용할지는 본인의 자유지만
일반적으로 메모리에서는 key-value 형태로 저장해야
데이터가 많아지더라도 일일히 스캔하지 않고 빠르게 찾을 수 있습니다.
그렇기 때문에 대표 키값을 하나 주고, 그것을 이용해서
메모리 상으로는 Dictionary로 들고 있는 것입니다.
json을 파싱한 다음에 메모리에서는 json이 아닌 일반 클래스로 들고 있는 것에 유의하세요.

0

꾸룽꾸룽님의 프로필 이미지
꾸룽꾸룽
질문자

아하 이해가 되는것 같습니다!! 더 많이 해봐야 겠네요 ㅎㅎ 감사합니다!!

꾸룽꾸룽님의 프로필 이미지
꾸룽꾸룽

작성한 질문수

질문하기