Ответ в теме: О том, как я игрушку на BGE делал

Главная Форумы Blender Game Engine (BGE) О том, как я игрушку на BGE делал Ответ в теме: О том, как я игрушку на BGE делал

#9827
Disaster
Участник

Давно пора было… [Типа красивый заголовок]

Прошлый пост в этой теме был создан через месяц после последнего открытия проекта. Я уже было подзабил на игрушку и хотел отправить её в категорию «исчерпано». Это та категория, в которую попадают проекты, которыми мне лень заниматься. Не самая приятная участь.

После публикации поста как — то захотелось его подготовить » в последний путь». Немного навести красоты перед уходом. Как генеральная уборка перед выездом на дачу на летние каникулы. Но разбираясь в старом хламе я неосознанно заметил за собой, что кроме наведения чистоты, удаления лишних объектов и максимального поворота «лицом» к следующим пользователям я начал улучшать проект.
Ну а почему бы и нет? Вот так и случилось достаточно масштабная (по меркам этого маленького проекта) обновление. Размеры изменений я могу сравнить, пожалуй, с вводом системы повреждений.

Первым делом после осознания того, что наведённый порядок уже является неким обновлением я захотел улучшить графику. Прошлая версия была достаточно жёсткой и беспощадной к ресурсам, но после улучшения чистоты картинки настройкой шейдеров я понял, что освободил ресурсов. Начал так начал!
Первыми под косу оптимизации пошли текстуры, которые были кривых разрешений и, местами, через мерно качественными. Ещё читая справку к дополнению Ultimate 3D для Game maker я узнал, что разрешение текстур должно быть кратно двум. В противном случае они пожимаются до меньшего разрешения. Тоесть все мои текстурки разрешением 800х800 жрали как 800х800, а выглядели как 512 х 512. Я не мог допустить такого транжирства и порезал их.
Шейдеры. DoF был абсолютно бесполезен. Он хорошо смотрится в стрелялке или красивой гонке, но когда речь идёт о ралли с частыми поворотами, не дающими посмотреть вдаль — он лишний. *Удалено*
Bloom и SSAO раздваивали объекты, создавая вокруг них полупрозрачные копии. Это очень сильно загрязняло картинку и я решил перенастроить это дело. Получилось даже быстрее.

Оптимизация прошла с небольшим улучшением графона. Зачем жить без графона?
Разумеется, графон тоже относительный и Dirt 3 у меня не получится, но, в целом, немного подправить можно.
С этой мыслёй я закатал рукова и начал адаптировать модельку Lancer 10 к игровому миру. Адаптация прошла успешно. Модель вписывается в графон и имеет тот же функционал, что и прошлая. Поправляя физику случайно улучшил управляемость и реакцию на неровности ландшавта. Правда местами ландшафт был совсем кривой и я его выравнил. Заодно сменил направление. В другую сторону ехать как — то проще и пейзажи краше =)

Обновление уже достаточно масштабное и охватывает абсолютно все части игры. Графика, Физика и производительность. Не хватало изюменки, которая бы позволила действительно называть обновление большим.

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

Найдя в интернете небольшой код, демонстрирующий работу с Pitch я принялся за разработку звукового движка для движка. Исходник использовал только лишь скорость для определения высоты тона. В определённые скоростные промежутки машинка дёргалась назад сбивая скорость, чем создавала скачок в высоте. Из — за этого создавался эффект переключения передачи. Мне это не подходило по той простой причине, что в отличии от примера моя машинка могла подпрыгнуть на неровности или уйти в занос. Обороты двигателя должны подскакивать, но скорость остаётся прежней, что совершенно не красиво звучит в случае с исходником.

начал я с самого начала — добавление такой штуки как rpm.
При нажатии на клавишу газа значение переменной возрастало, а при отпускании падало. Это всё очень хорошо, но абсолютно ничего общего со скоростью не имеет, да ещё и одна единственная передача. Пришлось вводить симулятор коробки, который на определённой скорости при определённых оборотах сбрасывал обороты и переключался на следующую «передачу» уже с другими условиями для переключения.
Всё по — взрослому =)

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

Пожалуй, вот так и было создано обновление.

Геймплей в новой версии

Ссылка на пост с последним исходником

Спасибо за внимание, с вами был drdotmom!


О сайте

На данном сайте Вы сможете найти множество уроков и материалов по графическому
редактору Blender.

Контакты

Для связи с администрацией сайта Вы можете воспользоваться следующими контактами:

Email:
info@blender3d.com.ua

Следите за нами

Подписывайтесь на наши страницы в социальных сетях.

На сайте Blender3D собрано огромное количество уроков по программе трехмерного моделирования Blender. Обучающие материалы представлены как в формате видеоуроков, так и в текстовом виде. Здесь затронуты все аспекты, связанные с Blender, начиная от моделирования и заканчивая созданием игр с применением языка программирования Python.

Помимо уроков по Blender, Вы сможете найти готовые 3D-модели, материалы и архивы высококачественных текстур. Сайт регулярно пополняется новым контентом и следит за развитием Blender.