Использование контрольных точек и сохранений
В Whimtale есть два дополняющих друг друга способа сохранения состояния игры: контрольные точки (чекпоинты) и сохранения. Знание того, когда и как использовать каждый из них, поможет вам делать хорошие игры, и сохранения особенно важны для более длинных игр или игр с состоянием проигрыша.
Ручные сохранения
Сохранения позволяют игрокам вручную сохранять свой прогресс и вернуться к нему позже. Они хранятся во временном хранилище браузера. Обычно игрок может открыть меню игры, нажав кнопку меню в управляющей панели консоли, и выбрать слот для сохранения игры. Позже он сможет загрузить игру из этого слота.

У каждой игры есть три слота сохранения и дополнительный автоматический слот, который записывается каждый раз, когда герой входит в новую сцену.
Игроки могут сохранять игру только когда на экране нет диалогов или других элементов пользовательского интерфейса. Это сделано для предотвращения сохранения в середине важных сценариев, поскольку они не будут продолжены после загрузки игры.
Вы можете изменить текстовые метки в игровом меню, перейдя во вкладку «Настройки» и написав свои собственные в разделе «Перевод».
Открытие меню сохранения/загрузки из сценария
Иногда нужно жирно намекнуть игроку сохранить свою игру (напр., перед боссом) или открыть меню загрузки из сценария. Это можно сделать с помощью этих блоков сценария:
- Показать меню сохранения — предлагает игроку сохранить свою игру.
- Показать меню загрузки — предлагает игроку загрузить ранее сохраненную игру.

Контрольные точки
Контрольные точки, или чекпоинты, — это сохранения, которые используются логикой вашей игры. В отличие от ручных сохранений, контрольные точки невидимы для игроков и полностью управляются Сценариями.
Как использовать контрольные точки
Контрольные точки можно создавать, загружать и управлять ими с помощью следующих блоков сценария:
- Сохранить контрольную точку — создает снимок текущего состояния игры
- Загрузить контрольную точку — возвращает игру в последнюю сохраненную контрольную точку
- Очистить контрольную точку — удаляет текущую контрольную точку
- Есть ли контрольная точка? — проверяет, существует ли контрольная точка
Убедитесь, что у вас действительно есть контрольная точка, прежде чем пытаться её загрузить, иначе будет выброшено сообщение об ошибке. Вы можете использовать блок «Есть ли контрольная точка» с блоком «Ветвь», или же, например, гарантировать наличие чекпоинта с помощью невидимых актёров-триггеров, которые сохраняют игру при нажатии и стратегически расположены перед опасностями.
Вы можете создать Актёра, который работает как кнопка сброса для головоломки, используя этот простой сценарий. Он использует контрольные точки и вопрос «Да/Нет» при касании героем:

Вы также можете отобразить меню с блоком «Сделать выбор», предлагающим загрузить игру, когда герой был побеждён. Вы также можете здесь же предложить открыть обычное меню загрузки:

Этот пример показывает только часть меню и требует отправки сигнала «Gameover» с помощью блока «Отправить сигнал» на той же Сцене. Вы можете узнать, что такое сигналы и как их использовать на странице с документацией о них.
Что сохраняется
И контрольные точки, и сохранения сохраняют следующую информацию:
- Текущую сцену и положение героя.
- Текущий костюм героя.
- Переменные и их значения.
- Положение всех актёров, видимость и их существование в игре (если актёр был уничтожен до сохранения, он не появится обратно после загрузки).
- Состояние таких блоков, как «Выполнить одно из списка».
Каждый файл сохранения запоминает свою собственную контрольную точку, поэтому, сохранив игру вручную, у сценариев всё равно будет доступ к своему чекпоинту после загрузки со слота сохранения.
Работа с изменениями в игровом мире
По мере разработки игры слепок мира в старом сохранении может стать несовместимым с тем, что сейчас существует в игре. Например, если вы сохранитесь, а потом поменяете Сцену так, чтобы актёр двери находился в другом месте, а затем загрузите игру, дверь будет находиться в старом месте, потенциально блокируя игрокам возможность продолжить игру, напр. если под этим актёром двери теперь находится стена.
Whimtale также сбрасывает новые для сохранения переменные к их стартовым значениям, что вы задали в панели управления переменными.
В большинстве случаев после крупных обновлений вам надо будет перегенерировать идентификатор игры во вкладке «Настройки». Это изменит место хранения сохранений, тем самым удалив все предыдущие.
Когда использовать какую систему
Используйте контрольные точки, когда:
- Вы хотите создать невидимую для игрока функцию автоматического сохранения;
- Вам нужно отметить безопасные места перед сложными участками;
- Вы хотите реализовать систему повтора/перезапуска;
- Вам нужно сохранить состояние игры без вмешательства игрока.
Предложите игрокам использовать ручные сохранения, когда:
- Вы хотите дать им контроль над тем, когда они сохраняются;
- В вашей игре есть несколько путей или концовок, которые игроки могут захотеть перепройти;
- Игрокам может потребоваться продолжить игру в нескольких сеансах;
- Вы создаёте более долгую игру, где важно сохранить прогресс.
Объединение обеих систем
Для достижения наилучших результатов рассмотрите возможность одновременного использования обеих систем:
- Используйте контрольные точки для автоматического отслеживания прогресса и восстановления после проигрыша.
- Сообщите игрокам, когда настало хорошее время для ручного сохранения. Предложите игроку сохраниться в ключевых точках сюжета с помощью блока «Показать меню сохранения».
- Расскажите о том, как сохранить и загрузить игру, на странице вашей игры.
Также помните, что контрольные точки стираются при завершении или перезапуске игры, а ручные сохранения остаются (если не очищать хранилище браузера, если быть совсем уж точным).
Вдумчиво реализуя обе системы, вы можете создать удобную систему сохранения, которая сбалансирует удобство и сложность прохождения вашей игры на Whimtale.