Covenanted Devlog_2: основная сцена, инвентарь и заклинания

Основная сцена
Основная сцена
Основная сцена, открыт инвентарь и книга заклинаний
Основная сцена, открыт инвентарь и книга заклинаний

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

1. Выход посетителей. Был в наличии с прошлого проекта

2. Стол, на котором лежат всякие ингредиенты для зелий. Выбирали между зацикленным параллаксом и контейнером, в который добавляется массив предметов из инвентаря. Остановились на втором варианте, так как хотим чтобы игрок планировал поединок заранее и не имел возможности использовать предметы прямо из инвентаря. После добавления предмета массив пополняется объектом и выравнивается по ширине стола (HBox контейнер и TextureButton c кастомным сепаратором, если кому интересно)

3. Инвентарь, где хранятся ингредиенты для зелий до того, как их поместят на стол. Так как инвентарь является элементом рабочей сцены и загружается при нажатии соответствующей кнопки с общей для нескольких компонентов анимацией, сначала сделал прототип плашки интерфейса. У неё могут быть две начальные позиции (справа и слева), анимация выхода и ухода (удаляется после выхода из экрана), анимация нажатия, сигналы связки, кнопка выхода/удаления подсцены. Идея в том, чтобы при необходимости расширяется скрипт подсцены для каждого случая, когда необходимо дополнить функционал прототипа. Те же самые плашки планирую использовать для книги заклинаний и отображения активных и пассивных эффектов.

Сам инвентарь представляет собой ItemList - матрицу иконок, которая при загрузке связывается с логикой всей сцены для регистрации эффектов предметов и рабочим столом для подсчёта предметов в обойме.

4. Подготовка звуковых дорожек. Мастер был разделён на Музыка и Звуки и связан с ползунком в настройках

5. Режим окна в настройках завязан на чекбокс

6. Модуль заклинаний должен считывать геометрические объекты, уникальные для каждого заклинания и накладывать соответствующий эффект на цель. Мной была выделена рабочая область с помощью Area2d, в которой регистрируется два действия:

а) Нажатие. В этот момент создается первая точка будущей линии.
б) Движение. Соответственно позиции со скоростью смены фреймов создаются новые точки.

Это позволяет рисовать на установке экрана кривые линии. Через секунду линия пропадает (модулируется до 100% прозрачности и удаляется) - это сделано для того, чтобы нельзя было кастовать заклинание бесконечно.

Считывание символов - буржуйский модуль в открытом доступе. Он представляет собой систему создания паттернов с помощью точек на экране и считывания их с помощью генерации таких же точек при движении зажатого курсора. Если положение точек совпадает на n % с фигурой шаблона - движение считывается и эффект накладывается.

Модуль успешно считывает символ, нарисованный на экране. 
124124 открытия
11 репост
Начать дискуссию