Игра мечты своими руками. Субъективный обзор современных движков

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com (подробнее »)
| Записки разработчика | Компьютерные и мобильные игры

В данной статья я постараюсь рассказать о своём опыте с игровыми движками из большой троицы: CryEngine, Unity, Unreal Engine. Чтобы расставить точки над «i», отмечу, что я всего лишь скромный любитель, который в один прекрасный день решил узнать, как же делается магия видеоигр. 

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

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

Не судите строго, буду вставлять видео собственного производства, в виде нерепрезентативных примеров.

CryEngine

Это первый движок с которым я познакомился, а сподвигло меня банальное отсутствие шутеров от первого лица на рынке. И как говорится: если у тебя чего-то нет, то возьми и сделай. Чем я и занимался примерно месяц, в течении которого мне удалось сотворить большую карту тропического острова, наполнить её постройками, транспортом и множеством ботов. Также я не забыл о разнообразии флоры, фауны и зонах с погодными аномалиями. Пришлось напрячь извилины, но в итоге получилась неплохая локация, которая пробегалась за 15-20 минут. Зато настрелялся от души и получил море удовольствия от проделанной работы.  

Движок от Crytek отлично подходит для создания персонального Крайзиса, точнее, его первой части. Он буквально заточен под шутер от первого лица. Ассетов откровенно не хватает, но бесплатных паков будет достаточно для пробы пера. Интерфейс и юзабилити редактора мне нравились, когда я начинал на версии 3.6, но сейчас они начинают походить на Unreal, что в принципе тоже неплохо. Редактор быстрый, шустро компилирует и не требует сверхмощного пк.  

В данной сцене использовалась версия CryEngine 5.5. Мне хотелось создать солнечную локацию с большим количеством деревьев, травы и небольшим кусочком скриптов. Все используемые ассеты являются бесплатными. Затраченное время – около трёх недель, несколько раз я начинал с чистого листа, если что-то не нравилось и ещё неделя ушла на работу с внутриигровыми камерами и созданием, так сказать, трейлера.  

Сцена на версии CryEngine 5.5 

Если кому-то будет интересно, то это, с позволения сказать, пре-альфа-демо можно скачать по ссылке. Распакуйте архив и запустите файл “GameLauncher” из папки Strange_forest_01\bin\win_x64.

Unity

Это по-настоящему народный движок. Он действительно позволяет создать простенькую игру с нуля без особых знаний, имеет большую базу ассетов, в том числе бесплатных и прекрасно подходит для новичков. И пусть он не может похвастаться запредельным уровнем графики, как в UE, но Unity стабильно развивается. Да и найти нужную информацию по работе с ним, не проблема.  

Удобный редактор, богатый инструментарий по работе со сторонними объектами, быстрая компиляция и самые демократичные аппаратные требования к железу. Начиная работу с этим движком, мне хотелось создать презентационные сцены – тизеры,  а-ля работы энтузиастов на видеохостингах.

Сцена сурового киберпанка на Юнити, версия 2018 3.0.f2

Первый блин, который у меня вышел – это сцена с киберпанком. Тема уже заезженная, конечно, но сумрачная тень Рика Декарда не давала мне спокойно спать)

Затраченное время – около двух недель. Используемые ассеты – бесплатные наборы, пак “The Hunt”, стандартные vfx-эффекты и пост-эффекты. В этой сцене мне отчасти удалось прочувствовать труд дизайнеров. Работы много, использованных объектов – сотни, а результат не сильно-то и виден.   

Сцена с интерьерной декорацией

Следующий эксперимент – декорирование интерьера. Здесь я использовал готовый ассет “ArchVizProInterior” и бесплатные наборы из магазина Unity. Было занятно работать с отражениями разных типов. Жаль, что у меня нет видеокарты rtx, здесь бы она очень пригодилась. Справился со сценой, буквально за пару дней. Такую штуку в принципе можно и в резюме добавлять, сделав ролик или порезав на скриншоты. Мол, а я ещё и крестиком вышивать умею)

Сцена с болидами F1 на треке

Являясь большим любителем автоспорта и автосимуляторов, я не мог пройти мимо этой темы. Трудясь над следующими сценами, отчасти научился работать над импортированными объектами из 3ds Max и их аналогами.

В этой сцене использовались бесплатные ассеты и модели, найденные в сети. Временные затраты – около полутора недель. Lotus 49 даже удалось научить ездить, но физика оставляла желать много лучшего. В общем, Форза времён мезозоя для psp)

Сцена с гоночными монстрами в гараже

В завершении раздела с Юнити: набор легендарных болидов с тематическим видеорядом. Помню, как немного утомился, подбирая правильные цвета для элементов машин и постоянно сравнивая их с реальными прототипами на фотографиях.

Кривенькая и косенькая гаражная комната автоманьяка. Работа, длиной в неделю. Стандартные ассеты и с трудом выуженные из интернета модели авто. Из любопытного – опыт по импорту видео в сцену.

Unreal Engine

Самый продвинутый и технологичный движок, с огромными возможностями, отличной базой ассетов, включая бесплатные наборы и доступной документацией. На мой взгляд — самый сложный из троицы для работы и очень требователен к машинным ресурсам. Но при грамотном использовании он выдаёт потрясающий визуал, а с библиотекой Quixel megascans — это настоящий фотореализм.

От UE4 мне хотелось добиться живописной локации с персонажем от третьего лица, а также узнать, как работать со скелетной анимацией. Это оказалось непросто, но пара-тройка дней поисков нужных мануалов и настырность в ковырянии настроек и кода дали результат. Дефолтный болванчик превратился в боевую минерву, с походкой от бедра и базовым приёмом ближнего боя.

А ещё, Unreal отчётливо дал мне понять, что оптимизация – это первоочередная задача. Одна из основных ошибок при эксплуатации данного движка – чрезмерные ожидания. Первым делом, новичок скачает какой-нибудь графонистый пак, применит его в своей сцене и ужаснётся от слайд-шоу. Вся соль в том, что при работе с UE (в идеале – с любым движком) нужно учиться планировать свои действия, знать что ты хочешь разместить, где и в каком количестве. А также активно работать с лодами, материалами, детализацией, дальностью отрисовки и ещё многими-многими параметрами, в поисках оптимальной производительности и красоты картинки.

Простая сцена с ходьбой

Увы, мне так и не удалось вдоволь поиграться с движком, даже простая сцена компилировалась на моём Core i5 примерно четыре часа. Не говоря о постоянных подгрузках в редакторе и приснопамятных compiling shaders. Всё-таки «Нереальному движку» нужен мощный компьютер. Но, я знал на что подписывался.

Всё, что удалось сохранить от работы с UE. Простейшая сцена с бесплатными ассетами и манекеном, который ходит через текстуры.  

Пожелание

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

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

Спасибо за внимание!

14 комментариев

t
Спасибо за детальный обзор и примеры. Автору респект
209011867@vkontakte
Отличный материал с хорошими примерами и конкретными сроками работы! Не раз пытались что-то создать с друзьями и на юнити и на анрил и на крайэнжине и на совсем простых и не популярных движках, таких как Game Guru.
.
Каждый раз упирались в чрезмерный масштаб, и понимание, что если хотим сделать что-то качественное или масштабное нужно потратить не только уйму времени, но и не мало денег на ассеты, создание которых, у трех новичков с почти 0 опытом, расходует массу времени. А ещё нужно написать сценарий, который к слову был самой меньшей проблем, в отличии от создания анимации, которую мы планировали просто покупать с готовыми ассетами.
.
Но самым непонятным для нас было то, как заставить Unreal Engine адекватно кушать ресурсы. На локации где не было ничего кроме 10 стандартных простых стен, нескольких самодельных бочек и ящиков, сделанных с вручную, с использованием минимального количества полигонов, для приятного внешнего вида, моя, тогда ещё gtx 760 грузилась 70% при 60 кадрах. На пустой локации, где самая большая нагрузка — это стандартное освещение.
Afkaros
Unreal Engine также популярен в кинематографе и может смело заменить хромакей.
Последний раз редактировалось
v
Хорошая статья, мне понравилось. Сам уже чуть больше 10 лет к сожалению всё ещё начинающий разработчик) CryEngine на мой взгляд самый сложный для изучения новичками. В очередной раз посоветую новичкам попробовать для начала Godot, разработчики его очень активно развивают и хорошее сообщество у этого движка, в Steam есть страничка этого движка, хотя скорей конструктора, в том числе с полным переводом на русский язык. Так же могу посоветовать Gdevelop совсем простой конструктор игр, для людей совсем без опыта и вообще не представляющих как делаются игры, у этого конструктора есть Web версия, т. е. сайт-конструктор игр и также версия ввиде программы для установки на компьютер, этот конструктор поддерживает портирование на очень многие платформы, он бесплатен и для него есть множество примеров игр.
t
Что именно тебе понравилось в статье?
A
Кто пишет комментарии? Тут же вообще нет обзора и сравнения.
t
Не знаю, за что тебя заминусовали. Плюсануть не могу, тут дедовщина. Но поддержу. «Статья» сводится к 1 предложению. Вот я тут нахаляву заюзал ассеты и понял, что: сруэнжин для шутанов, в юнити вхожи начинающие (и на этом же и заканчивающие) рукожопы, а анрил тормозно и сложна.
100690337012307622114@google
Поддерживаю.
Как преподавателя данного направления у меня настолько сгорело от информативности, что я даже зарегистрировался ради комментария. Данная статья представляет собой всю печатную прессу и данный ресурс в частности (не в обиду опытным авторам и редакции IXBT, но это просто не должно проходить фильтрацию. Уровень яндекс дзена или твиттера). Это не сравнение, не презентация движков и тем более примеров того, что можно на них реализовать. За месяц даже на материалах от мусорного GeekBrains вполне реально создать простой игровой прототип. А «красивые» сцены создавать из бесплатных ассетов? Чему можно научиться за месяц? Перетаскивать на сцену префабы и двигать их? Потыкать наугад эффекты постобработки (если вообще это происходило)?
Я здесь со слов неуважаемого Виталика, как энтузиасты создают то, что не могут сделать целые студии.
Красивая сцена без геймплея?
Без прототипа игры в принципе?
Судить что-то о движках?
Даже если отталкиваться от: цели в создании красивой демосцены, ограниченности в ассетах, отсутствия навыков левелдизайна… Это сумбурный набор объектов воспроизводимый детьми на первых занятиях.
Последний раз редактировалось
D
Напиши свою статью :)
M
Если юнька малотребовательный к железу движок, то в левел-дизайне мне делать нечего — версии последних лет на моем компе грузятся по часу (без ассетов или с парой простейших), а попытки повернуть камеру в редакторе превращаются в кошмар)
Остаётся довольствоваться моделлингом, благо до определённого сабдива зибраш позволяет работать стабильно)
100002010397581@facebook
Вы молодец. В свое время пытался разобраться в Microsoft Game Studios, но запутался, может надо было обучающие материалы активно гуглить. Я даже видеомонтажом не занимаюсь для своего канала в Ютьюбе — просто потому что обучающие материалы разные, и поколения программ тоже разные, поэтому одно к другому почти всегда не подходит. Даже когда я пытался изучать веб программирование сайтов мне это сильно надоело — потому что обучающие материалы были полны ошибок, и просто не срабатывали в реальности. Единственное, что неплохо получалось — это работа в графическом редакторе Corel Draw, и других, и то я там больше изучал тыкая по случайным кнопкам и меню. Даже таблицы не освоил нормально пока — из-за сложности доехать до райцентра опаздывал на уроки компьютерных курсов. Все очень я рассказал было очень давно.
Сейчас мне уже 37, и работаю только в текстовых редакторах иногда, когда пишу статьи, вот одну пишу сейчас.
r-e-g
В целом, согласен с описанным в статье. Собрал несколько прототипов по урокам в UE и Unity — могу сказать, что в Unity это проще сделать. Но Unity всячески хочет стать как UE :)
ТЕНГУ
На «обзор» никак не дотягивает. Складывается впечатление, что автор большую часть времени искал и скачивал бесплатные ассеты, а потом пытался все это слепить. Совершенно не понятно, какой уровень знаний и в каких областях был у автора вначале, чему он научился и сколько времени потратил в итоге. Какой движок легче в освоении? Где интерфейс удобнее? В каком лучше ide? Написал ли автор хоть строчку кода? Статья больше походит на анонс полноценного обзора.
surovtsev1989
Соглашусь. После вчерашнего стрима ожидал увидеть детальный разбор движков и их сравнение. Закрадывалось конечно сомнение, дескать автор за месяц на базовом уровне освоил движок (немыслимо!), на что у остальных уходит по меньшей мере полгода. А получил очень коротенькую и поверхностную статью на тему. Не в обиду автору сказано, скорее я был неверно настроен. Я сам как-то пробовал углубиться в Unity, начав с самых азов: курсов на Udemy и написания простейших программ в Visual Studio – вот это называется изучение азов. А закидывать готовые модельки в сцены — это не изучение движка. Статья вообще не раскрывает архитектуру движка, функционала, специфики применения.

Добавить комментарий