Рано или поздно любой человек, интересующийся компьютерными играми, слышит слово “движок” или словосочетание “на движке”. По контексту многие понимают, что речь идет о некоем инструменте (или нескольких), который упрощает разработку игры.
Ну а если наш любитель превращается (или собирается превратиться) из обычного геймера в начинающего геймдев-специалиста, значит, пришло время разобраться в том, что такое игровой движок и для чего он необходим. Именно этим мы и займемся сегодня.
Что такое игровой движок
Попросту говоря, это рабочая среда и набор инструментов для создания игры. “Разве сотрудники студий не пишут код, не делают модели персонажей и вообще все нужное для проекта сами?” - спросит начинающий. Да, они могут создать все компоненты игры совершенно самостоятельно, “с нуля”. Но это более долгий и затратный путь, который не каждому под силу.
Альтернатива - использовать движок и собрать свой проект на нем. Это не значит, что разработчикам вообще не придется создавать что-то свое. Хороший движок содержит в себе библиотеки различных готовых элементов (ассетов), но собирать серьезный продукт только из них никто не будет.
Термин “движок” появился в связи с выходом не нуждающихся в представлении Doom и Quake. В первой ключевые программные компоненты и игровой контент (графика, механики) были отделены друг от друга - проще говоря, на готовый каркас надевались детали. Такая конструкция позволила другим разработчикам не “изобретать велосипед”, а, покупая лицензию, брать созданную id Software основу и строить на ней собственные проекты. Эта схема (которую мы подали в очень упрощенном виде) используется студиями и сейчас. Подавляющее большинство игр, которые мы знаем и любим, создано на движках.
Те, в свою очередь, написаны на определенном языке программирования (C++, C# и другие) и для того, чтобы овладеть ими в совершенстве, понадобятся соответствующие навыки. Во многих есть инструменты и расширения, избавляющие пользователя от необходимости притрагиваться к коду и визуализирующие все ключевые процессы (например, Blueprints в Unreal).
Какие бывают движки
Если говорить о платформах, то большинство популярных движков - мультиплатформенные и позволяют создавать игры как для ПК и консолей, так и для смартфонов на iOS и Android. Схожая ситуация и с жанрами: систем, оптимизированных под один-единственный жанр, немного. Но многие топовые движки, тем не менее, создавались под один-два конкретных (например, FPS и Action) и лучше раскрываются именно в них. Есть отличия и в моделях распространения - некоторые продукты платные, значительное количество - условно-бесплатные (платить не нужно вообще или до тех пор, пока разработчик не вышел на определенный уровень дохода).
Два самых популярных движка - это Unity от Unity Technologies и Unreal Engine от Epic Software. Оба позволяют создавать качественные современные игры с хорошей графикой, но у каждого своя специфика и нюансы.
Unity сразу был недорогим и завоевал популярность у небольших и небогатых студий. Он до сих пор имеет репутацию движка для инди-игр, хотя на нем выпущены и довольно известные тайтлы: например, Subnautica или Hollow Knight. Unreal создавался для разработки 3D-проектов - прежде всего, шутеров от первого лица. Движок всегда мог похвастаться передовой графикой, поэтому часто используется в создании высокобюджетных ААА-проектов: Mass Effect и Gears of War, Bioshock и другие. Правда для двухмерных игр Unreal не очень подходит.
Оба движка имеют хорошие библиотеки ассетов (а Unity еще и массу обучающих материалов) и визуальные интерфейсы, позволяющие работать над играми без кодинга. Оба можно использовать бесплатно до тех пор, пока доход разработчика не превысит определенное значение: 100 000 $ для Unity (бесплатная версия имеет ограниченный функционал) и 1 000 000 $ для Unreal. Если вы планируете попробовать свои силы в разработке, то, скорее всего, начнете с одного из них.
Впрочем, Unity и Unreal Engine 4 (пятая версия пока в раннем доступе) выбор не исчерпывается. Обратим внимание на несколько других “громких имен” в мире игровых движков.
В 2008 году вышла Battlefield: Bad Company - первая игра на Frostbite, созданном шведским подразделением Electronic Arts EA Digital Illusions CE (или просто DICE). Движок демонстрировал и демонстрирует хорошие графические и физические возможности - разрушаемость среды, реалистичную стрельбу и анимацию лиц. На Frostbite созданы Star Wars: Battlefront 1-2, Dragon Age: Inquisition, Mirror’s Edge 2.
Gamemaker от YoYoGames - хорошее мультиплатформенное решение для создания двухмерных игр (что актуально в эру пиксель-ренессанса). Самые известные проекты на нем - Hotline Miami и Undertale.
Есть в “движковом царстве” и своя экзотика. Например, “старичок” Infinity Engine, на котором написаны легендарные изометрические CRPG Baldur's Gate и Icewind Dale, а в 2016 (!) вышла Baldur’s Gate: Dragonspear. Или известный сильной графикой, но недружелюбный к неискушенным пользователям CryEngine. Используют его нечасто, однако в его “послужном списке” - игры серии FarCry (разработаны на модифицированной версии движка - Dunia). К тому же он бесплатен, так что, у желающих рискнуть нет особых препятствий.
Подведем итог:
Не бойтесь движков! Да, это большие и серьезные системы, требующие изучения, но сейчас есть множество туториалов и обучающих материалов. Умение программировать приветствуется, но и без него начать работать с движками можно. Остается последний вопрос: Unreal или все таки Unity?