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

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

Варианты

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

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-файлов могли загружаться. В будущем следует убрать её из библиотеки и плеера соответственно.

Изменено: Nex
13.Июл.14 18:28:35
Nex
useravatar
Offline
4277 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

newsash предлагает вместо "package" назвать идентификатор "gameId". Так по его словам будет понятнее для автора. Что думаете? Какой вариант лучше? Можете предложить свои варианты.

Nex
useravatar
Offline
4277 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

И я за то, чтобы сейвы лежали в AppData/Roaming/QSP Navigator/<gameId>/<saveVersion>/

newsash
useravatar
Offline
465 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

newsash,
расскажи подробнее, что означает такой путь, почему именно в этой папке, и для каких именно конфигураций он предлагается.

saveVersion в пути сохранения однозначно будет, я просто не указал его т.к. описывал другой атрибут.

Nex
useravatar
Offline
4277 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

Заодно отмечу, что в документацию пока что не вношу. Это ещё не реализовано в плеере. Как только выпущу новую версию с этими изменениями, обновлю статью со списком настроек.

Nex
useravatar
Offline
4277 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

Nex написал(а):

расскажи подробнее, что означает такой путь, почему именно в этой папке, и для каких именно конфигураций он предлагается.

Для десктопного Windows и полки игр.
Не в "Моих документах", потому что там так обычно хватает всякой фигни, а сохранения - не документы. Хотя только что заметил там папку My Games, где у меня сохранения держат четыре игры независимых друг от друга разработчиков - можно в "Мои документы/MyGames/QSP Navigator/..."
Не в папке с игрой, потому что Program Files. Хотя если Навигатор допускает лёгкий перенос игр на другой компьютер, то лучше сохранения и игры держать вместе и не в Program Files.

Для standalone я за сохранение игры в папку с игрой. Хотя я ещё и за распространение standalone-игр не инсталлятором, а zip-архивом. Мне вообще удобно держать мелкие игры (а текстовые попадают в эту категорию просто из-за того, что они текстовые и, за малым исключением, мало весят) на флешке и иметь возможность запускать их с любого компа, который подвернется под руку.

newsash
useravatar
Offline
465 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

можно в "Мои документы/MyGames/QSP Navigator/..."

Сейчас для "Полки игр" по сути так и сделано, только без "My Games" (ни к чему это, я думаю). Отдельных папок под каждую игру в "Мои документы" не будет, за исключением standalone-игр, для которых автор выставит режим "documents".

лучше сохранения и игры держать вместе и не в Program Files.

Возможность держать сохранения в папке с игрой будет (режим "game-folder"). Запрета на установку в Program Files не будет.

я ещё и за распространение standalone-игр не инсталлятором, а zip-архивом.

Навигатор на это никаких ограничений не накладывает, исключительно дело вкуса автора.

Nex
useravatar
Offline
4277 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

Что касается размещения сейвов для игр с "Полки игр" в AppData, мне кажется это будет хуже чем держать в "Моих документах". Потому что игрок не сможет перенести сейвы, а так он их легко найдёт и скопирует на любой комп.

Nex
useravatar
Offline
4277 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

Nex написал(а):

Сейчас для "Полки игр" по сути так и сделано, только без "My Games" (ни к чему это, я думаю). Отдельных папок под каждую игру в "Мои документы" не будет, за исключением standalone-игр, для которых автор выставит режим "documents".

My Games (в том числе для standalone-игр) может снизить захламление "Моих документов".

Nex написал(а):

Возможность держать сохранения в папке с игрой будет (режим "game-folder"). Запрета на установку в Program Files не будет.

А возможность со стороны игрока принудительно поменять режим сохранения для всех игр будет?

newsash
useravatar
Offline
465 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

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

My Games (в том числе для standalone-игр) может снизить захламление "Моих документов".

newsash,
во-первых, непонятно, почему именно "My Games", по-английски, а не "Мои игры". Во-вторых, для целесообразного использования такой промежуточной папки должна быть устоявшаяся практика среди разработчиков. Она существует?
Для универсального плеера там и так будет только одна папка Навигатора. Которую легче найти, если она отдельно, чем заметить в неприметной "My Games" или "Мои игры".

А возможность со стороны игрока принудительно поменять режим сохранения для всех игр будет?

Для "Полки игр" - сейчас нет, в будущем возможно. Для standalone-игр, нет.

Видишь ли, для создания такой настройки, помимо затрат на её внедрение, требуется создание отдельного экрана настроек.

В универсальном плеере это может быть уместно. Всё-таки у него есть "Полка игр", в ней можно сделать кнопку настроек.

В независимой сборке, я даже не представляю, как это сделать. Вкрутить ещё один пункт в системное меню? И нафига захламлять каждую игру ради сомнительного "удобства" выбора места сохранений? Логичнее дать выбор игроку на этапе установки. При особом желании автора, можно это осуществить с помощью трёх копий конфига, при установке будет копироваться одна из них.

Nex
useravatar
Offline
4277 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
977
Всего опросов:
14
Всего сообщений:
16790682
Сообщений на этой неделе:
3
Пользователи форума:
 
Всего пользователей:
2397
Последним зарегистрировался:
Dmitrius