Данные MultiPersistent
MultiPersistent — это функция Ren’Py, позволяющая отдельным играм обмениваться данными друг с другом. Она в основном используется сериями из нескольких частей, где продолжение должно прочитать ваш выбор и прогресс из предыдущей части.
Как это работает
Заголовок раздела «Как это работает»Когда разработчик игры создаёт объект MultiPersistent, он назначает ему общий идентификатор (обычно строку типа домена, например "mygameseries.example.com"). Любая игра, использующая тот же идентификатор, может читать и записывать один и тот же общий файл данных.
Например, серия визуальных новелл из двух частей может работать так:
- Глава 1 игры — По мере прохождения игра сохраняет ваш выбор, романтические линии и сюжетные флаги в файл MultiPersistent
- Глава 2 игры — При запуске продолжение считывает тот же файл, чтобы импортировать ваши решения и создать персонализированное продолжение истории
Это позволяет разработчикам создавать разветвлённые повествования, охватывающие несколько самостоятельных релизов, без необходимости вручную переносить файлы сохранений между играми.
Что передаётся
Заголовок раздела «Что передаётся»Данные MultiPersistent обычно включают:
- Выбор в сюжете и решения на развилках
- Выбор романтических линий
- Статистику отношений с персонажами
- Флаги завершения (какие концовки вы видели)
- Любые другие данные, которые разработчик решит передать
Как Spark обрабатывает MultiPersistent
Заголовок раздела «Как Spark обрабатывает MultiPersistent»Spark хранит файлы MultiPersistent в специальном каталоге multipersistent внутри папки данных Ren’Py. Этот каталог общий для всех игр, что позволяет разным играм получать доступ к данным друг друга — так же, как это задумано Ren’Py на настольных платформах.
Синхронизация iCloud
Заголовок раздела «Синхронизация iCloud»Когда синхронизация iCloud включена, Spark автоматически синхронизирует ваши данные MultiPersistent между устройствами. Это значит, что если вы закончили Главу 1 на iPhone, Глава 2 на iPad сможет подхватить ваш выбор без ручного переноса.
Типичные случаи использования
Заголовок раздела «Типичные случаи использования»- Эпизодические визуальные новеллы — Игры, выходящие главами, где каждая новая глава считывает прогресс предыдущей
- Игры общей вселенной — Отдельные игры в одном мире, которые разблокируют бонусный контент на основе того, что вы прошли
- Импорт в сиквелы — Прямое продолжение, которое адаптирует начало в зависимости от того, как вы прошли оригинал
Устранение неполадок
Заголовок раздела «Устранение неполадок»Если игра не определяет данные MultiPersistent из другой игры:
- Убедитесь, что обе игры были запущены — Первая игра должна быть пройдена и данные MultiPersistent сохранены, прежде чем продолжение сможет их прочитать
- Проверьте синхронизацию iCloud — Если играете на разных устройствах, дождитесь завершения синхронизации
- Проверьте совместимость игр — Обе игры должны использовать один и тот же идентификатор MultiPersistent, который задаётся разработчиком. Если разработчик изменил идентификатор между релизами, данные не будут переданы автоматически