MultiPersistent 데이터
MultiPersistent는 별도의 게임이 서로 데이터를 공유할 수 있게 해주는 Ren’Py 기능입니다. 주로 후속작이 이전 편의 선택과 진행 상황을 읽어야 하는 멀티 파트 게임 시리즈에서 사용됩니다.
작동 방식
섹션 제목: “작동 방식”게임 개발자가 MultiPersistent 객체를 생성할 때, 공유 식별자(일반적으로 "mygameseries.example.com"과 같은 도메인 형식의 문자열)를 할당합니다. 같은 식별자를 사용하는 모든 게임이 동일한 공유 데이터 파일을 읽고 쓸 수 있습니다.
예를 들어, 두 파트로 된 비주얼 노벨 시리즈는 다음과 같이 작동할 수 있습니다:
- 게임 1편 — 플레이하면서 선택, 로맨스 루트, 스토리 플래그를 MultiPersistent 파일에 저장
- 게임 2편 — 실행 시 같은 파일을 읽어 결정 사항을 가져오고 개인화된 스토리 연속을 구축
이를 통해 개발자는 게임 간 수동으로 세이브 파일을 전송하지 않고도 여러 독립 릴리스에 걸친 분기 서사를 만들 수 있습니다.
공유되는 내용
섹션 제목: “공유되는 내용”MultiPersistent 데이터에는 일반적으로 다음이 포함됩니다:
- 스토리 선택과 분기 결정
- 로맨스 루트 선택
- 캐릭터 관계 수치
- 완료 플래그 (어떤 엔딩을 봤는지)
- 개발자가 공유하기로 선택한 기타 데이터
Spark의 MultiPersistent 처리 방식
섹션 제목: “Spark의 MultiPersistent 처리 방식”Spark는 Ren’Py 데이터 폴더 내의 전용 multipersistent 디렉토리에 MultiPersistent 파일을 저장합니다. 이 디렉토리는 모든 게임에서 공유되어 서로 다른 타이틀이 데이터에 접근할 수 있게 합니다 — 데스크톱 플랫폼에서 Ren’Py가 의도한 것과 동일합니다.
iCloud 동기화
섹션 제목: “iCloud 동기화”iCloud 동기화가 활성화되면, Spark가 자동으로 MultiPersistent 데이터를 기기 간에 동기화합니다. 이는 iPhone에서 1편을 끝내면 iPad에서 2편이 수동 전송 없이 선택 사항을 가져올 수 있음을 의미합니다.
일반적인 사용 사례
섹션 제목: “일반적인 사용 사례”- 에피소드형 비주얼 노벨 — 각 새 챕터가 이전 챕터의 진행 상황을 읽는 챕터별 출시 게임
- 공유 세계관 게임 — 같은 세계를 배경으로 한 별도 타이틀이 플레이한 내용에 따라 보너스 콘텐츠를 잠금 해제
- 후속작 가져오기 — 원작을 어떻게 완료했는지에 따라 오프닝을 맞춤화하는 직접 후속작
문제 해결
섹션 제목: “문제 해결”게임이 다른 타이틀의 MultiPersistent 데이터를 감지하지 못하는 경우:
- 두 게임 모두 실행되었는지 확인 — 후속작이 읽기 전에 첫 번째 게임이 플레이되고 MultiPersistent 데이터가 저장되어야 합니다
- iCloud 동기화 확인 — 기기 간 플레이 시 동기화가 완료될 때까지 기다리세요
- 게임 호환성 확인 — 두 게임 모두 개발자가 설정한 동일한 MultiPersistent 식별자를 사용해야 합니다. 개발자가 릴리스 간에 식별자를 변경한 경우 데이터가 자동으로 공유되지 않습니다