커스텀 게임 데이터를 저장해야합니다. 지도, 선수 등
그들 모두는 "하위 오브젝트"를 갖습니다. 예를 들어지도와지도에는 "배열"타일이 있습니다. 즉, 계층 적 데이터. 희망적으로 바이너리는 없습니다.
이것들에게 좋은 형식은 무엇입니까?
지금까지 나는 고려했다 :
Serailization : 빠르고 빠르지 만 기본 클래스를 변경하면 중단되는 경향이 있습니다.
XML : 나는 이것을 파싱하는 것을 정말로 싫어한다. 내 테스트 케이스는 100 줄 이상의 코드였으며 매우 간단한 형식의 톤의 "바쁜 작업"처럼 보였습니다.
INI : 계층 적 데이터에 대해서는 서투른 것입니다.
Protobuf : 사용하지는 않았지만 클래스를 변경하면 많은 수동 뭉개기를해야하고 중단됩니다.
다른 옵션? 그래서 내가 여기 있습니다!
편집 : 이것은 Java btw입니다.
편집 2 :
"제어 이진 직렬화"(아래 참조)에 정착했습니다.
장점 :
빠르다
디스크가 작고 읽기 / 쓰기 중에 쉽게 압축 / 압축 해제 할 수 있습니다.
게임과 툴셋에서 읽기 / 쓰기가 매우 쉽습니다.
객체의 포함 / 제외를 결정할 수 있습니다.
개체 / 데이터를 중첩 할 수 있습니다.
단점 :
직접 편집 할 수 없습니다 (예 : XML, YAML 등)
스크립트로 쉽게 읽거나 수정할 수 없습니다
기본적으로 Java Serialization은 다른 기능에 비해 상당히 느리거나 부풀어 있지만 안정적이며 작동합니다.