Почему Unreal Engine на самом деле отличный движок для игр, а главная беда - разработчики
Привет, DTF.
Я главный (и единственный) разработчик средневековой RPG-Strategy игры Mainland, аналога Mount and Blade, но с кооперативом.
Кстати, демо будет доступно уже в феврале
Последние 5 лет я занимаюсь разработкой в Unreal Engine в свободное время.
За это время у меня сложилось очень хорошее отношение к этому движку и сейчас я вам объясню, почем…
Я вот С++ не знаю, чисто на блюпринтах реально что-то вменяемое создать?
Более чем, но в целом понимать, как кодить, надо уметь
Или в процессе научиться можно
Я делаю топ-даун шутан (вверх-вниз стрелять) на блюпринтах около года. Плюсов не знаю, потому выбрал Анрил из-за нодового программирования + на вырост.
Т.к. опыта в других движках нет, то нет и мыслей, что фичу Х в Годо или Юнити я был сделал 2х быстрее. Поэтому какой-то дизморали или сожаления из-за выбора нет. Но и игра, офк, не самая комплексная + особенности жанра (задранная камера) много прощают.
Но какие-то вещи в Анриле однозначно сделаны через жопу, например, декали. Хочешь ты сделать, чтобы противник брызгал кровью на пол, стены и сам кровью покрывался — привет! Противник или принимает все декали или не принимает их вообще — т.е. если попадания оставляют декали на теле, то и декаль на полу спроецируется на врага. Зашёл он в кровавую лужу — лужа растянулась ему на ногу до колена. Кровавые брызги хорошо смотрятся на ровной поверхности, но если падают на угол, то одна сторона растягиватеся в что-то похожее на куар код.
Есть замороченные фиксы, которые требуют не базового понимания материалов — но у меня и по гайдам не получилось сделать. Купил готовое решение за 7 евро — а оно робит на Анриле версией повыше, а перезжать пока страшно. В итоге на куар коды на стыках я пока плюнул, а кровь от попаданий сделал оверлеями — неплохо выглядит с задранной камерой, но для ФПС будет смотреться паршиво. Но и тут не без приколов — оверлей поверх дефолтного материала можно вешать только один. Если хочешь поверх крови «нарисовать» что-то ещё, то придётся лезть в материалы и делать всякие комплексные манипуляции — комплексные для меня, т.к. с материалами я знаком в лучшем случае базово. Но тут, конечно, дело рук надроченных — помню свой паралич от ужаса год назад, когда смотрел первые туторы. Сейчас гораздо комфортнее — многое получается без гайдов.
Сори, запизделся
Как человек, активно их использующий - да. Кончено, бывает порой так, что на плюсах что-то базово поддерживается, а на блупринтах тебе приходится самому костылить (многомерные массивы, например), или самим кодом тяжело делится. Там где плюсы можно тупо кинуть на форум и спросить в чем проблема, то в блупринтах приходится скриншотиками пользоваться. Но если с головой дружишь, то на них вполне реально что-то делать (хотя говорят онлайн на них прям вообще геморрой, но тут не знаю).
С точки зрения логики, оно тут мало чем отличается от плюсов или любого другого языка, так что учится ходить в любом случае придется.
Если тебе не надо бегать много по массивам данных (чаще всего надо) - да. Как только у тебя появляются вложенные for each - лучше их на c++ переписать и вставить получившееся как ноду.