Игровая индустрияСтатьиРазработка

CryENGINE глазами разработчика проекта DEBT.

Автор:

Всем привет. На дворе 2020 год, геймдев растет как на дрожжах, и не смотря на пандемию и прочие трудности, ежедневно появляются новые инди-разработчики, которые горят желанием явить миру что-то свое, будь то это какой-то ремейк своей любимой игры, или нечто уникальное. И когда речь заходит о том, чтоб использовать готовый движок, в поле зрения попадает несколько решений, на одном из которых мы сегодня и остановимся — CryENGINE.

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

CryENGINE | CryENGINE глазами разработчика проекта DEBT.

Немного о себе. Зовут меня Дмитрий Юминов, работаю под псевдонимом 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, то для создания полноценной планеты Вам придется глубоко переработать систему генерации ландшафта.

DEPT | CryENGINE глазами разработчика проекта DEBT.

Собственно, из шести пунктов выше может возникнуть вопрос: если все так сложно, то зачем использовать этот не поворотливый инструмент, когда есть другие? Ответ можно разложить так же по пунктам.

Первое – идеальных инструментов нет. В любой программе, движке, можно найти узкие места, которые потребуют не мало времени на устранение или создание каких-то «костылей». Автор, ваш покорный слуга, имел возможность поковырять Unreal Engine, Unity. Да, у них есть плюсы, взять тот же Unreal Engine, с его богатым наборов туторов и готовых решений в маркете. Но есть и минусы, не говоря про банальный вопрос вкуса – работать мне лично в них было не комфортно. Но это лично мне. Уверен, много тех, кто тот же интерфейс CryENGINE только ночью в кошмарах видит.

Второе – как не крути, но CryENGINE радует картинкой. Да, можно взять тот же Unreal Engine и настроить не хуже. Можно. Но кому-то по душе весь процесс настройки придется именно в CryENGINE.

Третье – если вы делаете какой-либо шутер, то заложенная механика в CryENGINE может полностью обеспечить ваш проект нужными функциями. Да, что-то придется «допилить», но основа уже есть.

Четвертое – не слушайте никого, а просто сами попробуйте. Что бы кто не писал, не говорил – все это ерунда, пока у Вас не будет личного опыта. Процесс разработки игры емкий, и Вам нужно иметь реальное представление о выбранных инструментах.

Всем спасибо за внимание. Надеюсь, статья была для вас полезной.
Успехов вам. Всех благ.

#CryEngine

8 июня 2020

Комментарии [13]