Актуальные игровые движки. Игровой Движок - Написать Самому или Взять Готовый

Некоторое время назад мы затрагивали тему создания компьютерных игр и рассказывали об уникальном бесплатном трехмерном движке, написанном на Delphi - GLScene (движок забирайте с нашего CD/DVD ). Тема создания полноценных трехмерных компьютерных игр была вам очень интересна, о чем можно было судить по количеству пришедших писем. Однако тогда мы решили, что рассказывать о программировании под движок - слишком сложно. С тех пор ваш уровень заметно возрос (об этом также можно судить по письмам и по активности на форуме журнала), вы стали более подкованы в вопросах программирования. Особенно после публикации цикла “Кладовая программиста ”.
С этого номера мы начинаем публикацию серии статей, в которых детально рассмотрим различные этапы создания трехмерной игры. Вы повысите свои навыки программирования и, что называется, заглянете за завесу тайны, отделяющую серьезных разработчиков игр от простых смертных.
Движок любой игры складывается из многих и часто независимых частей-кирпичиков: контроль столкновений, физическая модель, игровой интерфейс, главное меню, загрузка уровней и многое другое. Есть специфические кирпичики,
которые нужны только для какого-то одного жанра. Например, модуль погодных явлений важен и нужен в авиационном или морском симуляторе, а в стратегии реального времени он второстепенен или вообще не нужен, а в футбольном симуляторе ни к чему модуль выстрелов. Но несколько десятков кирпичиков присутствуют в любой игре. В серии статей мы расскажем о каждом из таких кирпичиков, покажем, как он реализуется и как его связать с остальными. К концу цикла вы сможете из этих кирпичиков собрать свою собственную компьютерную игру довольно высокого уровня.

Что это вы тут делаете?
Для тех, кто пропустил какие-то из предыдущих моих статей (или даже все), отвечу на возникшие у вас вопросы. Так сказать, небольшое техническое вступление.
Почему Delphi? Эта среда разработки и язык программирования Object Pascal достаточно гибкие, чтобы создать полноценную трехмерную игру практически любого жанра с современным уровнем графики. Многие возразят, что стандартом де-факто разработки компьютерных игр является MSVC++ или другие среды на основе С++ . Но подобные стандарты, как это часто бывает, складываются стихийно. Не будем смешивать два понятия - язык и среда разработки.
C++, безусловно, мощнее, чем Object Pascal. Но он и менее высокоуровневый, то есть в разы сложнее. Для новичков С++ подходит слабо. Object Pascal же не только простой, но и достаточно гибкий, чтобы на нем можно было разработать полноценную компьютерную игру современного уровня. Теперь о средах. Тут так категорично не скажешь. Среда разработки - дело вкуса и привычки каждого конкретного программиста. Поделюсь своим мнением на этот счет. MSVC++ генерирует немного более быстрый код, чем Delphi. Собственно, на этом преимущества заканчиваются (повторюсь, на мой субъективный и ни к чему не обязывающий взгляд). Козыри Delphi - большая скорость компиляции (в десятки и даже сотни раз быстрее, чем MSVC++), высокое качество средств отладки (в большинстве случаев Delphi указывает точно ту строку кода, в которой содержится ошибка, тогда как MSVC++ может указать строчку за несколько страниц от искомой) и удобный интерфейс.
Почему GLScene? Я повидал и перепробовал много бесплатных трехмерных движков, но остановился именно на этом. Его самое главное преимущество - GLScene постоянно совершенствуется. Разработчики не поставили точку и, скорее всего, не поставят ее никогда. Движок постоянно эволюционирует и впитывает в себя все новинки технического прогресса. Это единственный из известных мне бесплатных движков, про который никогда не скажут “устарел”. Несколько сотен постоянно работающих над “двигателем” энтузиастов не допустят этого. Как пример: в движке поддержка самых первых шейдеров появилась уже через несколько месяцев после того, как NVidia выпустила соответствующие инструментальные средства.
Еще одно преимущество: в комплекте с GLScene поставляются его полные исходники. Новичкам этот факт, наверное, вряд ли будет полезен. Хотя познакомиться с исходниками, написанными рукой профессионала, многого стоит. А вот бывалые программисты чувствуют основной смысл этих слов: ведь они смогут перекраивать движок как им
вздумается. Единственное условие в соответствии с лицензией MPL - любые изменения в исходниках должны быть доступны координатору проекта (сейчас координатор - Эрик Гранж ). Вдруг ваш код еще кому-нибудь пригодится?!
Несмотря на то что все примеры кода, которые будут приводиться в этом цикле статей, будут написаны на Delphi с применением GLScene, они будут полезны и тем, кто программирует на других языках и с другими графическими библиотеками. Ведь общие принципы создания графического движка не зависят ни о того, ни от другого. Итак... мы начинаем.

Зачем нужен трехмерный движок?
Товарищи новички, сосредоточьтесь! Возможно, то, что я сейчас скажу, с первого раза будет не очень понятно. Обязательно перечитайте и вникните: это один из основных принципов программирования вообще и разработки сложных систем (а игра - это сложная система) в частности. Представьте себе какую-нибудь проcтенькую игру. Пинг-понг, к примеру. Программист написал его на чистом OpenGL , исходники уместились строк эдак в 200. Что там будет движком, а что основным кодом игры? Так прямо сразу и не скажешь... А если подумать, такое разделение на движок и основной код вообще не нужно.
Теперь представьте, что мы хотим сделать более или менее серьезный 3D-action (десятки тысяч строк кода). И будем мы программировать таким же способом, как если бы мы делали тот самый пинг-понг. И скоро запутаемся! Да, этот код будет быстрым, там не будет ничего лишнего, но... не всякий программист сможет дописать его до конца. А ошибки в таком плотном коде искать - сущий ад. Значит, его надо как-то упорядочить. Проще всего это сделать с помощью выделения уровней абстракции .
Уровень абстракции - это одно из важнейших понятий модульного программирования. Представьте, что вы строитель, и вам нужно построить дом. Вы оперируете кирпичами: берете кирпич, кладете его на строящуюся стену, намазываете раствором, берете следующий кирпич... Кирпичи - ваш уровень абстракции. Теперь представьте, что вы застройщик. И вам нужно построить микрорайон. Вы говорите строителю, где строить дома, какие дома сносить. Дом - это ваш уровень абстракции. Было бы странно, если бы вы указывали строителю, какой кирпич куда класть. Вы сказали: вот здесь будет дом. Все остальные заботы берет на себя строитель. Ну а теперь представьте, что вы мэр города. И вам необходимо дать задание толпе застройщиков к такому-то году дать городу столько-то нового жилья. Вряд ли вы будете лично планировать, где какой дом должен стоять. Это работа застройщика. Уровень абстракции мэра - объем жилого фонда, который можно увеличивать, можно уменьшать, а как это будет выполняться - дело десятое. По большому счету на этом уровне абстракции все равно, из чего строятся дома: хоть из кирпичей, хоть из бивней мамонта. И у мэра в списке команд просто не может быть “положить кирпич ”, хотя любая его команда через несколько уровней абстракции к этому и приведет.
В более или менее сложной компьютерной программе или игре - то же самое. Каждый уровень абстракции отвечает за свою часть работы, опираясь на возможности более низкого уровня. Каждый уровень абстракции обеспечивает более высокому уровню удобный интерфейс для работы с объектами. В компьютерной игре нижний уровень абстракции - это язык программирования (хотя, на самом деле, можно копнуть еще глубже - до железа). Далее идут команды OpenGL API (если мы именно с его помощью программируем). На этом уровне мы можем отдать команду вроде “нарисовать полигон ” и “поменять местами видимую и теневую части видеобуфера ”. Потом - команды GLScene . На этом уровне мы можем дать команды вроде “построить куб ”, “загрузить модель в формате 3ds ” и “наложить на модель такую-то текстуру ”. А вот дальше -игровой движок. И, наконец, игровой код, который может давать игровому движку команды вроде “загрузить уровень ”, “выстрелить таким-то персонажем из такого-то оружия ” и “показать заставочный ролик ”. В идеальном случае каждый уровень абстракции пользуется командами только предыдущего уровня. Не всегда это возможно. Но к этому надо стремиться, так как в таком случае код будет быстрым, удобным и легкочитаемым.

Динамическое создание объектов
Мы рассмотрели вертикальную организацию компьютерной игры. Но каждый уровень абстракции можно разделить на смысловые блоки - модули. Деление это необязательно и всегда будет чисто условным, просто так проще программировать. Сегодня мы разберем маленький, но очень важный модуль-кирпичик - динамическое создание объектов, который присутствует во всех без исключения играх.
Предположим, вы создаете модуль вооружения и хотите запрограммировать очередь из пулемета. Все бы ничего, но откуда вы знаете, сколько игрок может выпустить пуль за всю игру? Через редактор объектов в IDE GLScene можно создавать любые объекты, но только если вы четко знаете, сколько и каких объектов вам нужно. В большинстве случаев это неприемлемо. К примеру, у вас в игре есть 20 уровней, у каждого уровня - свой набор объектов. И что же, создавать перед началом игры все объекты всех уровней? Это долго, да и займет огромное количество памяти. Единственный выход - создавать объекты прямо во время игры, динамически. В GLScene динамическое создание любого объекта состоит из двух стадий - создания экземпляра класса этого объекта и присвоения ему необходимых свойств. Возьмем уже упоминавшийся пример с очередями у пулемета и динамически создадим пулю. Предположим, пуля у нас будет промто-сферой. За сферы в GLScene отвечает класс TGLSphere . Казалось бы, можно написать так:
Sphere:=TGLSphere.Create
Однако команда работать не будет, так как каждому объекту в GLScene надо зарегистрироваться в очереди объектов. Кроме того, объект нельзя создать в “пустоте”, он должен быть привязан к какому-то объекту более высокого уровня. Корневой объект самого высокого уровня - glscene1.Objects (если объект компонента TGLScene у вас называется glscene1). Правильный вариант:
Sphere:=TGLSphere (glscene1.Objects.AddNewChild(TGLSphere))
Разберем эту строчку по частям. У корневого объекта glscene1.Objects мы вызываем метод AddNewChild , который добавляет в корень объект класса, указанный в параметре (в данном случае это сфера -
TGLSphere ). Так тоже можно: в параметры процедурам передавать не объекты, а целые классы. Зачем перед присвоением нужно преобразование типа к TGLSphere ? Дело в том, что метод AddNewChild , что бы вы ему в параметр ни передали, возвращает объект класса TGLBaseSceneObject . Нас это не устраивает, поэтому мы и преобразуем тип к TGLSphere. Получившийся объект присваивается переменной Sphere. Теперь с помощью этой переменной мы можем нашей пуле задать разные параметры, например положение в пространстве:
Sphere.Position.X:=
Sphere.Position.Y:=
Sphere.Position.Z:=
Или цвет:
Sphere.Material.FrontProperties.Diffuse=
Динамическое создание моделей мы разобрали, а теперь поговорим о динамическом их уничтожении. В самом деле, пуля когда-нибудь попадает в стену, человека или же улетает в голубую даль. С этого момента она больше не нужна. Если мы так и оставим ее, она будет занимать какую-то область памяти. Учитывая, сколько выстрелов делает среднестатистический кемпер, пока его нычку не обнаружат, нам всей памяти компьютера не хватит, чтобы хранить такое количество пуль. Поэтому любые объекты игры, которые стали ненужными, надо немедленно уничтожать. Единственный правильный способ сделать это - вызвать метод Free , например:
Sphere.Free
Частенько бывает необходимо проверить, существует ли объект, или его уже уничтожили. Для этого сравниваем объект с универсальной константой нуля - nil , например:
If Sphere<>nil then
Begin
{сферу еще не уничтожили,
значит, делаем здесь что-нибудь полезное}
End
Или же вызываем функцию Assigned , которая делает то же самое. И вот тут вас подстерегает один гигантский подводный камень, на который рано или поздно наталкивались все программисты. Если вы освободили объект методом Free , это не гарантирует, что переменная объекта стала равно nil ! То есть при определенном стечении обстоятельств в примере выше, даже если сфера уничтожена, условие будет выполняться. Если вы в условии после проверки обращаетесь с этой сфере (а так почти всегда и бывает), произойдет критическая ошибка, что чревато вылетом игры в синие форточки. Чтобы гарантировать, что освобожденный объект станет равным nil, используйте специальную процедуру FreeAndNil , например:
FreeAndNil(Sphere)
Теперь вы можете быть уверенными в том, что никогда не обратитесь к уже несуществующему объекту. Описанную процедуру создания и уничтожения объектов можно применять к любым объектам GLScene.

Зачем играм аккумулятор?
Рассмотрим пример выше с пулеметом. Обычно в играх пули - это не просто сферы, а сложные объекты, у которых к тому же еще и текстура имеется. Каждый раз, когда вы создаете пулю, освобождается участок памяти, устанавливаются свойства этой пули, загружается модель пули, загружается текстура (с винчестера!). Все это занимает определенное время. Если число пуль, которые изрыгает пулемет в секунду, очень велико, могут начаться дикие тормоза, особенно на слабых компьютерах. С уничтожением пуль такая же проблема: надо выгрузить объект, освободить память... То же самое относится не только к пулям, но и к любым объектам, которые часто появляются и исчезают, например к каплям дождя, искрам от электропроводки... Подобная расточительность системных ресурсов в компьютерных играх неприемлема. Вы же не хотите, чтобы вашу игру можно было запустить только на суперкрутой графической станции?
Выход простой. Прикидываем, сколько в среднем объектов подобного рода может существовать одновременно. Допустим, пулемет может выбросить несколько сотен пуль за десяток секунд, и за этот же десяток секунд пули обязательно долетят до цели. Перед началом игры создаем все сто пуль. Лучше всего это делать во время загрузки уровня. Небольшой задержки никто не заметит. Далее пули помещаются в список или массив, который называем аккумулятором . Делаем пули невидимыми или выносим их куда-нибудь за пределы игрового пространства. Как только пулемет начал стрелять, вместо того чтобы создавать пули, мы перемещаем в нужное место уже созданные пули из аккумулятора и делаем их видимыми. Как только пуля достигнет цели, мы не уничтожаем ее, а вновь делаем невидимой и помещаем в аккумулятор. В итоге для каждой пули мы экономим время создания и время уничтожения. А это очень и очень много! А что если мы немного ошиблись в своих прикидках, пули в аккумуляторе кончились, а пулемет продолжает стрелять? Тут уж ничего не поделаешь - придется новые пули создавать динамически, пока в аккумулятор не вернутся старые. И новые пули тоже не будем уничтожать, а запасем в аккумуляторе - вдруг еще понадобятся...

Атака клонов
Пусть у нас есть большой лес, в котором много-много одинаковых деревьев или, скажем, много деревьев нескольких разных видов. Пример похож на предыдущий, только мы тут ничего динамически не создаем и не уничтожаем - на этом уровне деревья есть всегда. Проблема будет при загрузке уровня. Создание стольких деревьев займет огромное время. Но ведь они все одинаковые! То есть мы раз за разом загружаем с винчестера и создаем в памяти копии одного и того же. Загрузили. Играем. Перед рендером каждого из деревьев выполняются подготовительные процедуры. Для каждого дерева они будут одними и теми же, но вызывать мы их будем опять большое число раз, по числу деревьев! Расточительно получается. И память под каждое дерево резервировать надо, и обработка каждого из них время занимает.
Вот бы загрузить одно-единственное дерево, а когда надо будет вывести на экран остальные деревья, просто показать графической библиотеке, откуда брать необходимые данные. Это ж какая экономия ресурсов получится, какой пророст FPS! Такие “ложные” деревья (и не только деревья - что угодно), о которых в памяти хранится только частная информация (положение в пространстве, углы поворота), а одинаковая информация хранится только один раз, называются прокси-объектами .
В GLScene для создания прокси-объектов существует специальный класс - TGLProxyObject . Пользоваться им очень просто. Сначала создаем объект-источник, то есть единственное дерево, например так:
Tree:=TGLFreeFrom(glscene1.objects.AddNewChild(TGLFreeFrom));
//Загружаем
его модель:
Tree.LoadFromFile(‘Tree.3ds’);
//Загружаем его текстуру:
Tree.Material.Texture.Disabled:=false;
Tree.Material.Texture.Image,LoadFromFile(‘tree.jpg’);
//А теперь создадим десять деревьев-клонов в случайных местах:
for i:=1 to 10 do begin
//Создаем очередной прокси-объект
proxy:=TGLProxyObject(glscene1.objects.AddNewChild(TGLProxyObject));
with proxy do begin
//В свойство MasterObject записываем наше дерево-образец
MasterObject:=Tree;
//Показываем, что наследоваться должна только структура объекта
ProxyOptions:=;
//Ориентацию дерева в пространстве надо оставить неизменной
Direction:= Tree.Direction;
Up:= Tree.Up;
//А вот положение задаем случайное
Position.X:=Random(100);
Position.Y:=Random(100);
//И повернем дерево на случайный угол, чтобы лучше смотрелось
RollAngle:=Random(360);
end;
end;
Теперь у нас есть десяток деревьев по цене одного. Обратите внимание, что если мы как-нибудь изменим объект-оригинал, это изменение мгновенно отразится на всех объектах-клонах.

* * *
Мы рассказали о первом кирпичике. В следующих статьях мы подарим вам целый грузовик таких кирпичей, из которых вы сможете построить трехмерный игровой движок своей мечты. Ну а чтобы вам было проще, на компакт мы выкладываем последнюю протестированную версию GLScene .

В этой стать пойдет речь о бесплатных программах для создания 2D и 3D игр. Данная статья нацелена не только на начинающих, но и подойдет уже более опытным.

Описаны будут программы, с помощью которых можно создавать как примитивные 2D игры, так и более сложные 3D игры с применением физики, высокой графики, написания скриптов и алгоритмов. В топе будут представлены движки и программы на которых создать игры может каждый желающий, так как для этого не нужно знать и писать специальные сложные скрипты, а также владеть языками программирования.

Так же этот топ может быть полезным и для людей, которые связаны с созданием игр и имеют опыт в программировании, работают с фреймворками и библиотеками.

Статья поможет тем, кто хочет дебютировать в этой сфере и сейчас подбирает оптимальный для себя движок. В топе будут описаны все плюсы и минуты представленных движков.

Будет сформирован топ 5 движков для создания игр, начиная с самых примитивных и простых, заканчивая более сложными. Этот топ формировался с учетом использования полностью бесплатных и доступных движков, а также с учетом актуальности и поддержки этих программ.

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

Немного предыстории.

Раньше все игры создавались вручную под каждую платформу. Каждый раз целую игру писали с нуля. Затем разработчики игр заметили, что при создании игр есть множество рутинных задач, которые легче автоматизировать, написать такие решения один раз и дальше просто обращаться к ним из кода.

Таким образом появились библиотеки, фреймворки а затем и полноценные движки.

5 Место

Stencyl – конструктор игр, который поможет создать вам игры разных жанров в формате 2D , для таких платформ как Android , IOS , Windows а так же игры в формате Flash и HTML 5.

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

Простота и широкий спектр простых инструментов никак не уменьшает возможности данного конструктора для работы профессионалов. Движок дает возможность варианта написания кода на языке ActionScript 3.0.

С помощью данного движка можно создавать онлайн игры, так называемые флеш игры, в форматах Flash и HTML 5 которые можно запускать в браузере и размещать на вебсайтах.

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

В этом конструкторе стоит отметить наличие магазина, в котором можно загрузить уже готовые сценарии, графику и многое другое.

Примером работы движка является множество онлайн флейш игр, которых полным-полно в сети интернет.

· Простота работы.

· Большое количество видео уроков и инструкций, а также поддержка на официальном сайте.

· Конструктор является полностью бесплатным.

· Возможность коллективной работы над игрой.

· Возможность применения собственных скриптов на языке ActionScript 3.0.

· Разработка игр для разных платформ.

· Англоязычный интерфейс.

· Не сразу понятный интерфейс.

4 Место

Kodu Game Lab – это визуальный редактор позволяющих создавать трехмерные игры без каких любо знаний языков программирования. Этот движок дает возможность создавать игровые миры, карты и размещать в них персонажей, для которых потом можно создавать задания или сценарии.

Все это можно делать без написания каких любо скриптов или знаний языков программирования.

Kodu Game Lab имеет много возможностей и на её базе можно создавать любой жанр игр. Из-за того, что интерфейс программы очень простой любой желающий может создать самую примитивную игру со своим сценарием и миром.

· Большое количество инструментов.

· Простота работы.

· Создание абсолютно любого жанра игр.

· Русскоязычный интерфейс.

· Не требуется наличие мощного компьютера.

· Плохая оптимизация.

· Низкие возможности создания игр.

· Невозможность создания дистрибутива для дальнейшей установки на другом компьютере.

· Невозможность создания своих текстур и добавления своих материалов.

3 Место

Unity – это мощный движок для создания игр. Этот движок является кроссплатформенным, позволяет создавать игры под популярные ОС, такие как Windows , MacOS , Linux , Android , IOS , а также для игровых консолей Xbox , Wii .

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

Установив специальные плагины (возможно платные) вы сможете создать примитивную игру без написания специальных скриптов, или алгоритмов. Таким образом даже далекий от программирования человек сможет создать простую игру и попробовать в работе данный движок.

В бесплатной версии Unity достаточно инструментов и возможностей для начинающих в этой сфере. Если вы уже бывалый game creator тогда скорее всего вам не хватит набора инструментов, которые присутствуют в бесплатной версии. Для того, чтобы более тонко настроить графику создаваемых вами игр, советую воспользоваться версией Pro .

Основные языки программирования, которые вам нужны для создания простых игр это C# и JavaScript.

Стоит заметить наличие магазина скинов, текстур и много другого, а также возможность использовать собственно созданные материалы в движке Unity .

Нужно отметить что большинство популярных игр для ПК и Смартфонов были созданы именно на этом движке, поэтому вы должны понимать на сколько это много функциональная и мощная платформа для создания игр.

Что бы понять все возможности данного движка советую ознакомиться с популярными видео играми, которые были полностью созданы на Unity – это Cities Skylines, Hearthstone: Heroes of Warcraft, Rust, Firewatch, Superhot, Kerbal Space Program.

· Ориентировочно-понятный интерфейс.

· Создание абсолютно любого жанра игр.

· Кроссплатформенность.

· Оптимизация.

· Большое количество видео уроков и инструкций.

· Движок является полностью бесплатный.

· Не требуется наличие мощного компьютера.

· Не подходит для начинающих.

· Закрытый исходный код.

· Устаревшая графика.

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

2 Место

Unreal Engine – является довольно мощным движком для создания игр. Эта платформа даёт возможность создания 2D и 3D игр. Неотъемлемой частью таких современных и мощных движков является кроссплатформенность, и в Unreal Engine она довольно хорошо реализована. Можно создавать игр для всех популярных платформ как для смартфонов (Android , IOS ), так и для компьютеров под управлением (Windows , MacOS ).

Для данного движка на официальном сайте и в сети интернет есть довольно много документации и информации о работе с ним. Поэтому если вы мало знакомы с Unreal Engine вы сможете с легкостью найти всю нужную для старта информацию, а также при возникновении каких-либо проблем в ходе разработки, вы сможете обратиться на форму и обсудить либо найти решение проблемы.

Unreal Engine является полностью бесплатным движком для создания игр, который вы можете скачать с официального сайта.

Очень важно, если вы профессиональный разработчик и планируете создать довольно сложный и большой проект, тогда вам стоит обратить внимание на эту платформу, так как она имеет полностью открытый код и очень хорошо оптимизированную, современную графику. Что касается написания скриптов, то в движке используется язык программирования C++. Открытый код позволит вам добавить с движок свои библиотеки и фреймворки, что дает почти не ограниченные возможности в создании игр.

Хочу заметить, что, будучи не опытным в сфере создания игр, а также если вы не знаете основ программирования на С++, тогда не стоит начинать знакомство с разработкой игр с этого движка. Так как Unreal Engine является профессиональным инструментом для создания игр.

Что бы понять всю силу и возможности движка, можете просмотреть уже созданные на нем популярные проекты, такие как Gears of War 4, We Happy Few, Final Fantasy VII, Dead Island 2, Taken 7 и еще длинный список примеров возможностей.

· Огромное количество инструментов.

· Создание абсолютно любого жанра игр.

· Кроссплатформенность.

· Оптимизация.

· Большое количество видео уроков и инструкций.

· Собственные форумы, обсуждения в разработке игр.

· Движок является полностью бесплатный.

· Встроенный магазин дополнений.

· Возможность создания мульти плеера в играх.

· Высокий уровень графики.

· Открытый код

· Не подходит для начинающих.

· Сложный интерфейс.

1 Место

На первое место был поставлен CryEngine, хотя он и очень схож с Unreal Engine, но все же он сейчас является более популярным для создания современных игр, и развивается все больше и больше с каждым днем. CryEngine это самый популярный движок среди разработчиков сложных и современных игр с использованием самой лучшей графики, физики и т.д.

CryEngine – мощный движок для создания современных игр в любом жанре под все возможные платформы. Он так же является кроссплатформенным и позволяет создать игры под ОС Windows , MacOS , Linux , Android , IOS .

Он очень хорошо подходит для командной работы над проектами и позволяет создавать игры с применением самых последних знаний и возможностей. Так же у движка открытый исходный код, что даёт не ограниченные возможности в доработке движка и создании игр, которых еще никто не создавал.

Несмотря на то, что движок является мощным и позволяет работать и создавать игры высокой графики, он так же дает возможность создания 2D игр, которые будут не только красиво выглядеть.

Вот некоторые проекты, реализованные на CryEngine: CrySis, Star Citizen, Sniper: Ghost Warrior 3, Ryse: Son of Rome, Warface, первая часть FarCry и многие другие.

· Огромное количество инструментов.

· Создание абсолютно любого жанра игр.

· Кроссплатформенность.

· Оптимизация.

· Большое количество видео уроков и инструкций.

· Собственные форумы, обсуждения в разработке игр.

· Движок является полностью бесплатный.

· Встроенный магазин дополнений.

· Возможность создания мульти плеера в играх.

· Высокий уровень графики.

· Почти не ограниченные возможности в создании игр.

· Открытый код

· Не подходит для начинающих.

· Довольно требователен к компьютеру.

· Сложный интерфейс.

Заключение

В статье описаны самые популярные и, по моему мнению, лучше движки и конструкторы для создания как примитивных 2D игр, так и для разработки самых продвинутых новых видео игр.

Если вы хотите начать разрабатывать игры, но не знаете никаких языков программирования, тогда вам стоит подать свое внимание на 5-е и 4-е место. Такие движки помогут вам создать простенькие игры без знаний языков программирования и составления скриптов. Для создания своей игры вам хватит обычных визуальных редакторов этих движков

В том случае если вы уже довольно опытный game creator и хотите дебютировать со своим проектом, тогда стоит взглянуть на тройку лидеров данного топа и определиться какой проект и для какой платформы вы собираетесь реализовать.

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

Проприетарная технология, созданная компанией Guerrilla Games. В создании движка также принимала участие студия Kojima Productions. Появившись только в 2013 году, Decima Engine успела стать базой для нескольких ААА-проектов, а также просто интересных играх.

Первой игрой, созданной на Decima Engine, стала Killzone Shadow Fall, которую разработала сама Guerilla Games. Изначально студия не сообщала, на какой технологии создается их проект, однако с анонсом следующей своей игры - - все же рассказала, что новый проект будет использовать прежний движок - Decima Engine.

Как и в случае со многими популярными движками, физическая составляющая Decima Engine завязана на Havok physics. Благодаря этому Guerilla удалось создать перспективную технологию с динамичной скелетной анимацией и реалистичной системой повреждений.

В 2015 Decima Engine стала основой для Until Dawn - сомнительного поначалу хоррора, который в итоге стал главным открытием жанра за весь год. Не считая Horizon Zero Dawn, движок также используется в амбициозном проекте Хидео Кодзимы - . Именно поэтому студия японского разработчика - Kojima Productions - оказывала помощь во время создания движка ведущему разработчику - Guerilla.

По сути своей Decima Engine разработан специально для ААА-проектов, которым требуется высокая детализация и поддержка 4К-разрешения. Учитывая возможный громкий успех Death Stranding, а также тот факт, что Guerilla тесно работает с Sony, в будущем Decima Engine будет идти нарасхват. Скорее всего, мы будем часто видеть эту технологию в .

9 место - EGO Engine

Движок, разработанный совместными усилиями компаний и Sony Computer Entertainment. По сути своей является улучшенной версией Neon, который под «нулевым» номером представлял игру Colin McRae: DiRT.

EGO Engine по праву заслужил место в топе хотя бы за невероятно качественные игры в гоночном жанре. Все игры Codemasters, начиная с 2007 года, выходили и выходят именно на EGO, причем в их послужном списке есть и шутеры, что говорит только в пользу разностороннего движка.

Большую часть работы в создании EGO проделала студия Codematers, когда Sony же предоставила графический движок PhyreEngine. На первой версии EGO Engine вышли знаменитые DiRT и DiRT 2, а также дополнение Dragon Rising для шутера Operation Flashpoint. Вторую версию движка представляла DiRT 3, игры в серии GRID и F1.

На третьей же версии Codemasters сейчас делают DiRT 4, которая гарантирует стать великолепной раллийной гонкой. Все проекты компании всегда отлично оптимизированы, несмотря на отличную графику. Взять, к примеру, DiRT 2 - игра вышла в далеком 2009, однако качество её картинки до сих пор может дать фору некоторым современным проектам (и речь идет не об инди).

Реалистичная система повреждений, грязь, налепляющаяся на крылья авто, управляемость машин - все гоночные игры Codemasters выделяются этими и многими другими составляющими, которых компания сумела достичь лишь благодаря созданию качественного движка EGO Engine.

8 место - Game Maker: Studio

Известнейший игровой движок и конструктор, созданный на Delphi. Game Maker был разработан компанией Yo Yo Games, а ведущим разработчиком технологии выступает Марк Овермарс.

Сегодня существует семь версий движка, пять из которых поддерживают исключительно двухмерные игры. С шестой версии девелоперы решили интегрировать ограниченную поддержку 3D.

Game Maker заработал известность только благодаря своей простоте. Изначально Овермарс, являясь профессором в университете города Утрехт, создал базу для Game Maker в виде учебного пособия для своих учеников. Впоследствии же технология появилась в интернете, где и обрела популярность.

Отличительная черта Game Maker заключается в том, что для работы с ним не требуется знать языки программирования.

В течение создания игры на этом движке пользователю требуется определить игровые объекты (именно на них строится игра), затем задать их внешний вид, используя спрайты, ну а поведение и взаимодействие предметов осуществляется путем описания их реакций на так называемые события (СОП).

Game Maker появился в 1999 году и практически ежегодно продолжает получать обновления. Последнее вышло в 2011 - это восьмая версия движка, которая получила массу обновлений и дополнений. С того момента движок начал работать на юникоде, его поддержка 3D значительно возросла, был улучшен редактор комнат и т.д.

В 2012 же YoYo Games решила серьезно переработать свою технологию, прежде всего добавив поддержку кроссплатформенности. Движок получил новое название Game Maker: Studio, и лишь после этого его начали воспринимать как профессиональный инструмент для создания видеоигр, а не как обучающую программу.

Плюсы Game Maker Studios кроются в поддержке множества различных платформ от Windows и Mac OS, до iOS, Android, Xbox и PlayStation. Помимо этого, библиотека движка и многие расширения переведены на несколько языков, а не только английский, как обычно принято. У движка присутствует собственный язык программирования - Game Maker Language. Он также имеет интеграцию со Steam и распространяется совершенно бесплатно (только стандартная версия).

Единственным минусом же является 3D, которое в Game Maker появилось ещё в 2011, однако работа с ним до сих пор не приведена в приемлемое состояние.

Самые известные игры на Game Maker: Studios - это две части Hotline Miami. Кроме них, на движке были разработаны десятки различных игр, большая часть из которых затерялась даже в инди-сегменте.

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

7 место - 4A Engine

Движок из Украины, созданный одноименной студией . Судьба 4A Engine переплетается с X-Ray Engine, который, во-первых, был таким же образом разработан в Украине, во-вторых, был создан для игры в жанре постапокалипсис, а в-третьих, написан именно теми же самыми программистами - Олесем Шишковцовым и Александром Максимчуком.

4A Engine является проприетарным ПО, из-за чего 4A Games может использовать его исключительно для собственных нужд без возможности продавать лицензии. На данный момент компания выпустила две игры на этом движке - Metro 2033 и Metro: Last Light.

История 4A Engine имеет несколько темных пятен. Так, по некоторым сведениям движок является измененной копией X-Ray. Данное подозрение основано на том, что программисты движка Шишковцов и Максимчук, добровольно покинув (или будучи уволенными), использовали базу созданного ими X-Ray для 4A Engine. Этот слух впоследствии перерос в скандал, но реальных подтверждений так и не было найдено.

Шишковцов и его товарищи не решились продолжать развивать «Сталкер» и X-Ray потому, что последний, по их мнению, имел плохую сетевую модель и неграмотную оптимизацию, из-за которой распределение ресурсов и памяти компьютера осуществлялось до ужаса грубо. В целом, по словам разработчиков, X-Ray был не способен поддерживать консоли нового поколения и не имел будущего, из-за чего они и решили уйти из студии и заняться собственными разработками.

Созданный же ими 4A Engine только подтвердил ранее высказанные суждения. Так, в сравнении со S.T.A.L.K.E.R. Metro 2033 имела куда как лучшую графику (что можно списать на временные рамки), но при этом требовала значительно меньше ресурсов от компьютера и не вызывала никаких ошибок в системе.

В Metro 2033 прежде всего отлично был реализован объемный туман, а также размытие объектов и их высокая LOD-детализация. А включение в 4A Engine технологии PhysX позволило разработчикам добавить в игру разрушаемое окружение, динамичную водную поверхность и одежду.

В общем и целом 4A Engine можно назвать идейным продолжателем X-Ray, который показал куда как лучшие результаты и избежал многочисленных ошибок предшественника. Так или иначе, оба движка заслуживают мест в нашем топе.

6 место - IW Engine

С движком Infinity Ward сталкивался практически каждый геймер, даже если он вообще не в курсе о его существовании. IW был разработан одноименной компанией из США, которая создала его специально для своих игр, а именно - серии самых популярных шутеров Call of Duty.

История движка Infinity Ward берет начало ещё в 2002 году, когда будущие сотрудники компании IW работали в студии . В то время они выпустили свой дебютный проект Medal of Honor: Allied Assault, на базе которого стоял движок id Software - id Tech 3. Примерно через год большая часть коллектива покидает 2015 Inc, чтобы основать известную нам Infinity Ward и приступить к созданию культовой игры - Call of Duty.

Call of Duty была основана таким же образом на движке id Tech 3, о чем девелоперы и сообщили общественности. Однако же купленный движок подвергся значительным модификациям, в список которых вошли обычное улучшение графики, введение функции размытого окружения, функции обработки водной поверхности с помощью шейдеров, динамические тени и многое другое.

С такими преобразованиями id Tech 3 версии IW значительно отдалился от оригинала, так что для компании впору было назвать его собственным движком и сменить ему имя.

Вскоре девелоперы так и сделали, когда выпустили Call of Duty 2, объявив, что сиквел выходит на модификации id Tech 3 - IW Engine 2.0. Движок же первой версии, как нетрудно догадаться, разработчики присвоили Call of Duty 1.

В 2007 году Infinity Ward выпускает третью версию движка, выход которого ознаменовала Modern Warfare. Анимация лиц, текстуры воды, освещение, а также введение нового эффекта - глубины резкости - все говорило о том, что перед нами один из самых качественных движков для шутеров своего времени.

Вплоть до 2012 года компания продолжает использовать данный движок, улучшая лишь графическую составляющую. IW 4.0 и 5.0 появляются вместе с Modern Warfare 2 и 3 соответственно. Несмотря на создание новых версий, та же Black Ops 2 оказалась выпущена лишь на третьей модели движка.

Однако же в 2013 в направлении полноценного развития снова появилось движение, когда IW закончила работу над COD: Ghosts. И хотя часть про «Призраков» получила смешанные отзывы и оказалась плохо принята игроками, многие даже и не заметили, что компания вместе с Ghosts выпустила IW 6.0 версии. Последней же является седьмая, на которой была разработана в конце 2016 года.

5 место - RAGE (Rockstar Advanced Game Engine)

На пятом месте разместился движок от компании Rockstar. Rockstar Advanced Game Engine, или RAGE - это продукт работы двух её филиалов - и San Diego, которые разработали исключительно для игр компании.

Дебютный показ RAGE состоялся на практике лишь в 2006 году, когда Rockstar выпустила игру про настольный теннис. Забавно, что игра ничего уникального из себя не представляла - разработчики просто решили протестировать новый движок на каком-нибудь низкобюджетном проекте. Начиная с того времени, все последующие игры компании стали выходить именно на RAGE.

А что же было до 2006 года? В первой половине 2000-х Rockstar уже выпустила несколько частей GTA и успела прославиться, однако тогда её флагманским движком был RenderWare, который разработала совершенно сторонняя студия - . В 2004 последняя была поглощена EA, что, естественно, сказалось на приобретенной Rockstar лицензии на движок.

Electronic Arts всегда строго относилась к прямым конкурентам, из-за чего руководство Rockstar решила бросить служивший им верой и правдой RenderWare и приступить к созданию собственного движка. Всего лишь за год компании удалось разработать RAGE, так как его основа была создана не с нуля, а на базе AGE - движке студии Angel Studios.

Самым первым крупным проектом Rockstar Advanced Game Engine стала GTA IV. Ещё до её выхода компания объявила, что движок RAGE будет использовать технологию euphoria - средство процедурной анимации, которое позволяет симулировать реалистичную физику тел (используется до сих пор). Вышедшие впоследствии Max Payne 3, GTA V, а также планируемая - все эти игры были созданы и разрабатываются на RAGE.

Под «капотом» Rockstar Advanced Game Engine находятся все составляющие максимально функционального движка: графический, физический, звуковой и анимационный движки, а также полноценный ИИ, поддержка сетевых режимов, скриптовый язык и многое другое. Все компоненты были созданы усилиями исключительно филиалов Rockstar Games.

Как известно, многие игры компании ориентированы на открытый мир и свободный геймплей. Именно поэтому ключевым преимуществом RAGE является способность быстро обрабатывать крупные игровые миры - на это программисты делали уклон в первую очередь.

Когда геймер перемещается по уровню, движок не прекращает вводить и выводить требуемые объекты. Такое постоянство было обеспечено благодаря качественному менеджеру памяти движка, который способен ликвидировать и переносить объекты из ОЗУ, не требуя при этом периодической фрагментации.

Сомневаться в качестве RAGE не приходится, так как именно на нем была разработана GTA V - одна из самых продаваемых и популярных игр за всю историю индустрии.

4 место - CryEngine

Едва не попав в тройку лидеров нашего топа, серия движков от компании - CryEngine - прочно закрепилась на четвертой позиции. Графическая составляющая этого движка почти не знает себе равных, а Crysis - первая игра, которая была сделана на CryEngine 2 - многими называется одним из самых высокотехнологичных проектов в игровой индустрии вообще.

Оригинальный CryEngine был выпущен в 2002 году специально для шутера Far Cry. Тогда движок оказался номером один в плане технологической продвинутости и фотореалистичности. CryEngine 2 же, запущенный в 2007, впервые показал себя в Crysis.

На сегодня существует и третья, и четвертая версия этого движка, где одна получила куда как худшие отзывы по сравнению с CryEngine 2, а другая - настолько далеко ушла от оригинала, что уже лишь отчасти входит в «семью».

Отличительной политикой Crytek, которая и разработала CryEngine, является постоянное взаимодействие с более маленькими студиями, которым требуется игровой движок. Компания за небольшую плату выдавала и выдает лицензии любым коллективам, что сказывается только на пользу репутации CryEngine.

Но не из одной доступности CryEngine стал популярен и вошел в список лучших движков игровой индустрии. Доступные характеристики, их качество, а также непосредственно простота в работе с движком сделала его одним из самых популярных среди инди-студий.

Параллакс-маппинг, Terrain 2.5D, подповерхностное рассеивание, динамическое освещение, инструмент Polybump 2, параметрическая скелетная анимация - CryEngine вобрал в себе массу передовых технологий для своего времени, которые и сейчас остаются актуальными.

В движок встроен редактор уровней Sandbox2, который позволят в реальном времени создавать уровни, работать с объектами и редактировать анимацию. Безусловно, CryEngine достоин самых громких похвал - великолепнейший образец того, как нужно делать движки.

3 место - id Tech

id Tech - на базе этого движка были созданы такие культовые шутеры, как Wolfenstein, Quake и DOOM. Эти три гиганта, рожденные id Software, гремели в конце 1990-х и начале 2000-х, а в наше время, когда возрождение старых игр и фильмов обрело стихийные масштабы, они вернулись и устроили «местным» шутерам настоящий разнос.

На 2017 год id Tech имеет шесть версий. Первая вышла ещё в 1992 (когда многие молодые читатели не родились или только начали ходить под стол) под руководством легендарной личности - Джона Кармака.

Собственно, право называться «легендарным» он получил как раз за создание id Tech и отмеченных нами игр выше, которые вышли на этом движке. Тогда версии своего движка разработчики именовали названиями игр, для которых эти «базы» и разрабатывались.

Так, на id Tech 1 вышли первые три части «Дума», а на второй версии, которая получила имя Quake Engine, как нетрудно догадаться появились несколько частей в серии Quake.

С id Tech 3 компания id Software начала распространение своего детища. Движок все чаще принялся мелькать среди проектов сторонних девелоперов (Medal of Honor, Star Trek, James Bond 007).

Помимо этого, движок под третьим номером был приобретен Infinity Ward, которая на его базе создала собственный движок (об этом мы говорили в начале списка, так как этот движок тоже в нем оказался).

id Tech 4 - это эпоха значительных преобразований, так как движок впервые был написан на языке С++. Девелоперы переписали все подсистемы движка и представили его в игре DOOM 3. Самозатенение, попиксельное освещение и прочее - четвертая версия обладала самыми современными технологиями.

С id Tech 5 компания практически не работала, выпустив для него только одну игру - RAGE. Та была спорно встречена аудиторией, хотя сам движок пришелся по вкусу другим разработчикам. Так, на этой версии вышли , Wolfenstein: The New Order и The Evil Within.

Наконец, шестая и последняя на сегодня версия вышла в 2016 году. Разработчики создали её специально для консолей нового поколения, продемонстрировав всю мощь движка не менее мощным проектом - .

Прежде всего движок отличается инновационной технологией Sparse Voxel OCtree, благодаря которой геометрия уровней воспроизводится не через полигональную структуру, а воксельную.

С помощью SVO разработчикам удалось улучшить детализацию игрового мира посредством масштабирования: ближайшие к игроку объекты рендерятся в максимальном качестве, когда как далекие - с помощью крупных вокселей, имеющий худшее качество. В остальном же id Tech 6 оборудован по последнему слову техники и, будучи «молодым» ждет своего звездного часа.

2 место - Frostbite и Unity Engine

Почетное серебро в списке «Топ 10 движков в игровой индустрии» занимают сразу два движка, которые одинаково заслуживают второй позиции. Первый, Frostbite Engine, во всей красе проявил себя в Battlefield 3 и продолжает красоваться невероятно кинематографичными эффектами, а со вторым же, Unity Engine, мы знакомы скорее по его распространенности и доступности (подобно CryEngine), хотя и на нем было выпущено много прекрасных игр.

Frostbite Engine был разработан шведской компанией DICE в 2008 году для игры Battlefield: Bad Company. Движок пришел на смену Refractor Engine - уже старой технологии, с которой DICE работали всю предыдущую историю. Сейчас существует три полноценных версии Frostbite Engine (включая 1.5), а в целом движок успел проявить себя и в гонках, и в шутерах, и в ролевых играх, и даже в спортивных.

Движок от DICE является стандартной связкой графической, звуковой и прочих технологий, характерных для обычного движка. На сегодня он поддерживает 11 версию DirectX, а также имеет оптимизацию для работы с многоядерными процессорами.

Ключевыми достоинствами движка являются разрушаемость и графика. Первая составляющая является скорее ответвлением от второй, нежели полноценным аспектом, однако же именно о предельно реалистичной разрушаемости говорят, когда упоминают Frostbite Engine.

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

И хотя DICE ещё до Battlefield 3 успела проявить себя и стать популярной, именно последняя позволила ей называться настоящим разработчиком первой лиги, где разрабатываются лучшие ААА-проекты.

Только благодаря Frostbite Engine девелоперам удалось сделать доступными бои 32 на 32 игрока на огромных картах с наличием различной техники, а также разрушаемых объектов.

Не считая многих шутеров, Frostbite Engine отлично показал себя в гоночной игре NFS: The Run, а также в RPG Dragon Age: Inquisition. Сегодня актуальна третья версия движка, на которой уже успело выйти несколько интересных проектов вроде FIFA 17 и .

А теперь мы расскажем о втором движке, который потеснил Frostbite Engine и разместился с ним на одном пьедестале - Unity Engine. Движок был разработан компанией Unity Technologies в 2005 году - тогда ещё не особо известной студией, которая на сегодня имеет штат из тысячи сотрудников.

Unity Engine не был создан для какой-то конкретно игры, что характерно для наших предыдущих участников - студия разработала его исключительно для распространения.

Unity Technologies до сих пор владеет движком, постоянно модернизируя и улучшая его. Благодаря тому, что цена движка установлена на достаточно низком уровне, Unity Engine стал одним из самых (если не самым) известным движком, которым пользуются как гиганты игровой индустрии, так и инди-разработчики.

Сам по себе Unity Engine является одновременно и игровым движком, и интегрированной средой разработки, и конструктором для создания игр. Он поддерживает мобильные ОС, Windows, Linux и OS X, работает на всех консолях как нового, так и предыдущего поколения.

Если вы думаете, что никогда не сталкивались с Unity Engine, то, скорее всего, ошибаетесь, так как с ним часто работают , Blizzard, EA и многие другие компании. Последние игры от Obsidian, серия , Kerbal Space Program и сотни иных проектов - все были выпущены на Unity Engine.

Ключевым фактором, повлиявшим на популярность Unity Engine, является безвозмездность, на которой распространяется самая минимальная сборка движка.

Любой начинающий девелопер может совершенно бесплатно скачать Unity Engine и начать создавать на нем игры, тем более, что его инструментарий невероятно прост в освоении, если сравнивать с другими популярными движками.

Передовой и оснащенный по последнему слову техники, Unity Engine в первую очередь является самым ходовым движком, за что и заслужил вторую позицию в нашем списке.

1 место - Source и Unreal Engine

Позиция победителя повторила судьбу предыдущей строчки, так что речь вновь пойдет сразу о двух движках, которые в равной степени достойны назваться самым лучшим движком в игровой индустрии. Человек, хотя бы раз прикоснувшийся в компьютеру, вероятно, слышал о Half-Life - известнейшем шутере, который в свое время задвинул планку по примеру Quake или DOOM.

Именно игра о приключениях знаменитого ученого Гордона Фримена была сделана на движке Source. Второй же - Unreal Engine 3 - крепко связан с серией шутеров , которая по типу выше указанных экшенов таким же образом «задвинула планку» и стала одним из лучших представителей своего жанра.

Движок Source был разработан компанией Valve Corporation в далеком 2004 году. И хотя выше мы упомянули первую часть Half-Life, этот движок создавали уже для сиквела, но первой игрой на движке стала Counter-Strike: Source.

Первые упоминания о движке появились в 1998, когда работа над Half-Life уже подходила к концу. Множество наработок и фишек, которые изначально должны были появиться в экшене, разработчикам пришлось отбросить из-за несовершенства GoldSrc - первого движка компании. Именно поэтому сотрудники Valve решили создать такой движок, который позволил бы реализовать все их мечты и желания.

Говорить о совершенстве Source не приходится, учитывая популярность Half-Life 2. В игре было много великолепных решений и особенностей, однако главным аспектом являлся и является до сих пор именно физический движок - Havok, который Valve улучшили и адаптировали под Source.

Именно благодаря этой, похожей на Ragdoll, физике в Half-Life 2 девелоперам удалось создать интереснейшие головоломки и геймплей в целом. Помимо этого, лицевая анимация игры таким же образом оказалась передовой для 2004 года.

Другой чертой, которую отличают в Source, является искусственный интеллект, который отлично управляет врагами и друзьями геймера. Графика же, не считая упомянутой выше анимации, выделялась шейдерными эффектами.

Как и с Unity, с Source любой желающий может поработать бесплатно, загрузив специальную утилиту (Source SDK) из Steam. Сегодня же существует вторая версия Source, которая была анонсирована в 2015 году.

На Source 2 уже успела выйти игра Dota 2, а также несколько других инди-проектов от Valve. Общедоступная же версия движка пока находится в процессе разработки.

Unreal Engine - движок, за создание которого отвечает Epic Games. С проектами этой компании, являющимися одними из лучших шутеров в игровой индустрии, знакомы множество геймеров. Все игры Epic Games были разработаны на Unreal Engine, однако если вы даже не играли ни в один проект этой компании, то уж наверняка сталкивались с данным движком, так как на нем создано более сотни различных игр.

Серия Unreal, , Postal, Tom Clancy’s, BioShock, , , , Borderlands, Dishonored, XCOM, , Life is Strange, Mortal Kombat X и десятки других не менее известных, а также совсем инди-проектов были сделаны на Unreal Engine. Недурно, не правда ли?

Работающий на языке C++, Unreal Engine способен работать практически со всеми ОС для ПК, а также на множестве как топовых, так и менее распространенных консолей. На данный момент существует четыре полноценных версии движка, которые вышли в 1998, 2002, 2006 и 2014 соответственно.

Однако имеются и ответвления, являющиеся дополнениями и модернизациями «основных» версий. Unreal Engine 4 - самый молодой движок в серии, а первой игрой, вышедшей на нем, посчастливилось стать хоррору Daylight 2014 года.

В течение своего существования движок распространялся на платной основе, как и технологии конкурентов. Однако примеры Unity и CryEngine побудили Epic Games перевести Unreal Engine 4 на бесплатную основу. Существует один нюанс - приложение или игра, созданная на движке, не должна зарабатывать более трех тысяч долларов за квартал.

Видео: возможности Unreal Engine в 2017 году


Лайк, если понравилось

Все мы слышали про движки для создания игр, при этом мало кто понимает, что это такое.

Даже сами студии, занимающиеся разработкой видеоигр, дают весьма расплывчатое определение термина, точнее, толком не могут отделить саму игру от движка, на котором она строится.

Попробуем разобраться с вопросом, подходя к ситуации в роли , и рассмотрим самые популярные игровые движки : их особенности, сферы применения, слабые и сильные стороны.

Понятие

Игровой движок или game engine – это изначальное программное обеспечение, разработанное для создания на его основе компьютерных игр, зачастую определённого жанра.

Термин образовался в средине 90-х по отношению к шутерам вроде Quake, Wolfenstein и Doom .

Еще до возникновения такого понятия игровой мир заметил, что удивительно хорошо сочетали в себе:

  • трехмерную графику;
  • расчёт столкновений с объектами;
  • объемный игровой мир;
  • звуковую составляющую;
  • инвентарь (система вооружения) и другие правила.

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

Преимущественное большинство движков создаются под определённый игровой жанр и часто для указанной платформы.

Использование game engine для нескольких платформ или жанров делает его менее унифицированным и оптимальным, он не раскроет свой потенциал.

Разновидности

Движки для разработки игр специализируются на жанрах.

Например, базовое программное обеспечение и экшена будет изрядно отличаться даже в основных составляющих. Несмотря на это, все они имеют ряд общих или схожих частей (строк кода).

В любой игре есть взаимодействие объектов , управление кем-либо или чем-либо при помощи геймпада, мыши и клавиатуры, вывод картинки и звука, наложение текста, рендеринг трехмерных объектов (в 3D-играх).

С учётом этого некоторые движки успешно используются для разработки развлечений разных жанров. изначально был платформой для создания шутеров от первого лица, но Gear of War (вид от третьего лица) и Speed Star (гонка) на его основе получились полноценными видеоиграми.

Шутер

Благодаря им появилось понятие движка, с них и начнём.

В какой-то мере платформы для создания стрелялок являются наиболее технологичными, проработанными и сложными. Кроме высококачественного , к игрушке выдвигаются следующие требования:

  • функция моделирования виртуального трехмерного мира с учётом динамики развития событий;
  • наличие контроля прицеливания;
  • высокая отзывчивость игровой механики;
  • значительная четкость прорисовки и детализация рук персонажа и оружия;
  • хорошая анимация выстрелов и взрывов на основе взаимодействия частиц;
  • реалистичное поведение окружающей среды в ответ на выстрелы и взрывы, в том числе разрушаемость объектов, из-за чего к таким движкам предъявляются высокие требования в области кинематики;
  • большой выбор вооружения с разными характеристиками;
  • проработанная модель движений и взаимодействия персонажей;
  • качество искусственного интеллекта при наличии одиночной игры;
  • многообразие игровых режимов и массовость в корпоративном режиме.

Платформер

Обычно это двухмерные развлечения, к ним требования более снисходительны:

  • немало внимания уделяется внешнему виду, кастомизации, поведению и анимации главного героя;
  • разнообразие так называемых перемещающихся платформ (падающие, движущиеся по разным траекториям, исчезающие, вращающиеся);
  • дополнительные платформы в виде ступенек, верёвок, лестниц, труб и система взаимодействия с ними;
  • наличие элементов головоломок;
  • многослойная геометрия;
  • простая физика взаимодействия объектов;
  • взаимодействие с иными игровыми персонажами (диалоги, бои).

Файтинг

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

Нередки в файтингах и сетевое взаимодействие, кастомизация персонажа, появление последствий драки (царапины, ссадины), добивающие приёмы.

Гонки

Для гонок создан не один игровой движок с учётом специфики игр.

Ввиду реализации мультипоточности, PhysX отличается наличием выделенного потока без каких-либо проверок. Это позволяет выполняться ряду задач одновременно в параллельных потоках.

Тесселяция позволяет добиться , что положительно отражается на цветовой коррекции, наложении шума и зернистости на изображение в реальном времени.

Объемный туман, размытие в движении, параллакс для любой поверхности, значительная точность и высокая детализация – не все преимущества движка.

Звуковая составляющая поддерживает трехмерное позиционирование, отчего появляется ощущение трехмерного пространства и возможность вычислить источник звука.

Прочий функционал:

  • визуализация сцен с широким цветовым пространством;
  • использование десятков источников света в кадре;
  • полностью динамическое освещение;
  • размытие в движении без влияния на производительность;
  • отличное распараллеливание процесса визуализации;
  • расчёт распространения звука, его поглощение и отражение от преград;
  • множество условий боя;
  • удобная и понятная система скриптования;
  • система анализа топологии ИИ;
  • персонажи наделены зрением, слухом и прочими чувствами, что делает их серьёзными противниками;
  • групповое поведение.
  • сложность процесса портирования игр на консоли;
  • не оригинальная разработка, а усовершенствованный X-Ray (факт не доказан, но намёки на это есть);
  • поддержка DirextX12 не реализована.
  • улучшена графическая часть;
  • разрушаемость моделей и прочие преимущества PhysX;
  • нет спецэффектов ради спецэффектов (добавляются только необходимые).

Игры: серия Metro, в том числе разрабатывается Metro Exodus, и Arktika.1.

Яркий пример реализации личных амбиций и один из немногих всемирно известных движков, созданных на просторах СНГ.

Anvil

Создан дочерней компанией Ubisoft, используется для выпуска и только внутри компании.

Первой игрой была первая часть Креда Убийцы, затем появился симулятор сноуборда и Prince of Persia.

Любая из них вызвала массу удивления и привнесла в мир виртуальных развлечений немало нового.

Поддерживается на PC, PS всех версий, Nintendo, Wii и Xbox.

Код написан на C++, модели нарисованы в ZBrush, а окружающий мир – в 3ds Max. Для правильной скелетной анимации задействовано . Физику виртуального мира моделирует легендарный Havok. В последних релизах было уделено немало внимания смене времени суток, динамическому освещению и дистанционной прорисовке. Также в него была интегрирована прогрессивная схема растительности (как в Far Cry 2) с новым ИИ, важным отличием коего является усовершенствованная система навигации NPC. Реализация и отладка Direct3D 10/11 хоть и весьма затратные, работа все же была проделана.

Среди неназванных особенностей движка выделим следующие:

  • оптимизация работы на многоядерных системах, вплоть до 32 потоков;
  • запуск игр на нескольких экранах в панорамном режиме;
  • сложный шумовой туман, способный симулировать песчаную бурю без падения fps;
  • эффекты преломления, отражения и рассеивания света в воде;
  • до шести отличающихся персонажей в одной кат-сцене;
  • большинство анимаций снято с реальных актеров;
  • в одной сцене может находиться до 3 тысяч участников, что позволяет устраивать массовые баталии, лишь бы ПК справился с нагрузкой;
  • NPC активно реагируют на героя, могут нападать одновременно, а не поочерёдно;
  • технология отсечения моделей и сортировка объектов по глубине прорисовки.
  • требователен к ресурсам;
  • не лицензируется;
  • долго не поддерживал DirectX 10 и 11.
  • хорошая реализация многопоточности;
  • работает на PC и множестве консолей;
  • возможность реализации массовок при участии сотен игровых персонажей.

С Ubisoft, в плане устроить массовую заваруху и нагнать побольше людей в одно место, не сравнится никто.

Creation Engine

Довольно новый движок от американской студии Bethesda, которая продемонстрировала его возможности в Skyrim. Как и предыдущие решения, создан только для нужд его разработчика. За основу был взят Gamebryo – подспорье для Oblivion и его аддонов.

Первое, что интересно в технологии – поддержка огромных локаций с дальней прорисовкой, свободным и быстрым перемещением.

Большое внимание уделено работе с водой и снегом, а система автоматической генерации осадков, камней, деревьев и травяного покрова самостоятельно определяет пропорции создаваемых объектов в зависимости от местности.

Улучшенный ИИ, использованный в Oblivion, более правдоподобно симулирует жизнь людей и их отношение к главному герою.

Концепция управления развитием сюжета способна генерировать дополнительные задания с учётом стиля игры.

Система построения деревьев изрядно переработана в новой версии движка, что позволило разнообразить растительный мир, и разгрузить для её просчёта.

Для анимации персонажей использован посторонний инструмент от Havok.

Особенности:

  • наличие редактора уровней Creation Kit для геймеров и разработчиков модов;
  • в Fallout появился основанный на физике рендеринг;
  • масса инструментов для модостроителей;
  • простота переноса модификаций на консоли.
  • не лицензируется;
  • тяжело создавать двуручное оружие;
  • система поведения персонажей достаточно слаба.
  • есть редактор модов, которые будут работать на любой платформе;
  • большая дистанция прорисовки;
  • уникальная схема генерации деревьев и их анимации.

Ничего лучшего для моддеров пока не придумано, поэтому больше, чем для Fallout, их создано только для Oblivion.

CryEngine 4

Последняя версия движка от немецкой компании Crytek для шутеров от первого лица.

Самый удачный пример использования – .

С 2016 года движок стал распространяться по схеме «заплати, сколько не жалко», но только для игрового использования.

Особенности и возможности:

  • наличие огромных территорий, причем не коридорных;
  • локации создаются без швов;
  • поддержка инверсной кинематики персонажей и транспорта, его взаимодействия с окружающей средой;
  • имитация различных нетвёрдых объектов: ткань, вода;
  • огромный арсенал с уникальными характеристиками каждого вида оружия;
  • скриптовый и командный интеллект;
  • можно изменять параметры ИИ, не имея знаний в области программирования;
  • интерактивное музыкальное сопровождение – музыка соответствует ситуации;
  • полная поддержка звуковой системы 5.1;
  • воспроизведение звуков природы с учётом среды, отражения и поглощения звука;
  • реалистичный эффект жары и пожара;
  • прозрачность стекол – можно видеть, что находится в зданиях;
  • эксплуатация карт высот для получения многоуровневой среды с видимым расстоянием до 2000 м;
  • невероятные возможности работы с освещением и тенями, что отлично демонстрирует Crysis;
  • объемный густой туман и дым для придания атмосферы;
  • наличие необычных физических эффектов (например, нанокостюма).

С развитием сферы игростроения появилось огромное множество всевозможных движков. Выбрать подходящий бывает очень не просто. Мы расскажем вам про 5 лучших игровых движков для создания игр всех тематик. Статья хоть и называется «5 лучших игровых движков» , но все представленные здесь движки имеют право называться хорошими, достойными конструкторами сложных и простых игр. Поэтому каждый из них имеет право на существование.

Construct 2

Construct 2 – простой движок, с помощью которого можно легко создавать игры под все популярные платформы – Android , IOS , PC и многие другие. Скрипты на нем пишутся на языке . Движок имеет простой интерфейс и незамысловатую логику построения, из-за чего «супер сильные» игры создать не получится. Однако существует парочка игр, созданных на этом движке, которым удалось завоевать свой кусочек популярности. Самым успешным примером является игра Mortal Melon .

GameMaker

Движок, позволяющий создавать игры без углубленных знаний программирования. Хотя в GameMaker можно работать как над 2D , так и над 3D проектами, стоит отметить, что 3D проектирование в нем реализовано весьма сухо, из-за чего более уместно будет использовать данный движок преимущественно в качестве 2D площадки. Для итогового восприятия возможностей движка рекомендую ознакомиться с проектом BLACKHOLE .

Unity

Теперь настало время рассказать и о далеко продвинутых многофункциональных игровых движках.

Проектов на Unreal Engine было реализовано масса, и вы о них наверняка уже где-то слышали. Это такие гиганты игрового творчества как Gears of War 4, We Happy Few, Final Fantasy VII, Dead Island 2, Taken 7 и еще длинный список примеров возможностей движка.

CryEngine

По функционалу и возможностям движки похожи (CryEngine & Unreal Engine ), даже можно было бы обоим присвоить первое место. Но проекты, созданные на CryEngine , внятно показывают, какими возможностями обладает именно этот движок. Впрочем, тут все зависит от таланта и опыта работы, ибо теоретически оба движка способны на прорыв в игровой индустрии. Я хочу сказать, что не стоит забывать, что всякая теория должна быть доказана практикой, с чем CryEngine справился на ура. Поэтому мы и присвоили ему почетное первое место в списке 5 лучших игровых движков.

Вот некоторые проекты, реализованные на CryEngine: CrySis, Star Citizen, Sniper: Ghost Warrior 3, Ryse: Son of Rome, Warface, первая часть FarCry и многие другие.

Написание скриптов ведется на языке C++.
Напоследок, скажу, что хороших движков для создания игр существует моря и горы, однако они относительные и во многом проигрывают движкам, представленным на призовых местах данной статьи.Кроме того, предлагаю вам также посмотреть видео на эту тему:

КАТЕГОРИИ

ПОПУЛЯРНЫЕ СТАТЬИ

© 2024 «kingad.ru» — УЗИ исследование органов человека