Немного о себе. Зовут меня Дмитрий Юминов, работаю под псевдонимом SweetD. Мне 34 года, непосредственно с CryENGINE опыт работы более 5 лет. До этого занимался модингом различных игр (Серия Battlefield, GTA3/4, Supreme Commander, Company of Heroes и т.д.) В настоящий момент уже пошел второй год как работаю над своим проектом DEBT — аркадного шутера с элементами РПГ и стратегии. Разумеется, на CryENGINE.
Так как я, аля, человек-оркестр и веду работу в одиночку, мне приходится затрагивать все элементы игрового движка лично. Чтоб было понимание, я делаю все сам, от кода до звукового оформления, музыки и т.д. В силу этого, мое представление, мнение о движке, может быть полезно для тех, кто только выбирает между движками (CryENGINE, Unreal Engine, Unity и так далее) и хочет получить какой-то совет в пользу, или же не в пользу CryENGINE.
Не будет тратить время на введение в историю возникновения CryENGINE, и прочую подобную информацию, которую Вы легко найдете в сети. Затронем только то, с чем реально придется столкнуться и к чему надо быть готовым. Отмечу, что тон моих суждений может быть расценен, как если бы я хотел Вас отговорить от использовать CryENGINE. Поверьте, задачи такой не стоит. Просто я не люблю хвалить, опасаясь, что отмечу какие-то вещи, которые не попадут в Ваше поле зрения и тем самым не оправдают сказанное, при этом стараюсь быть предельно откровенным, понимая, что идеальных инструментов не бывает и еще не мало пройдет времени, прежде чем появится движок, где все будет делаться нажатием пары кнопок.
Первое – игровой движок не универсальный, это факт. CryENGINE создавался для шутера, и вся его начинка изначально работает в данном направлении. В силу этого, если ваш проект – шутер – вы можете выбрать CryENGINE, так как версия из коробки даст вам небольшую фору, но не без проблем.
Второе – если вас не пугает, что движок не заточен под ваш жанр игры, будь то стратегия или еще что, то отмечу – реализовать задуманное на CryENGINE возможно только в том случае, если вы и ваша команда готовы изучать движок методом проб и ошибок. Всякого рода туторы, документация, дадут базу, но все тонкости – это только личные муки и время, которые будут тратиться как на решение поставленных задач, так и на решение разных конфликтов в системе, или проще говоря – багов.
Третье – движок сложный. Одна из причин – это его архитектура. Чтоб было понимание – сущность, или проще говоря, какой-либо предмет в игре, который может использовать персонаж, может требовать С++, XML и Lua. Причем последнее, Lua – одна из фундаментальных частей движка, о которой мало где в принципе говорится. В ваших силах этот список сократить, если позволяют навыки, но в базовом варианте – придется иметь со всем этим дело. Да, не забудьте добавить в список саму модель, ее правильную настройку в графическом редакторе / движке. Лично меня, допустим, всегда удивляло, что делая какое-либо оружие, звук стрельбы и прочие звуки я должен создавать с привязкой к анимации персонажа, который будет этим оружием пользоваться. Да, у этого метода есть плюсы, но они не везде нужны, далеко не для каждого проекта. (В последующем я этот пробел для своих целей я устранил, конечно).
Четвертое – будет лучше, если вы – программист. Да, можно расшибить лоб и сделать многое на Flowgraph или Schematyc, строя цепочки блоков различных команд и получая результат. И хорошо, если у вас не сложная механика игры. Вам возможно этого будет достаточно. Но вы должны понимать, что в расход идет все, начиная от производительности игры и заканчивая масштабом, так как там, где на С++/Lua вам понадобится 3—4 строчки, на том же Flowgraph вам придется создать внушительного размеры схемы.
Пятое – если вы задумали мультиплеер, то внушительная порция мук вас уже ждет, если вы выбрали CryENGINE. Тут без кодинга не обойтись, так что либо сами, либо ищите того, кто сможет и на бесплатные услуги лучше не рассчитывать, хотя везение никто не отменял.
Шестое — масштаб. Движок позволяет работать с картами размером в несколько км. Для любого инди-проекта этого должно быть более чем достаточно. Но если вы желаете творить свой Star Citizen, то для создания полноценной планеты Вам придется глубоко переработать систему генерации ландшафта.
Собственно, из шести пунктов выше может возникнуть вопрос: если все так сложно, то зачем использовать этот не поворотливый инструмент, когда есть другие? Ответ можно разложить так же по пунктам.
Первое – идеальных инструментов нет. В любой программе, движке, можно найти узкие места, которые потребуют не мало времени на устранение или создание каких-то «костылей». Автор, ваш покорный слуга, имел возможность поковырять Unreal Engine, Unity. Да, у них есть плюсы, взять тот же Unreal Engine, с его богатым наборов туторов и готовых решений в маркете. Но есть и минусы, не говоря про банальный вопрос вкуса – работать мне лично в них было не комфортно. Но это лично мне. Уверен, много тех, кто тот же интерфейс CryENGINE только ночью в кошмарах видит.
Второе – как не крути, но CryENGINE радует картинкой. Да, можно взять тот же Unreal Engine и настроить не хуже. Можно. Но кому-то по душе весь процесс настройки придется именно в CryENGINE.
Третье – если вы делаете какой-либо шутер, то заложенная механика в CryENGINE может полностью обеспечить ваш проект нужными функциями. Да, что-то придется «допилить», но основа уже есть.
Четвертое – не слушайте никого, а просто сами попробуйте. Что бы кто не писал, не говорил – все это ерунда, пока у Вас не будет личного опыта. Процесс разработки игры емкий, и Вам нужно иметь реальное представление о выбранных инструментах.
Всем спасибо за внимание. Надеюсь, статья была для вас полезной.
Успехов вам. Всех благ.
#CryEngine
8 июня 2020
Комментарии [13]
Завод СЕЗОН - завод промышленной вентиляции. zavodsezon.ru |