6

Пост о том, как я игрушку делал

Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка

Внимание! Очень длиннопост!

Давно уже в голове витала влажная мечта сделать небольшую PC игрушку. Требования были не жёсткие. Хотелось сделать аркадную гонялку в духе Playstation One. Жми газ, подруливай и просто наблюдай за тем, как оно ездит. Без сложностей вроде регулировок ходовой перед стартом, без сложной физики авто, которая бы заставляла постоянно думать. Ну, как - то так в общем.

Начал я с самого начала - обратился к своему воображению. Нужно было составить небольшой список того, что я хотел получить от игры.
1. Приятный геймплей. Без сложного управления.
2. Плавная и мягкая физика с максимальной предсказуемостью того, как машина поведёт себя.
3. Графон, который бы работал на моём компьютере без лагов и не резал глаза. Сложность была в том, что выбранный мной движок был весьма голодным на ресурсы, но об этом позже.
4. Максимальное количество своего контента. Все домашние игроделы грешат тем, что тянут текстурки, модели и звуки с открытых источников. Я же находил романтику в том, что мог собрать всё то, что умею в один проект.

С чего начинать?.
Этот вопрос меня очень долго мучал потому, что я толком не знал о своей игре ничего.
Начать с локации? Я не знаю, какая будет физика. Как будет вести себя машина при прохождении поворотов, как её будет кидать на неровностях?
Взяться за код? Ещё не выбран движок, да и знания у меня только одной книги по C# и gml, который не может нормально в 3D.

Выбор движка.
Игровой движок - база. Основание, на котором делается игра. Он объединяет в себе физический, графический и звуковой движки, предоставляя удобный и быстрый доступ к оным.
Но их как грязи. Один может 3D и 2D, Другой имеет базу первоклассных шейдеров,  третий имеет кучу справок и примеров, который бы помогли начать.
Спасение я нашёл там, где не сильно и ожидал - BGE. Я работал в 3D редакторе Blender уже давно и его интерфейс был мне привычен. Игровой движок в нём ещё трогать не приходилось.

Я решил обосновать как - то свой выбор.
1. bge имеет малую популярность. Сделать на нём игру - благое дело. глядишь, разработчики Blender решат его допилить и, в целом, поднимут известность этого 3D редактора, который был моим единственным выбором. 3G свисток не позволял скачать жирный 3D макс, а блендер при схожих возможностях весил всего 100мб.
2. Blender был моим основным инструментом, которым я вытягивал свою фантазию и успокаивал свою душу. Всё - таки нет ничего более важного для творческой личности, чем возможность как - то передать свои мысли.
3. Я не хотел разбираться в новом. Мне было проще костылить на старом.

Начал я с того, что стал проверять разными способами возможности bge:

Сложные материалы для BGE. Сложные они условно. На деле это текстура с Normal Map и небольшая система нодов для красивого отблеска, но до этого я работал исключительно с Cycles рендером и не сильно интересовался возможностями реалтайма.

Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка

Мрачная ночь мне не сильно понравилась, а потому я немного доработал сцену и переделал освещение:

Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка
Графика меня не устраивала. Как сделать всё легко и красиво? Где та самая кнопка "сделать за**ись", о которой мечтает каждый?
Ответ навязывался сам собой - шейдеры.
Увы, но с написанием шейдеров я ещё не сталкивался, а любые попытки разобраться в Open GL заканчивались сожжённым стулом потому, что я банально не понимал, как с помощью указанных функций мне сделать то, что я хочу.
вот и первый чужой контент - набор шейдеров. Я успокаивал себя тем, что мне придётся их знатно настроить под свою игру прежде, чем использовать, но в душе понимал, что это отклонение от ожидаемого - очень плохое начало.

Первый тест новых шейдеров. Объёмный свет, SSAO (сложное глобальное затенение), DoF (фокусировка) и немного цветкора:
Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка

Зато теперь я могу прикинуть нагрузку шейдеров, геометрии и текстур. Взяв запас можно начинать делать машинку и локацию.

За основу я взял субарку и накидал такую вот модельку:

Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка

Далее на удачу мне в вк группе по блендеру появился пост, где парень спрашивал, как добавить колёс к машинке, написание физики которой демонстрировалось в видео - уроке.
Пришлось покопаться, но я таки нашёл этот файлик и записал видео:

http://vk.com/video112793174_171450885

И начал разбираться в коде:

http://vk.com/video112793174_170948539

Я немного допилил код и прикрутил его к машинке. Всё работало хорошо, но ещё были некоторые проблемы с поведением авто. Оно ехало не сильно красиво, а без трассы было сложно определить, чего ей не хватает:

http://vk.com/video112793174_170967407

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

Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка
Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка
Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка
Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка
Она всё-ещё была сырой и требовала допилки. Без шейдеров, без объектов. Скука, но этого уже было достаточно для того, что бы продолжить работу над физикой.

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

В назначенную дату в группе появился пост с совершенно новым проектом - RallyCross a1p.
"Управление улучшено, графика доработана, добавлена система повреждений!"
Всё это оказалось чистой ложью и пользователи вместо этого...
Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка

Увидели это:

Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка

В левом нижнем углу карты красовался портрет одного известного человека:

Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка

Пока в комментариях шли активные обсуждения первоапрельской версии - у меня было время для допилки системы повреждений.

Машина действительно уже могла помяться, игра прекращалась при перевороте на крышу:

Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка

Но работало это не очень хорошо. Нужно было сделать зависимость повреждений от силы удара.

В конце концов я всё-таки закончил систему повреждений и эффект контраста от первого апреля дал свои плоды. Мало кто ожидал после шутливой версии увидеть на стене то, что на самом - то деле работы велись и игра стала на шаг ближе к завершению. Тёплые комментарии и пожелания удачи поддерживали меня и давали новых сил, которые оказалось очень кстати. Старый полигонаж карты был откровенно слабый и кроме плохой графики создавал проблемы с физикой машинки. Машинка очень плохо управлялась на такой резкой поверхности и нужно было что - то делать с этим.


Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка
Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка
Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка
Новый вид локации не только способствовал нормальной работе физики, но и имел приятный вид. Правда, увы, мой компьютер плохо справлялся с деревьями, а потому пришлось делать лоды ближе. Деревья убирались достаточно близко и это было очень заметно.

Последний рывок - допилка машинки, правка мелких ошибок у локации и ооочень долгая подстройка физики машинки.
Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка
Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка
Увы, но из - за некоторых причин открывающиеся двери и капот пришлось вырезать.

То, как это выглядит в действии - можно посмотреть тут. Есть некоторые недопилки, но, главное, я достиг своей цели - сделал аркадную гонялку. Да, я немного отклонился от начального плана. Особенно в плане чужого контента. Если быть совсем честным - очень много чужого контента, а именно:

Начальная физика машинки.
Набор шейдеров (DoF, SSAO, ColorCorrection, Bloom, Water Shader)
Текстуры гравия, бетона и деревьев, карта окружения.
Модель вышки.

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

Посмотреть в динамике можно тут:
http://vk.com/video112793174_171451014

Увы, но скинуть саму игрушку я не смогу. Blender Game Engine, как оказалось, имеет один очень важный изъян - он компилирует игрушку только под ту систему, под которую скомпилирован. Тоесть игра на Windows 7 на 8 \ 8.1 \ 10 не идёт :с
Единственным выходом остаётся скидывание исходника и запуск оного в Blender 3D, но, думаю, мало кому захочется пройти такой длинный путь ради того, что бы погонять очередной доморощенный проект коих тысячи. Думаю, видео и картиночек хватит =)

Что будет дальше?
Честно - не знаю. В потоке этой темы я было начал перепиливать игру с самого начала. Доводить абсолютно всё то идеала. Все кнопки в чистый код, все модели с хорошим полигонажем (благо теперь я имею более мощный компьютер) и лучшую физику, но, думаю, пока ещё рано. Я пока не готов сделать что - то достойное ни по знаниям, ни по времени.
Зато наработки уже есть и в случае чего я всегда смогу вернуться к проекту зная, что в запасе у меня есть ещё варианты =)
Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка
Пост о том, как я игрушку делал Игры, Blender, Blender game Engine, Gamedev, Моё, Длиннопост, Гифка

Спасибо за внимание, ваш drdotmom.

Лучшие посты за сегодня
6364

Учителя, рассказавшего о зарплате, обвиняют в экстремизме

Учителя, рассказавшего о зарплате, обвиняют в экстремизме Учитель, Нищие, Экстремизм, Несправедливость, Негатив, Длиннопост
Учителя, рассказавшего о зарплате, обвиняют в экстремизме Учитель, Нищие, Экстремизм, Несправедливость, Негатив, Длиннопост
https://kursk-izvestia.ru/news/178664/
Показать полностью 2
4871

Будьте терпимее

Будьте терпимее Толерантность, Юмор, Мат, Скриншот, Гомофобия, ЛГБТ, Геи, Twitter
Показать полностью 1
4715

Опять «умная» лента на пикабу

4274

Полезный совет, если прорвало стояк с водой

Полезный совет, если прорвало стояк с водой Потоп, Затопление, Кран, Стояк, Шланг
Показать полностью 1
4256

"Елена, алё!" Продолжение

Показать полностью
4093

Я тоже душнила

Показать полностью
3965

В стопицотый раз про умную ленту

3569

Белые пары в телевизионной рекламе

Белые пары в телевизионной рекламе
3464

Как поднять 59 миллионов из "воздуха". Бизнес-инструкция

Как поднять 59 миллионов из "воздуха". Бизнес-инструкция Власть, Коррупция, Политика
3295

Богатеем

Богатеем Новости, Телепередача Наша Russia, Бедность, Мемы, Юмор
Показать полностью 1
3232

Продайте нам квартиру по той цене, которую мы хотим!

Показать полностью
3070

И как быть онкобольным?

3069

Старая истина

Старая истина Скриншот, Комментарии на Пикабу, Отношения, Девушки
2785

Конечно)

Конечно)
2747

Ответ на пост «"Елена, алё!" Продолжение» 

2486

Хм...

Хм... Мадс Миккельсен, Картинка с текстом, Мат, Актеры и актрисы
Показать полностью 1
2470

Какая наука, такие и учёные...

Какая наука, такие и учёные...
2239

Похоже

Похоже
2204

Цена успеха

Цена успеха Цены, Секрет успеха, Картинка с текстом, Длиннопост
Цена успеха Цены, Секрет успеха, Картинка с текстом, Длиннопост
Цена успеха Цены, Секрет успеха, Картинка с текстом, Длиннопост
Показать полностью 3
2202

Шесть лет назад это видео казалось мне смешным…

Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: