RU

Сохранения в играх Quest Navigator

Nex Moderator 13.07.2014 14:06 24 comments 28829 views

Варианты

Есть несколько вариантов места для сохранений состояния игры:

1. Папка плеера.

2. Папка игры.

3. Папка в App Data.

4. Папка в “Моих Документах”.

Проблемы

Минус первых двух - если на компьютере установка новых программ разрешена только для администраторов, то обычный пользователь не может записывать файлы в Program Files. Следовательно, при установке игры либо плеера в Program Files нельзя будет сохраняться.

Третий вариант хорошо подходит, но сохранения скрыты от пользователя, и ему придётся изрядно потрудиться для переноса их на другой компьютер.

Четвёртый вариант лишён этих недостатков, но немного захламляет папку “Мои Документы”. Это может быть нежелательным для автора игры, если его игра распространяется в виде независимой сборки.

Решение

Чтобы автор мог указать для независимой сборки место сохранений, вводится настройка:

saveFolder

Одно из трёх значений: “documents”, “application-data”, “game-folder”.

По умолчанию “application-data”. Настройка имеет значение только при включенном режиме “standalone”.

Таким образом, при распространении игр через “полку игр”, сейвы будут в папке “Мои документы”. Независимые сборки будут хранить сейвы скрыто от пользователя в папке Application Data.

Идентификатор игры

Для игр в файле настроек вводится уникальный атрибут “package”, который идентифицирует игру. Для игр в “Полке игр” - обязателен.

package

Пример: “su.qsp.game.FairiesLostUmbrella”

Если указан этот атрибут, то сейвы будут храниться в папке “…/su.qsp.game.FairiesLostUmbrella/”. Благодаря этому, сейвы от разных копий игры всегда будут находиться в одном месте.

Допустим, пользователь скачал независимую сборку и распаковал её в папку “D:\Хобот-полицейский”. Поиграв и сохранившись, позже он скачивает обновлённую версию игры, распаковывает в “D:\Хобот-полицейский 1.1”. Запустив новую версию, он будет иметь доступ к старым сохранениям.

Версия сохранений

Также вводится атрибут версии сохранений.

saveVersion

Целое число. Значение по умолчанию: “1”.

Этот атрибут позволит автору при серьёзных изменениях в игре сменить версию сохранений. Старые сохранения не будут загружаться в новой версии игры. Просто увеличиваем цифру на 1, когда возникает несовместимость со старыми сейвами.

DEBUG

Переменная DEBUG отвечает за безконфликтную загрузку сейвов. В данный момент я во всех играх устанавливаю DEBUG = 1, чтобы сейвы от разных qsp-файлов могли загружаться. В будущем следует убрать её из библиотеки и плеера соответственно.

Edited at 13.07.2014 14:28 (11 years ago)

Посмотрим итоги через неделю. Пока что наравне идёт.

Nex:

Мда.

Прошу прощения, в тот момент показалось, что в варианте про “Мои документы” речь идёт про корень папки.

По итогам голосования, 14 человек за сохранение в “Мои документы”, 7 за сохранение в “AppData”.

Папку “My Games” делать не буду. У нас всё в плеере (кроме названия) по-русски, а тут будет по-английски, мне это не нравится.

Ну и наконец, эта версия плеера - делается для устаревших компов, для семёрки и XP. У восьмёрки будет свой плеер и у него будет стандартная виндовая папка сейвов. Поэтому не так важно, какая папка будет использоваться у “старой” версии плеера.

Рано ты семерку в устаревшие записал. :)
Кстати, та самая папка “Сохраненные игры” есть и в ней.

Nex:

Поэтому не так важно, какая папка будет использоваться у “старой” версии плеера.

Согласен, но важно, чтобы standalone-игры не плодили папки в корне “Моих документов”. Да, сохранения и так по умолчанию в другом месте, но лучше убрать саму возможность. Так, на всякий случай.

newsash,
не вижу достаточных причин лишать авторов этой возможности.

Звучит, словно “Не вижу причин делать плеер лучше, чем я делаю”…

newsash,
не надо приписывать мне то, чего я не говорил. То, что плеер станет лучше если для независимых сборок запретить сохраняться в “Мои документы” - это твоё личное мнение.

Все мной сказанное - это моё личное мнение, я этого не отрицаю :)

Log in or Register to post comments.