Четверг, 18 Апреля 2024, 21:03

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Совместимость сейвов (Совместимость сохранений при обновлении игры)
Совместимость сейвов
RandallДата: Понедельник, 06 Октября 2014, 21:53 | Сообщение # 1
участник
Сейчас нет на сайте
Господа, разъясните, будьте добры, кто знает.

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

Вопрос такой - если из игры ничего не изымается, а, наоборот, добавляется (скажем, новые миссии/кампании, новые характеристики персонажа и т.п.), стоит ли ожидать багов при использовании старых сохраненных игр? Можно ли принять стандартные методы сохранения за основу, или пилить собственные (с чем, откровенно говоря, связываться не хочется, но если выбора не будет, то куда деваться)?

Очень прошу, если можно, поподробнее.


1. Adventure Mouse - мини-аркада про мыш и его друга сыр
2. Герои Реконструкции и Страйкбола - тематическая пошаговая стратегия
3. Dangerous Dave 5: Fansequel - трибьют на Dangerous Dave
Всё здесь http://zvizdez.ru/download.php?list.1
vanvanichДата: Понедельник, 06 Октября 2014, 22:17 | Сообщение # 2
почетный гость
Сейчас нет на сайте
Только если порядок данных (если нет переменных ) или имена переменных (если есть) не меняются .
pelmenkaДата: Понедельник, 06 Октября 2014, 22:19 | Сообщение # 3
Драгоценный Тунеядец
Сейчас нет на сайте
Если грамотно реализовать, то обратную совместимость сейвов реализовать вполне можно.
Например есть xml файл, сейва, хранящий координаторы игрока.
Код

<?xml version="1.0" ?>
<player x="10" y="12"/>

Ты в новой версии игры сохраняешь направление взгляда игрока
Код

<?xml version="1.0" ?>
<player x="10" y="12" angle="45"/>


Тогда в новой версии игры ты можешь считать отсутствующий параметр нулем, а старой версии на направление взгляда будет плевать, т.к. она не воспринимает этот параметр.
Так один и тот-же сейв будет работать и в старой и в новой версиях.
Не слишком запутанно?


Сталина в каждый дом!

Сообщение отредактировал pelmenka - Понедельник, 06 Октября 2014, 22:20
RandallДата: Понедельник, 06 Октября 2014, 22:22 | Сообщение # 4
участник
Сейчас нет на сайте
Переменные остаются прежними, ничего не удаляется, только прибавляется. Старые комнаты в целом не меняются (в пределах пары объектов). Стоит флаг на обнуление необъявленных переменных.

Добавлено (06.10.2014, 22:22)
---------------------------------------------
Да. Суть как раз в том, что хочется использовать стандартные функции сохранения GM и аккуратно допиливать игру, расширяя "элементную базу".

Получится?


1. Adventure Mouse - мини-аркада про мыш и его друга сыр
2. Герои Реконструкции и Страйкбола - тематическая пошаговая стратегия
3. Dangerous Dave 5: Fansequel - трибьют на Dangerous Dave
Всё здесь http://zvizdez.ru/download.php?list.1
pelmenkaДата: Понедельник, 06 Октября 2014, 22:29 | Сообщение # 5
Драгоценный Тунеядец
Сейчас нет на сайте
На самом деле я понятия не имею какие сохранки клепает гм.
Попробуй сделать простенький сейв с парой переменных, а потом добавь еще и посмотри что получится.


Сталина в каждый дом!
RandallДата: Понедельник, 06 Октября 2014, 22:32 | Сообщение # 6
участник
Сейчас нет на сайте
Это сработает, конечно же. Это я знаю и понимаю.
Проблема в том, что для каждой новой версии придется пилить огромный апгрейд системы сейвов. А это убивает "запал"))
Вот и пытаюсь высянить, - может, кто из камрадов уже халтурил таким образом)


1. Adventure Mouse - мини-аркада про мыш и его друга сыр
2. Герои Реконструкции и Страйкбола - тематическая пошаговая стратегия
3. Dangerous Dave 5: Fansequel - трибьют на Dangerous Dave
Всё здесь http://zvizdez.ru/download.php?list.1


Сообщение отредактировал Randall - Понедельник, 06 Октября 2014, 22:32
pelmenkaДата: Понедельник, 06 Октября 2014, 22:43 | Сообщение # 7
Драгоценный Тунеядец
Сейчас нет на сайте
если значения переменных новая версия берет там-же где и предыдущая, то проблем быть не должно.

Сталина в каждый дом!
RandallДата: Понедельник, 06 Октября 2014, 22:49 | Сообщение # 8
участник
Сейчас нет на сайте
По идее там же. Ок, испытывать короче надо.
Ну и тема открыта, может, будут еще мнения, нужно.


1. Adventure Mouse - мини-аркада про мыш и его друга сыр
2. Герои Реконструкции и Страйкбола - тематическая пошаговая стратегия
3. Dangerous Dave 5: Fansequel - трибьют на Dangerous Dave
Всё здесь http://zvizdez.ru/download.php?list.1
LunarPixelДата: Понедельник, 06 Октября 2014, 22:56 | Сообщение # 9
старожил
Сейчас нет на сайте
Randall, стандартные сейвы сохраняют не только переменные, но и все, что вообще можно сохранить.
Так, например, сохраняются и состояния комнат. Если добавить туда новый объект, а потом загрузить сейв, в котором этого объекта еще не было, то его и не будет.
Ну и таких нюансов много. Короче говоря, лучше всего писать систему сохранений самостоятельно.


RandallДата: Понедельник, 06 Октября 2014, 23:01 | Сообщение # 10
участник
Сейчас нет на сайте
Цитата
Если добавить туда новый объект, а потом загрузить сейв, в котором этого объекта еще не было, то его и не будет.


Учитываю и понимаю это в первую очередь. Хочу только добавлять левелы в процессе и добавлять в них новые перки персонажа. Соответственно, в старых левелах ничего меняться не будет.


1. Adventure Mouse - мини-аркада про мыш и его друга сыр
2. Герои Реконструкции и Страйкбола - тематическая пошаговая стратегия
3. Dangerous Dave 5: Fansequel - трибьют на Dangerous Dave
Всё здесь http://zvizdez.ru/download.php?list.1


Сообщение отредактировал Randall - Понедельник, 06 Октября 2014, 23:01
LunarPixelДата: Понедельник, 06 Октября 2014, 23:13 | Сообщение # 11
старожил
Сейчас нет на сайте
Написал про это, так как было сказано, что
Цитата Randall ()
Старые комнаты в целом не меняются (в пределах пары объектов).


С переменными тоже будут свои проблемы. Если переменная объявляется, например, в событии Create, то при загрузке сейва без этой переменной, она, само собой, не будет объявлена.


RandallДата: Понедельник, 06 Октября 2014, 23:28 | Сообщение # 12
участник
Сейчас нет на сайте
Про пару объектов сдуру ляпнул.

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


1. Adventure Mouse - мини-аркада про мыш и его друга сыр
2. Герои Реконструкции и Страйкбола - тематическая пошаговая стратегия
3. Dangerous Dave 5: Fansequel - трибьют на Dangerous Dave
Всё здесь http://zvizdez.ru/download.php?list.1
LunarPixelДата: Понедельник, 06 Октября 2014, 23:31 | Сообщение # 13
старожил
Сейчас нет на сайте
Цитата Randall ()
Идея в том, что загружая сейв в новой версии, игрок доигрывает старый левел, если он его еще не доиграл, со всеми старыми вводными, и переходит на новый, где уже нормально выполняется стартовый код комнаты, и дальше играет в новую версию.


Ну если все ограничится этим, и все новое никак не будет пересекаться со старым, тогда проблем быть не должно.


RandallДата: Понедельник, 06 Октября 2014, 23:33 | Сообщение # 14
участник
Сейчас нет на сайте
ок. Буду пробовать.

1. Adventure Mouse - мини-аркада про мыш и его друга сыр
2. Герои Реконструкции и Страйкбола - тематическая пошаговая стратегия
3. Dangerous Dave 5: Fansequel - трибьют на Dangerous Dave
Всё здесь http://zvizdez.ru/download.php?list.1
Форум игроделов » Конструкторы игр и лёгкие в освоении системы разработки игр » Game Maker » Совместимость сейвов (Совместимость сохранений при обновлении игры)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг