октябрь 12, 2016

Downtown Bazooka

Добавить в
Мои игры
Торрент
Скачать
Обзор

Downtown Bazooka — это игра в жанре 3D-исследования, вдохновленная фильмами «Трон» и «Безумный Макс». Он был разработан с членами Клуба разработки видеоигр UCI в течение 2015–2016 учебного года. Я был главным программистом, и меня сопровождали программист геймплея, звуковой дизайнер и продюсер.

Особенности движка
  • Пользовательское решение физики
    • Пространственное разбиение с использованием октодеревьев
    • События столкновений отправляются в систему Entity для программирования игрового процесса
    • Столкновения ограничивающей рамки, выровненные по осям
      • статические, динамические и триггерные коллайдеры
      • триггеры будут проходить через динамику, но все равно вызывать события коллизии
      • динамика будет сталкиваться со всем, даже во время движения (наложение врагов)
    • Столкновения с местностью на карте высот
    • Отладка системы рендеринга
  • Система Transform/Entity с поддержкой трехмерного положения, поворота, масштабирования и родительских элементов
  • Генерация шума и служебные классы Math
    • поддерживает генерацию симплексного и ворлиевского (клеточного) шума с фрактальными вариантами
    • используется для процедурной генерации города и местности
  • Гибкая система частиц
  • Поддержка шейдера Блума и полноэкранного шейдера
  • Отрисовка текста для экрана меню и инструкций
  • Система звуковых эффектов и воспроизведения музыки
Чему я научился

Основной целью этого проекта было узнать больше о C++ и создать собственную игру двигатель с ним. В процессе я также многое узнал об OpenGL и физике. В то время как энgine был в основном с нуля, я использовал SFML для привязки OpenGL, рендеринга 2D-интерфейса и поддержки звука.

О боже, это было сложно. Так много вещей, которые я считал само собой разумеющимися с Unity, в конечном итоге стали огромными препятствиями и препятствиями во время разработки. Вот краткий список наиболее трудоемких частей движка:

  • Код рендеринга (обработка сетки, шейдеры, частицы и т. д.), так много разных способов справиться с этим. Закончилось просто супер-оптимизацией отрисовки куба с использованием создания экземпляров, поскольку в основном все в игре — это кубы, кроме ландшафта.
  • Система преобразования/сущностей (ТОННЫ матричной математики, чтобы убедиться, что они комбинируются в правильном порядке, чтобы иметь правильные отношения между родителем и потомком). )
  • Физика... даже такой простой, как это было только с AABB, 3 различными типами коллайдеров и событиями обратного вызова столкновения, это все равно занимало массу времени и никогда не работало на 100%. Хотя мне все равно, я так горжусь этим кодом. В любом случае, большую часть времени это работало... XD

В целом это был очень полезный опыт, несмотря на боль и мучения без использования движка. Это действительно заставило меня ценить Unity и все, что она делает для вас. Но чувак, нет ничего лучше, чем видеть, как твоя игра загружается очень быстро, как сырое приложение C++, это так круто, ха-ха!

Проект Github

Инструкции по игре

Цель игры — чтобы добраться до каждой путевой точки, а затем победить финального босса. Для этого вы должны использовать свою способность ракетного прыжка (щелчок левой кнопкой мыши), чтобы взорвать себя по карте. Будьте осторожны с врагами и когда тземля превращается в лаву! Удачи!

Как скачать Downtown Bazooka через торрент

Всего несколько простых шагов:

  • Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
  • Выбираем и скачиваем подходящий торрент-файл репака Downtown Bazooka
  • Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
  • После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!