Панделирий arpg | Pandelirium, v. 01_04
Обновлённый прототип диаблоида на игровом движке Godot 3x
видео:
Запустить прототип в браузере или скачать версии для windows/linux (вес архива около 20 Мб) можно на этой странице:
Версия 01_04, что нового
Стартовый уровень переделан - отдельные составляющие перемоделены и им нарисованы новые текстуры. Также обновлена модель сундука, улучшен визуал "торговой точки" и добавлены тумбы с огнём.
Монстры, сундуки и кувшины вынесены в отдельные слои, которые хранятся независимо от самого уровня. Таким образом прогресс зачистки первых двух уровней теперь сохраняется, пока игровая сессия не сброшена (через закрытие игры или опцию перезапуска в настройках).
Наконец реализована система концентрации для шкал здоровья и маны. Отмечена маленькими яркими полосками рядом со шкалами, а также влияет на их цвет (снижая или увеличивая насыщенность). Маленькие бутылки добавляют треть к уровню концентрации, который со временем убывает. При уровне концентрации ниже 1/3 бутылки восполняют здоровье с задержкой, от 1/3 до 2/3 - стандартно, выше 2/3 - происходит регенерация ресурса, пока концентрация не понизится до среднего диапазона.
Применение бутылок теперь анимировано, кроме того при низком уровне маны от портрета персонажа отлетает картинка с бутылкой.
Доделан механизм изучения рун с посохов. В инвентаре оставлена только одна доступная руна на старте (с которой вступает �� комбинацию руна экипированного посоха), но любой идентифицированный посох в руках персонажа теперь продвигает прогресс изучения своей руны, когда тот ловит искры, вылетающие из врагов (на данный момент изучение сверх-ускорено - требуется всего 10 искр). Когда руна изучена, то она появляется для выбора в инвентаре - с ней можно будет выставить другую комбинацию рун, которая, возможно, изменит заклинание на левой кнопке мыши.
Появилось заклинание стена пламени и книга, Драконометрия, которая даёт им пользоваться (в сочетании со свитком). Помимо книги стену пламени можно найти в обычных комбинациях рун на посохах (как и двойную мглу, которая ранее кастовалась только с книги Звездочёт). Заклинание цепная молния немного перенастроено, чтобы двигаться более плотным фронтом.
Добавлен слот кольца и одно кольцо для него, увеличивающее максимум запаса здоровья.
Доступные посохи улучшены и переделаны - их стало три вида, частично заменены картинки, модели и текстуры. С упырей теперь может выпасть посох и синей редкости (с 2-мя видами синего свойства). Кроме того, зелёных свойств посохов и артефактов тоже стало 2 вида (хотя они по прежнему "не расшифрованы" и ничего не добавляют).
Когда экипированы книга и свиток (заменяющие мановое заклинание левой кнопки мыши на альтернативное, расходующее заряды свитка), то подложка заклинаний меняется на жёлтую, для большей информативности.
Добавлена опция больше теней, которая включает тени для источников света на эффектах заклинаний (что улучшает визуал, но, естественно, снижает производительность, поэтому по дефолту отключено). Отключение опции не убирает тени в уже созданных ранее эффектах, ровно как и включение повлияет лишь на новые создаваемые заклинания, а не те, что уже есть на уровне.
Ещё в опции ,"по заявкам телезрителей", добавлен альтернативный режим удержания кнопки для движения за мышью. То есть он меняет дефолтный вариант управления (когда нажатие WASD или пробела переводит персонажа в автобег или останавливает) на схему при которой нужно удерживать кнопку (любую из клавиш WASD, или пробел), чтобы двигаться в сторону указателя мыши, а в противном случае персонаж стоит на месте и поворачивается за мышью.
Из инвентаря теперь можно выбросить предметы не только перетаскиванием, но и нажав правую кнопку мыши на предмете. Сам инвентарь расширен до 24 ячеек (было 12).
При поражении героя игра теперь не сбрасывается, вместо этого его возвращает на первый уровень, к "торговой точке", с маленьким количеством здоровья. Для сброса прогресса или переключения на второго персонажа нужно выбрать рестарт в настройках.
Прочие фиксы и мелкие улучшения. Временное: заклинание на правой кнопке мыши пока не меняется и не блокируется книгой, бутылки маны на точке старта покупаются в ограниченном количестве, монстрики могут просачиваться сквозь стенки, дроп предметов сильно завышен.
Особенности реализации
Слои с монстрами
Монстры и прочие интерактивные элементы (в плане возможной разрушаемости/необратимой открываемости) вынесены в отдельную сцену, которая накладывается как некий слой поверх сцены самого уровня.
На старте игры загружаются все слои с монстрами и первый уровень (его архитектура, прочие статические или интерактивные, но перманентно присутствующие на нём вещи). При этом все слои монстров изначально отсоединены от иерархии сцены, лишь один (слой с монстрами первого уровня) на старте прикрепляется как дочерний к основной ветке. Прочие как бы виртуально присутствуют, но их объекты словно находятся вне времени и пространства.
При переходе на другой уровень, допустим, второй - сцена первого уровня удаляется и загружается сцена нового уровня. Текущий слой с монстрами не удаляется, но отсоединяется от родительской ветки и вместо него к ней присоединяется другой (соответствующий новому уровню), который мы словно достаём из стазиса.
Все предметы, которые падают на уровне, привязываются именно к его слою монстров, таким образом на нём не только останутся выжившие монстры, разрушенные и неразрушенные кувшины, но и весь лут, так или иначе выброшенный на пол.
Заклинания на данный момент прикрепляются прямо к основной ветке, а не к слоям, поэтому при переезде между уровнями могут сохранятся. Для исключения этого момента позднее под заклинания будет выделен специальный слой, сбрасывающийся при смене уровня.
Что касается редактирования объектов слоя - для этого в редакторе префаб сцены нужного уровня временно забрасывается в специальную пустышку на слое, чтобы видеть сам уровень, поверх которого этот слой и будет накладываться. После расстановки объектов префаб уровня отсюда удаляется и слой сохраняется.
Элементы уровня
Под основную архитектуру уровня базово выделена одна текстура, атлас, в��лючающий в себя рисунок пола, колонн и прочих элементов. Некоторое исключение - области с лифтом, которые пока не планируется менять под разные стили уровней. Самих стилей пока два - новый, с рисованными текстурами (на первом уровне) и старый, с текстурой более "реалистичного" вида (второй третий уровни). По идее, каждые 2-3 этажа стиль уровня желательно менять на следующий, но это в дальнейшей перспективе.
Далее собираются небольшие квадратные участки уровня, единые меши, использующие один атлас, но разные вариации колонн, угловых стен и так далее. Все они включают в себя пол. В редакторе каждый такой кусочек делается префабом, внутри которого расставляются коллайдеры. Из них в итоге и собирается весь уровень уже в редакторе.
Некоторые крупные фрагменты стен и прочих препятствий собираются отдельно, без пола, чтобы добавлять их уже поверх получившегося наброска уровня более свободно.
Поверх уже всего этого добавляются прочие элементы (вроде дверей, которые в этой версии были временно убраны), светильники, грибы, ��ундуки, монстры (последние правда теперь вынесены на отдельный слой).
Инструменты
Собственно, сам игровой движок - Godot 3.5
Модели и текстуры - Blender 2.79 (для рендеров/мини роликов - Blender 3+)
Листы с иконками, эффектами и прочее 2д - Krita актуальной версии (удобно, что есть и векторные слои и растровые). Также в линуксе Pinta, для простого редактирования картинок.
Логи разработки - Zim Desktop Wiki и/или CherryTree (в первом сами файлы хранятся в виде иерархии простых текстовых документов в папках - удобно редактировать отдельно от программы, во втором пакете тексты зашиты внутрь его формата)
Захват видео - vokoscreenNG (на Manjaro Linux) и/или ShareX (на Win7), который также хорош для скриншотов (а в линуксах хватает встроенных скриншотилок, например, отличнейший Spectacle)
Склейка видео - Shotcut (иногда Blender, обычно для сборки его же рендеров в avi)