Война..., война никогда не меняет свои цели.
Главная » Реструктуризация, сохранение и загрузка игры, будильник
17:00
Реструктуризация, сохранение и загрузка игры, будильник

Из жизни проекта...

Это первая новость на сайте непосредственно из жизни проекта, поэтому отправной точкой я буду считать первую версию техно-демонстрации и расскажу о том, что появилось после её публикации. Таких изменений накопилось не так уж мало: была проделана огромная работа по внутренней реструктуризации проекта, была создана система сохранения и загрузки игры, последней значимой задачей стала реализация механики интерфейса ПИП-Бой=>Будильник. Ну а теперь обо всём в подробностях.

Реструктуризация

К тому моменту, когда была опубликована первая техно-демонстрация проекта, в его структуре, а ещё более заметнее в реализации игровых данных, накопилось много не системных, рудиментарных или просто неудачных решений. И первая задача, объём которой я откровенно сильно недооценил, касалась не какого то функционального или инфраструктурного развития игровой программы, а систематизация и реорганизация уже имеющегося "багажа".

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

После этого началась эпическая централизация и реструктуризация практически всех данных и сопряжённых методов проекта. Ещё в первой техно-демонстрации Вы могли опробовать работу с предметами, контейнерами и инвентарём игрового персонажа, однако все эти данные и сопряжённая механика были разбросаны по локальным скриптам объектов сцены, часть данных (например предметы) была реализована неудовлетворительно, так же совсем отсутствовали данные локаций - всё это было неприемлемо для дальнейшего успешного развития. В глобальной библиотеке были созданы новые более гибкие и функциональные структуры данных для: локаций, предметов и контейнеров, - после чего перенесены и адаптированны под новые структуры данных методы, попутно был расширен функционал (в особенности это касалось контейнеров) и наконец игровые интерфейсы ПИП-Бой и Контейнер были адаптированны под новую систему данных.

Поскольку изначально работа виделась как консолидация и доработка уже имеющегося, то было ощущение..., практически уверенность, что это посидеть мне по вечерам раза 4 - 5... я очень жёстко заблуждался. В итоге было забавное ощущение, как будто разгрёб Авгиевы конюшни, но вот в прикладном плане (со стороны пользователя) всё работало ровно так как в первой версии техно-демонстрации. На самом же деле, это был действительно значительный прогресс.

Теперь имея централизованную систему данных, я доработал механику загрузки сцен, в частности механику перехода из локации в локацию, а именно реализовал сохранение и восстановление состояния интерактивных объектов локации. Это означает токую, казалось бы, естественную вещь, что теперь если вы соберёте предметы в локации, или наоборот выбросите что то из инвентаря, полазите по контейнерам, потом перейдёте в другую локацию, а затем вернётесь в исходную - она будет в том состоянии в котором её оставили Вы, а не в том в котором я её собрал в редакторе.

Сохранение и загрузка игры

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

"Будильник"

Интерфейс ПИП-Бой=>Будильник присутствовал в первой версии техно-демонстрации, однако это и был только интерфейс, он был просто "нарисован" (собран), для того что бы его заскриптовать на тот момент было не всё готово. Теперь же это полностью завершённый элемент готовый к использованию, что включает: арифметику времени, механику восстановления и блокировку возможности отдыхать при наличие врагов.

Просмотров: 147 | Добавил: Смотритель | Теги: Новости, развитие, из жизни проекта, Возрождение | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
  • Отправляя сообщение по средствам данной формы сайта, Вы даете согласие на обработку персональных данных в соответствии со ст. 9 Федерального закона от 27.07.2006 № 152-ФЗ «О персональных данных». Аминь.

Проект игры: "Возрождение" - проект разработки оригинальной игры в рамках вселенной Fallout