Последнее место в нашем рейтинге занимает молодой и бесплатный движок для разработки AAA-игр Lumberyard, который имеет открытый исходный код и основан на CryEngine. Его главная особенность — интегрированная поддержка сервисов от Amazon, таких как AWS и Twitch.
Игровой движок
В последние годы все препятствия, связанные с разработкой видеоигр, исчезли. Необходимые инструменты стали намного дешевле, они имеют открытый исходный код, а иногда даже доступны бесплатно. Такое программное обеспечение обычно относится к категории готовых к использованию игровых движков. Итак, если вы задаетесь вопросом, в какие игры можно играть на компьютере, почему бы не сделать их самостоятельно в соответствии со своими предпочтениями?
Подходящее программное обеспечение обычно легко справляется с задачей оживления вымышленных миров и персонажей с помощью игровой механики. Однако для неопытных разработчиков игр игровые движки все еще могут казаться чужеродной технологией.
Возможно, вы уже пытались разработать онлайн флеш-игру или мобильную игру. Вот взгляд в мир профессиональных игровых движков, используемых крупными студиями.
Что такое игровой движок простыми словами?
Во-первых, давайте определим, что такое игровой движок.
Одним словом, игровой движок обеспечивает все необходимое для работы игры, включая физику, структуру уровней, звуковое оформление, пользовательский ввод, а также такие элементы, как инвентарь, расположение врагов и других неигровых персонажей, и графическую поддержку.
Игровые движки часто передаются из поколения в поколение. Однако, поскольку они постоянно развиваются и совершенствуются, игры, выпущенные в начале серии, могут сильно отличаться от более поздних релизов.
Например, вот некоторые коммерческие игровые движки:
- RE Engine (Capcom)
- Luminous Engine (Square-Enix)
- Frostbite (DICE)
Чтобы обеспечить ощущение полного погружения в игру, лучшие игровые движки не заставляют разработчика беспокоиться о технических деталях. Все, что он видит, — чистая магия.
Итак, давайте рассмотрим три самых популярных игровых движка, доступных сегодня.
Какой движок выбрать для игры?
1. Игровой движок Unity 3D
Как геймер, вы не можете не слышать о Unity 3D, даже если вы понятия не имеете, что такое игровой движок.
Это связано с тем, что название именно этого движка часто появляется на главных экранах при загрузке игры, наряду с именами разработчиков и издателей, участвовавших в создании того или иного проекта.
Unity 3D является самым популярным игровым движком и занимает 50% рынка игровых движков для мобильных телефонов, компьютеров и консолей*, но сфера его применения выходит далеко за рамки индустрии развлечений.
В настоящее время 71% из 1000 самых продаваемых мобильных игр разработаны в Unity.
Unity 3D — это один из многих бесплатных игровых движков, доступных в Интернете. Его можно использовать для создания практически всего, что связано с графикой, включая браузерные игры, CGI-фильмы, AAA-игры, трейлеры и анимацию. Сама компания называет эти продукты RT3D или Real-Time 3D.
Однако движок Unity также имеет настройки 2D, которые можно активировать при первом запуске программы. Для дизайнеров, привыкших к инструментам с более интуитивно понятным интерфейсом (например, RPG Maker от Enterbrain), Unity 3D может быть непонятным.
С одной стороны, для создания игры вам придется использовать C# или Java, с другой стороны, вы можете создать игру примерно за час с помощью пошаговых руководств с YouTube.
Это подводит нас к одному из самых больших преимуществ Unity. Все дело в поддержке внутри сообщества. На сайте Unity представлена обширная документация, но разработчики игр также могут получить доступ к учебникам на YouTube, Udemy и других сайтах с пользовательским контентом.
Однако учебники могут быть довольно узкими по тематике. То есть, если вы ищете видео о том, как построить систему инвентаря в ролевой игре или как использовать микротранзакции на мобильных платформах, вы легко найдете подходящие ролики.
В Unity также есть Assert Store, который вы можете использовать для добавления интересного содержимого в вашу версию Serpentine или Space Invaders.
Пожалуй, один из самых больших вопросов, которые задают себе начинающие разработчики, — достаточно ли игрового движка для создания чего-то особенного. Не волнуйтесь, Unity 3D популярен как среди разработчиков игр класса AAA, так и среди людей, которые просто хотят попробовать свои силы в разработке игр, не вставая с домашнего дивана.
Этот механизм адаптируется к вашим задачам и идеям, а также к текущему бюджету проекта.
Например, если компания зарабатывает менее 100 000 долларов в год, она может использовать Unity бесплатно. Пакеты стоимостью до $4 000 в месяц приобретают действительно крупные компании.
Если вы не планируете конкурировать с крупными студиями и создавать лучшие игры для ПК, вам, вероятно, не нужен полный набор функций игрового движка в таком масштабе.
В целом, Unity 3D на сегодняшний день является самым доступным бесплатным игровым движком в мире с наилучшей поддержкой.
* Все данные взяты с сайта Unity.com.
2. Игровой движок Unreal Engine (Анриал)
Что касается Unity 3D, то вы наверняка слышали о нем. Движок Unreal от Epic Games существует с 1998 года и на его основе был разработан один из самых популярных шутеров (Unreal или, как его предпочитают писать русскоязычные, «Анриал»), а также несколько спин-оффов. Если вы задумывались о том, чтобы скачать военные игры, вам стоит ознакомиться с релизом Hell Let Loose — он был разработан на движке Unreal Engine 4.
Начало
Ситуация начала меняться в 1993 году после выхода игры Doom от id Software. Хотя она была основана на движке Wolfenstein 3D, она представляла собой настоящую технологическую революцию с точки зрения возможностей и модульности. В то время видеопроцессоры еще не могли эффективно обрабатывать 3D-графику, поэтому Джон Кармак (ведущий программист движка) создал всю математику, необходимую для обработки 3D-объектов, освещения, затенения, наложения текстур и многого другого. В результате изображение казалось трехмерным, хотя на самом деле оно таковым не является. Поэтому движок Doom (первая версия движка id Tech) был не совсем 3D, а псевдо-3D. Самое главное, что техническая составляющая этой игры установила стандарт того, что можно назвать игровым движком. Движок Doom был модульным, т.е. состоял из ряда подсистем, где каждый четко разграниченный программный слой отвечал за обработку своей части данных. Это значительно упростило его использование для различных игр (Hexen, Heretic, Strife) и сторонних разработчиков (Raven Software и Rogue Entertainment). Таким образом, появление игровых движков относится к середине 90-х годов 20 века, когда наконец-то появилось определение игрового движка в современном понимании.
Игровой движок — это своего рода узкоспециализированная операционная система, поскольку он содержит все модули операционной системы. К ним относятся: Система управления памятью, графическая подсистема, система ввода, аудиоподсистема, искусственный интеллект, физическая подсистема, сетевая подсистема, процессор игрового уровня и другие. Кроме того, ядро машины может предоставлять специальную концепцию для работы с файлами — файловую (ресурсную) систему, а также, в отличие от основной операционной системы, средства для работы с несколькими потоками. Современные игровые движки также включают интерпретатор скриптовых языков для описания игровой логики и часто полностью визуальный процессор. Это позволяет отойти от низкоуровневых описаний команд и инструкций и сосредоточиться на игре. Компоненты, составляющие двигатель, этим не ограничиваются; их может быть больше или меньше.
Цели
Игровой движок в первую очередь предназначен для упрощения и ускорения разработки. Сюда входят инструменты для создания игрового мира — моделирование слоев, импорт объектов, текстурирование, загрузка и анимация персонажей, создание визуальных эффектов, настройка физики и другие вещи.
Вторая важная цель разработки движка — кроссплатформенная или платформонезависимая разработка игр. Другими словами, можно запустить программу с минимальным количеством изменений. Невозможно запустить игру на другой платформе без изменений из-за различий в аппаратном обеспечении, таких как: Размеры экрана, элементы управления и т.д.
Игровые движки эволюционируют по мере развития аппаратных и программных платформ или под влиянием разработки новых типов игр и изменения предпочтений пользователей. Одним словом, эволюция игровой индустрии в целом.
Генезис графических систем
В середине 1990-х годов, после появления видеопроцессоров, способных обрабатывать трехмерную графику, появились программные интерфейсы, которые могли облегчить их разработку. После того как OpenGL появился на сцене в составе DirectX, появился Direct3D для Windows. Эти два визуализатора определили способ визуализации графики в играх на многие годы.
В 1996 году была выпущена игра Quake на движке Quake Engine. Этот движок оказал огромное влияние на игровую индустрию.
Дерево движка, основанное на движке Quake.
Почти до конца десятилетия на рынке игрового программного обеспечения (т.е. игровых движков) лидировала исключительно компания id Software. Но в 1998 году Epic Games выпустила успешную игру Unreal на базе одноименного движка — с настоящей технологической революцией в графике. Ведущим разработчиком движка был основатель Epic Тим Суини. Наряду с Кармаком, Тим является самой важной фигурой в истории игровых движков.
Ситуация начала резко меняться в середине первого десятилетия 21 века. В то время на рынке и в государственном секторе появилось большое количество инструментов для разработки игр. Бизнес промежуточного программного обеспечения начал набирать обороты. Первоначально на рынке было много графических фреймворков, таких как Ogre, DarkGDK и т.д., которые предлагали разработчику высокоуровневый слой поверх графического API. В то же время, они отличались от игровых движков полным отсутствием внутриигровых процессоров.
В результате они запустили полноценные игровые движки по цене для небольшой группы независимых разработчиков, включая Torque 3D, Unity 3D и многие другие. Даже культовые движки — такие как CryEngine от Crytek и вышеупомянутый Unreal Engine — начали принимать более приемлемую ценовую политику и стали доступны для неопытных разработчиков.
3D динамика
Казуальные игры стали большой тенденцией в игровой индустрии. Эти простые по своей сути, но красочные игры-головоломки, не требующие бешеного взаимодействия клавиатуры и мыши, были технически проще трехмерных хардкорных шутеров и поэтому не требовали масштабных модификаций универсальных движков. Но были и новые игроки в индустрии, такие как Torque Game Builder, HGE и другие.
Между игровыми движками существует множество сходств, хотя можно попытаться их классифицировать.
Во-первых, есть два подхода, которые определяют, как разработчики в основном работают над игрой:
Кроме того, движки могут различаться по способу распространения, поскольку, как и любое другое программное обеспечение, разработчики этого ПО обычно хотят получать деньги. Однако это не всегда так:
Виды игровых движков
Однако не всегда можно говорить об игровой платформе как об универсальном движке: часто технологическое оснащение игры состоит из нескольких технологий, каждая из которых не является полноценным движком, но выполняет важную функцию.
Чтобы создать высококачественное изображение из компьютерной графики, все элементы на экране должны выглядеть впечатляюще. Последние версии движков уже предоставляют целые хранилища готовых объектов, которые можно использовать с вашими собственными объектами. Однако есть объекты, которые должны быть уникальными сами по себе. Например, камни, деревья и другая растительность с естественным фоном. Для таких проектов используются отдельные машины, которые интегрируются в основную машину.
- С отдельным редактором. Многие игровые движки предлагают пользователю создавать что-то не с помощью навыков программирования, а через удобный редактор, который отдаленно напоминает Photoshop или программы для видеомонтажа. Обычно такие движки максимально самодостаточные и не требуют подключения дополнительных модулей, однако из-за этого могут быть ограничены в своем функционале. Но в наше время даже самые продвинутые игровые движки могут позволять работать через редактор.
- Во втором случае движок подразумевает, что разработчики игр пишут непосредственно программный код. Такие решения запускаются уже через обычную для программистов среду разработки и представляют собой не столько законченный продукт для создания игр, а набор ранее написанных программ, которые можно адаптировать под что-то новое.
Популярным примером является технология SpeedTree. Этот движок изначально был разработан для работы с деревьями и растительностью и с середины 1920-х годов помогает разработчикам игр разного рода создавать уникальные леса и заполнять пустые пространства флорой. Современная версия машины стала настолько фотореалистичной, что ее используют не только для разработки игр, но и для производства фильмов.
- Движки с открытым исходным кодом представляют собой не бесплатные версии каких-то технологий, а полноценные инструменты разработки, созданные энтузиастами. Такие решения можно использовать в неограниченном количестве, создавать на них коммерческие проекты и не платить за это создателю движка. Пример такого движка — Godot.
- Бесплатные движки могут не предоставлять конечному пользователю весь исходный код, однако для использования они бесплатные. Чаще всего подразумевается, что разработчикам придется платить какую-то часть прибыли с продаж игры, при условии, что эта прибыль вообще будет. По такой схеме сейчас распространяется большинство популярных сторонних игровых движков — например, Unreal Engine, Unity, CryEngine и так далее.
- Полностью платные движки уже остались в прошлом, и сейчас в этой категории скорее упоминаются программные платформы, которые большие команды разработки делали конкретно под свои игры. Из-за высокой трудоемкости и дорогостоимости этого процесса позволить себе такое могут лишь самые успешные команды — например, движок Frostbite для серии Battlefield и RAGE для GTA и RDR.
Короче говоря, проще сказать «для всего». Движок учитывает не только визуальную составляющую происходящего на экране, но и множество процессов, происходящих «под капотом».
Экранные операции игрового движка не только перемещают объекты, но и учитывают освещение, влияние действий на игровой мир, обработку команд, поступающих от контроллера игрока, изменение музыки и многие другие действия.
Игровой движок работает на таком глубоком уровне, что обеспечивает появление на экране необходимых моделей персонажей, настраивает анимацию и их поведение, а также добавляет речь, музыку и звуковые эффекты, соответствующие действию.
За что отвечает движок в играх?
Следует также помнить, что движок отвечает за так называемую логику игры. Например, система транзакций, где игрок может покупать и продавать предметы у игровых персонажей, также реализована в движке и работает на его основе, как и возможность использовать уже купленные предметы. За различные эффекты этих элементов и их использование также отвечает движок, и их качество также гарантируется программным решением.
Сетевые игры — это особый случай: Помимо разнообразных средств защиты, игры требуют наличия разнообразных сетей и правильного отображения с рабочей точки зрения. Это часто достигается с помощью дополнительных небольших двигателей или других программных решений, как описано в предыдущем разделе.
Мы уже сообщали об этом ранее:
Что такое файтинги и почему вы должны в них играть.
Как же использовать все эти мощные движки для создания собственной игры? Ответ для обычного человека и для профессионального разработчика звучит примерно одинаково: вы должны запустить программную среду в том или ином виде и что-то там сделать.
Как уже упоминалось ранее, различные движки предлагают разработчику различные подходы к созданию игр. В некоторых случаях управлять процессом можно будет только в окнах редактора, перетаскивая логические блоки — например, система Blueprints встроена в Unreal Engine 4. Пользователю нужно только научиться правильно работать с интерфейсом редактирования движка и создавать там нужные цепочки, а код будет генерироваться автоматически.
В то же время сам Unreal Engine 4 требует базовых знаний C++ или C#, на которых можно программировать более сложные схемы. На самом деле, большинство современных игровых движков по-прежнему требуют навыков программирования: Несмотря на то, что большинство вещей можно создать с помощью интерфейса и перетаскивания, сложные функции приходится добавлять изнутри.
Как создать игру с помощью игрового движка?
Кроме того, для создания игры необходимы фактические активы — ресурсы, используемые логикой игры. Это, например, 3D-модели персонажей и окружения, текстуры, звуковые файлы и так далее. При разработке крупных игр эти ресурсы создаются командой разработчиков — некоторые разрабатываются самими разработчиками, некоторые создаются с помощью других движков, упомянутых выше, а некоторые передаются на аутсорсинг, т.е. f
Она была разработана в 2007 году двумя аргентинскими разработчиками, Хуаном Линецки и Ариэлем Манзуром. В течение нескольких лет Godot был основой для внутреннего программного обеспечения в некоторых латиноамериканских компаниях. Пока исходный код машины не был опубликован, она выпускалась под разными названиями: Larvotor, Legacy, NG3D и Larvita.
Godot продолжает активно поддерживаться благодаря пожертвованиям на Patreon от сообщества, заинтересованного в развитии технологии. Он поддерживает создание 2D и 3D игр. Вместо псевдо-2D, где трехмерный мир представлен в двух измерениях, платформа работает в реальном двухмерном пространстве, выраженном в пикселях, что значительно облегчает создание и оптимизацию двухмерных игр.
Преимущества:
Недостатки:
Godot
Игры на платформе: Splice Crisis 2, Ruins Of Mitriom и другие.
Стоимость: Бесплатно
Официальный сайт: Годо
Panda 3D — это основа, разработанная компанией Disney для 3D аттракционов в тематических парках. Исходный код Panda 3D был предоставлен общественности в 2002 году. Со временем этот инструмент превратился во впечатляющую функциональность для создания коммерческих продуктов с 3D-графикой. Для работы движка требуется знание Python и C++. В настоящее время движок используется в проектах по обучению искусственного интеллекта и вычислениям на удаленных серверах.
- идеально подходит для 2D-игр;
- в отличие от Unity, поддерживает систему измерения в пикселях и облегчает создание пиксель-арта;
- скрипты реализованы проще, чем на других движках: помимо собственного GDScript, есть полная поддержка C# 8.0, C++, а также визуальное программирование;
- гибкая система анимации объектов, встроенная в движок;
- наличие подробной документации в сообществе, а также много полезной информации на Reddit.
Двигатель довольно прост в освоении. Кривая сложности линейна, что означает, что вы продвигаетесь равномерными шагами, чего нельзя сказать о Unreal Engine 4 и Unity3D, где кривая сложности экспоненциальна, и очень легко начать и создать прототип, но гораздо сложнее закончить начатое.
- 2D-физика и тени реализованы хуже, чем на других бесплатных движках;
- могут возникнуть трудности с перемещением и изменением объектов на уровне;
- 3D-движок не может конкурировать с более мощными альтернативами;
- не поддерживает консоли.
Преимущества:
Недостатки:
Игры для платформ: Disney’s Toontown, Disney’s Pirates of the Caribbean Online, Autumn Moon Entertainment: Ghost Pirates of the Vooju Island и другие.
Panda 3D
Цена: бесплатно
Официальный сайт: Панда 3D
Panda 3D — это основа, разработанная компанией Disney для 3D аттракционов в тематических парках. Исходный код Panda 3D был предоставлен общественности в 2002 году. Со временем этот инструмент превратился во впечатляющую функциональность для создания коммерческих продуктов с 3D-графикой. Для работы движка требуется знание Python и C++. В настоящее время движок используется в проектах по обучению искусственного интеллекта и вычислениям на удаленных серверах.
- большой набор инструментов и тулсетов: анализ производительности, конвертация моделей, плагин для браузера;
- поддержка популярных физических движков: Bullet, NVIDIA PhysX, ODE;
- наличие дополнительных возможностей: ИИ, процедурная анимация, графические ассеты, скелетная анимация.
Двигатель довольно прост в освоении. Кривая сложности линейна, что означает, что вы продвигаетесь равномерными шагами, чего нельзя сказать о Unreal Engine 4 и Unity3D, где кривая сложности экспоненциальна, и очень легко начать и создать прототип, но гораздо сложнее закончить начатое.
- отсутствие графического редактора, где можно расставить 3D-объекты: сцены заранее прорабатываются в Maya или Blender, а затем импортируются в Panda 3D с помощью кода;
- устаревшее программное обеспечение для работы с ассетами;
- нехватка наглядных примеров в официальной документации.
- нужно хорошо знать Python, чтобы начать разрабатывать игры.
CryEngine позволяет создавать игры с фотореалистичной графикой. При наличии необходимых навыков проекты, выполненные с использованием
Недостатки:
Движок может быть запрограммирован на языке Lua. До 2020 года она называлась Corona Labs Inc, затем была переименована в Solar2D и распространялась бесплатно с доступом к коду.
CryEngine
Отличный вариант для начинающих. Простой в освоении и очень мощный, он позволяет создавать игры с 2D и 3D. Он имеет свой собственный язык программирования GDScript, основанный на Python, наряду с которым можно использовать C# и C++, а также визуальный язык. Его архитектура основана на древовидной структуре, поэтому любой из его элементов при необходимости может быть превращен в сцену, что очень удобно.
Подходит для всех, кто знаком с Python и хочет начать, и помогает сбросить страх перед разработкой. Подходит для создания визуальных романов, миссий, но не для платформ, а для экшн-игр функциональность не та. Он имеет простой и интуитивно понятный интерфейс.
Есть два варианта: Либо используйте то, что у вас есть, либо сделайте новое. Первый способ хорош тем, что двигатель уже кем-то использовался, и вы можете спросить совета, если что-то пойдет не так или не будет работать. Второй способ, с другой стороны, позволяет вам создать что-то отличное для ваших нужд, не платя за это. Тем не менее, необходимо затратить ресурсы, а именно время, знания и навыки, потому что машине нужны алгоритмы, графика и бесперебойная работа. По этой причине второй метод не подходит для новичков.
Panda 3D — это основа, разработанная компанией Disney для 3D аттракционов в тематических парках. Исходный код Panda 3D был предоставлен общественности в 2002 году. Со временем этот инструмент превратился во впечатляющую функциональность для создания коммерческих продуктов с 3D-графикой. Для работы движка требуется знание Python и C++. В настоящее время движок используется в проектах по обучению искусственного интеллекта и вычислениям на удаленных серверах.
- продвинутые возможности по разработке видеоигр и поддержка самых передовых технологий, включая DirectX 12, Vulkan API, VR;
- попиксельное освещение в реальном времени;
- детализированные текстуры, туман, поверхности с бликами, реалистичная физика, продвинутая анимация и многое другое.
Двигатель довольно прост в освоении. Кривая сложности линейна, что означает, что вы продвигаетесь равномерными шагами, чего нельзя сказать о Unreal Engine 4 и Unity3D, где кривая сложности экспоненциальна, и очень легко начать и создать прототип, но гораздо сложнее закончить начатое.
- скромный выбор ассетов;
- есть ограничения для сетевых игр;
- слабое комьюнити и техническая поддержка.
Для первых опытов лучше выбрать готовое решение, чтобы не думать слишком много. Это обычная практика даже среди крупных разработчиков игр. Достаточно вспомнить, что многие известные проекты и серии были выпущены на движке Unreal Engine или Unity.
На факультете игрового дизайна GeekBrains опытные преподаватели помогут вам изучить основы разработки и создать первые проекты, даже если ваши ученики мало знакомы с программированием, но хотят попробовать. Опытный эксперт и наставник из международной компании позаботится о создании прототипов.
У дизайнера игр и режиссера есть нечто общее: оба воплощают сюжет в жизнь с помощью различных средств и механизмов. Были разработаны базовая концепция и основные правила. Применяются различные визуальные и технические решения.
Менее известные, но эффективные игровые движки
Курс подходит, если:
Программирование игровых движков — сложный и увлекательный процесс. Вы можете использовать готовое программное обеспечение и фреймворки, их платные и пробные версии, применять мощные и простые инструменты, включая наглядные пособия, работать самостоятельно или в команде. При ответственном подходе, терпении и настойчивости можно добиться впечатляющих результатов во всех вариантах. Если вы серьезно настроены получить профессию, вы знаете, куда обратиться. Желаем вам успехов!
*Facebook — организация, деятельность которой в Российской Федерации классифицируется как экстремистская.
Выбор между готовым движком и написанием своего
Где научиться разрабатывать игры
- Новичок и хотите попробовать себя в этой отрасли, потому что любите видеоигры и настолки.
- Начинающий гейм-дизайнер и хотите прокачать свои навыки и умения, пополнить копилку знаний, структурировать имеющиеся, актуализировать с помощью опытных наставников.
- Маркетолог и хотите разобраться во всем, что касается геймификации, в том числе пополнить базу знаний понятиями баланса, расчета нагрузки, сеттинга и прочими.