Press F5 или сохранения в играх
Всем привет. Сегодня, в общих словах, хочется поговорить о сохранениях. Что такое сохранения в играх. Как это происходит. И поделиться нашим опытом, в построении этой системы.
Сейчас сохранения-это данность. Быстрые, авто сохранения, сохранения из меню и так далее.
Но давайте перейдем к истокам, как создатели игр к этому шли.
Первые признаки сохранений мною были замечены на NES (Dendy). В некоторых играх появилась система паролей (не путать с чит кодами). После завершения того или иного уровня на экране появлялся код. Его нужно было бережно переписать на бумажку. И при следующем запуске игры ввести в главном меню. И о чудо, можно было начать с места, где вы прервали игровую сессию.
Позже, на смену NES в наш дом пришла PS. И о чудо, там можно было сохраняться. Не сразу. Из коробки консоль шла без карты памяти.
Вот эта штука, для ребенка 90х-00х была сокровищем (при условии владением PS конечно же) На сколько я помню, она была размечена на 30 слотов сохранений. Да, прабабушка флешек, вот ты какая)
Но после носителей ROM памяти становилось все больше, они становились все более вместительными, и теперь об этих эрах можно позабыть. Качать из стима и других магазинов игры 100+ ГБ и не парится. Сейчас сохранения уже включены из коробки, при скачивании игры.
Кстати, будет здорово, если вы продолжите список приемов, как сохранить игры в гейминге 80х-90х. По этому вперед, в комменты.
Лирическое вступление окончено. Попробуем разобраться, как работают сохранения?
В первую очередь. Сохранения-это данные. Они могут иметь различную архитектуру. То как они записываются. По нажатию кнопки быстрого сохранения, из меню, или по срабатыванию триггера. По большому счету инициирует работу одного и того же алгоритма.
Игра обращается ко всем сохраняемым объектам на сцене, в том числе, отвечающим за режим этой игры. Записывает их параметры в определенный слот. И при загрузке сохранений возвращает эти параметры объектам
В некоторых жанрах игр требуется минимальное количество информации. На пример в Roguelike играх упор идет на параметрах самого главного героя и стадии игры. Окружающий мир с этих играх постоянно меняется, спавнятся противники, когда возвращаешься на локации и так далее. Сохранять все это нет необходимости.
Иначе дело обстоит в динамических шутерах и подобных игровых жанрах. Здесь уже важно сохранять статус противников, их место расположения, количество патронов и тип оружия в руках неприятеля. Массив этих данных бывает очень объемный. В играх 00ых-10х можно было наблюдать значительную просадку FPS до 1 кадра в 10 секунд (с возможным вылетом игры) при попытке сохраниться
Так как мы разрабатываем сюжетно ориентированную игру. Мы придерживаемся второго варианта.
Все интерактивные предметы, противники и параметры game mode при выполнении сохранения, передают в класс Save свои параметры. И позже, по ключу ищут параметры, которые были сохранены.
Это относится ко всем замкам, рычагам, дверям, головоломкам и конечно же NPC с главной героиней.
В популярных игровых движках инструментарий для создания сохранений доступен из коробки. И ни чего выдумывать не нужно.
Но вот определиться с тем, что и как сохранять, все равно придется. И это интересная задача. Особенно заниматься поиском багов. А почему после загрузки не работает этот триггер, а почему NPC замер, а дверь внезапно перестала открываться. И так далее. Но баги-это острое блюдо любой геймдев кухни. И сохранения здесь не исключение.
На этом я закончу эту поверхностную статью. Это не туториал, а заметка для тех кто хочет немного больше узнать об играх и о том что происходит вне красочной картинки и атмосферной озвучки.
Ну а если хочется больше игрового и около игрового чтива, заходи к нам. Мы исправно публикуем статьи на игровую тематику, отчитываемся о разработке нашей игры PreCtober и да же тутроиалы иногда публикуем.
Ну, что-то совсем поверхностно и маловастенько.
А нестандартные способы сохранения в разных играх? А поподробнее о том, что ещё было в 8-16 битках в качестве таких сохранений (чекпоинты)?
А облачные сохранения? А сохранения ввиде параллельно созданных нескольких файлов, на случай, если один будет битым, сейв можно восстановить из другого файла (sims), а режимы игр где специально сохранение недоступно? (ответственный режим)?
Почва-то богатая для статьи. А тут разве что очевидные очевидности
Эх. Если бы мои знания были на столько глубоки. А быть гугл экспертом не очень хочется.
Пиши, друже!
Казуальная херня, должно быть как в жизни: умер - начинай игру сначала
Казуальная херня, должно быть как в жизни: умер - умер
Умер – покупай игру заново
Это все слишком казуально. Если бы умел в кодинг, запилил бы что-то такое - умер, покупай новую копию. Если бы это еще и ммошка была, то вообще огонь :3