Сохранение прогресса
Пункт 1.9 Требований к игре
В играх с внутренним прогрессом (новые открытые уровни, рекорды, достижения, улучшения), сохранение изменений происходит сразу после действия игрока или по специальной кнопке сохранения. Обновление страницы не должно влиять на сохраненные данные.
Ключевое правило — после обновления страницы пользователь может продолжить игру и не потеряет достижения или рекорды. Сохранять прогресс нужно после каждого действия пользователя или по специальной кнопке. Другие механики сохранения должны быть описаны в комментарии разработчика.
Где сохранять прогресс
Прогресс игры можно сохранять в облаке или локально. Облачные сохранения:
- позволяют пользователям продолжать игру на разных устройствах;
- обязательны для игр с инап-покупками (пункт 1.13.3).
Выберите способ хранения в зависимости от типа и требований вашей игры:
-
На серверах Яндекс Игр — рекомендуемый вариант для большинства игр:
-
Используйте методы SDK для реализации облачных сохранений. Если игра поддерживает облачные сохранения, отметьте это в черновике игры (пункт 1.11).
-
Преимущества: позволяет нам ускорять загрузку игр по всему миру, поддержка игроков на стороне Яндекс Игр.
-
-
На внешнем сервере — для сложных проектов с развитой инфраструктурой:
- Реализуйте собственную систему хранения и синхронизации данных на вашем сервере.
- Что учесть: потребуются ресурсы на хостинг, администрирование и поддержку игроков.
-
Браузерные хранилища (localStorage, IndexedDB) — только для простых игр без инап-покупок:
- Используйте стандартные браузерные API для сохранения данных локально на устройстве пользователя.
- Ограничения: прогресс часто теряется (при смене устройства, браузера, очистке кэша), поддержка не сможет восстановить данные.
Когда сохранять прогресс
Обязательно: в играх, где пользователь может поставить рекорд или получить достижение (например, выиграть, пройти уровень или получить предмет).
Необязательно: в простых играх, где нет прогресса или где он не влияет на геймплей. Например, так бывает в несложных раскрасках, пазлах, викторинах.
Примеры
|
Нужно сохранение |
Сохранение необязательно |
|
Новый уровень открывается только после прохождения предыдущего. |
Все уровни в игре доступны сразу. |
|
В игре можно поставить рекорд, получить достижение, выиграть. |
В игре нет рекордов, достижений и возможности выиграть. |
|
Уровень сложности увеличивается по мере прохождения игры. |
Уровень сложности никак не зависит от прогресса пользователя. |
|
Прохождение уровня может занять несколько средних игровых сессий. |
Любой уровень проходится за одну среднюю игровую сессию, все уровни доступны сразу. |
Механика сохранения
Сохранять прогресс нужно:
-
сразу после действия пользователя или по специальной кнопке;
Примечание
Если в игре другая механика сохранения, опишите ее в комментарии разработчика.
-
независимо от того, авторизован пользователь или нет;
-
при смене ориентации устройства (для мобильных игр).
Если сохранение настроено правильно, то после обновления страницы в любой момент (после нажатия кнопки сохранения, если сохранение происходит по ней) прогресс будет таким же, каким был до обновления страницы.
Для мобильных игр важно, чтобы прогресс не терялся при изменении ориентации устройства: после поворота устройства на экране должно отображаться то же состояние игры, которое было до смены ориентации.
Примеры
|
Правильно |
Неправильно |
|
После обновления страницы игры рекорды или прогресс восстанавливаются. |
Рекорды или прогресс пользователя не восстанавливаются после обновления страницы игры. |
|
Прогресс сохраняется сразу после действия игрока или по кнопке сохранения. |
Прогресс сохраняется периодически. |
|
Прогресс сохраняется в конце пройденного уровня или после получения достижения на уровне. |
Игра не сохраняет рекорды или прогресс пользователя. |
|
В игре нет никакого прогресса: уровней, усложнения, рекордов, и поэтому нет сохранения прогресса. |
В игре есть прогресс, но он не сохраняется. |
|
При смене ориентации устройства отображается состояние игры, которое было до смены ориентации. |
При смене ориентации устройства не восстанавливается состояние, которое было до смены ориентации. |
|
Прогресс не сохраняется автоматически сразу после действия игрока или по кнопке сохранения — механика сохранения описана в комментарии разработчика. |
В игре другая механика сохранения прогресса, но она не описана в комментарии разработчика. |
|
Сохранение прогресса работает для каждого пользователя независимо от того, авторизовывался он или нет. |
Результаты пользователя сохраняются только в лидерборде. |