콘텐츠로 이동

MultiPersistent 데이터

MultiPersistent는 별도의 게임이 서로 데이터를 공유할 수 있게 해주는 Ren’Py 기능입니다. 주로 후속작이 이전 편의 선택과 진행 상황을 읽어야 하는 멀티 파트 게임 시리즈에서 사용됩니다.

게임 개발자가 MultiPersistent 객체를 생성할 때, 공유 식별자(일반적으로 "mygameseries.example.com"과 같은 도메인 형식의 문자열)를 할당합니다. 같은 식별자를 사용하는 모든 게임이 동일한 공유 데이터 파일을 읽고 쓸 수 있습니다.

예를 들어, 두 파트로 된 비주얼 노벨 시리즈는 다음과 같이 작동할 수 있습니다:

  1. 게임 1편 — 플레이하면서 선택, 로맨스 루트, 스토리 플래그를 MultiPersistent 파일에 저장
  2. 게임 2편 — 실행 시 같은 파일을 읽어 결정 사항을 가져오고 개인화된 스토리 연속을 구축

이를 통해 개발자는 게임 간 수동으로 세이브 파일을 전송하지 않고도 여러 독립 릴리스에 걸친 분기 서사를 만들 수 있습니다.

MultiPersistent 데이터에는 일반적으로 다음이 포함됩니다:

  • 스토리 선택과 분기 결정
  • 로맨스 루트 선택
  • 캐릭터 관계 수치
  • 완료 플래그 (어떤 엔딩을 봤는지)
  • 개발자가 공유하기로 선택한 기타 데이터

Spark는 Ren’Py 데이터 폴더 내의 전용 multipersistent 디렉토리에 MultiPersistent 파일을 저장합니다. 이 디렉토리는 모든 게임에서 공유되어 서로 다른 타이틀이 데이터에 접근할 수 있게 합니다 — 데스크톱 플랫폼에서 Ren’Py가 의도한 것과 동일합니다.

iCloud 동기화가 활성화되면, Spark가 자동으로 MultiPersistent 데이터를 기기 간에 동기화합니다. 이는 iPhone에서 1편을 끝내면 iPad에서 2편이 수동 전송 없이 선택 사항을 가져올 수 있음을 의미합니다.

  • 에피소드형 비주얼 노벨 — 각 새 챕터가 이전 챕터의 진행 상황을 읽는 챕터별 출시 게임
  • 공유 세계관 게임 — 같은 세계를 배경으로 한 별도 타이틀이 플레이한 내용에 따라 보너스 콘텐츠를 잠금 해제
  • 후속작 가져오기 — 원작을 어떻게 완료했는지에 따라 오프닝을 맞춤화하는 직접 후속작

게임이 다른 타이틀의 MultiPersistent 데이터를 감지하지 못하는 경우:

  1. 두 게임 모두 실행되었는지 확인 — 후속작이 읽기 전에 첫 번째 게임이 플레이되고 MultiPersistent 데이터가 저장되어야 합니다
  2. iCloud 동기화 확인 — 기기 간 플레이 시 동기화가 완료될 때까지 기다리세요
  3. 게임 호환성 확인 — 두 게임 모두 개발자가 설정한 동일한 MultiPersistent 식별자를 사용해야 합니다. 개발자가 릴리스 간에 식별자를 변경한 경우 데이터가 자동으로 공유되지 않습니다