разработка игр, программирование, сценарии, графика и музыка

English По-русски

Новый интерфейс, движок физики, частицы и музыка

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

Новый интерфейс

У меня есть несколько идей по стилю следующей игры. Интерфейс движка был переделан под тёмный фэнтезийный вид. Теперь он выглядит так:

Новый движок физики

В движке YUME теперь новая система столкновений. Как и в Speebot, используется система AABB, но есть большие различия в том, как объекты используют эту систему.

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

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

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

Новая система частиц

Система частиц также была переписана.

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

Отдельные группы частиц теперь могут участвовать в системе соприкосновений, как и все остальные объекты. Кроме того, поддерживаются анимированные частицы.

Меню журнала, инвентаря и системы

В меню паузы игры теперь 3 вкладки - журнал, инвентарь и система. Функционал пока ещё не готов, но раскладка и инфраструктура работает.

Музыка

Я написал несколько новых мелодий для будущей игры. Вот одна из них.

Также был переделан дизайн сайта.

Следующая статья

Создание собственного сценарного языка для моего игрового движка

Подписаться

Получайте уведомления о новых статьях, чтобы:

Следить за процессом разработки моей следующей игры.

Читать статьи об искусстве и технологиях создания игр и движков.

Получать новости об изменениях в моих играх.

Подписка бесплатная, просто нажмите на кнопку!