Как выбрать движок для создания игры

21 April 2018

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

Игровой движок содержит множество вспомогательных средств для разработки игры практически любого качества, однако, любой игровой движок весьма сложен и почти всегда требует знания программирования. Примеры популярных игровых движков: Unity, Unreal Engine, CryEngine, Godot, Source.

Конструктор игр позволяет создавать игры, используя готовые настраиваемые элементы и задавать логику путём использования специальных элементов, поэтому, как правило, программирование в конструкторах игр сведено к минимуму. Это приводит к тому, что зачастую определённые конструкторы игр заточены только на очень узкую направленность (жанровую, например) и имеют ограниченный функционал. Однако это не означает, что на них нельзя сделать хорошую игру. Примеры конструкторов игр: Scirra Construct, Game Maker Studio.

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

Unity

Пример игровой графики на движке Unity
Пример игровой графики на движке Unity

Пожалуй, начну с этого движка, и на это есть две причины:

1. Я сам на нём работаю, и знаю про него несравнимо больше, чем про остальные.

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

Unity позволяет создавать как 3D, так и 2D игры любого жанра. В отличии от CryEngine, Unreal Engine, Source, которые изначально были движками для игр жанра "шутер", Unity сразу разрабатывался для возможности создать игру любого жанра, и поэтому на нём разработка аркад, стратегий и так далее выходит более естественной. Движок использует язык программирования C#.

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

Приятной особенностью является кроссплатформенность движка. Это означает, что вы сможете сделать игру для компьютера, браузера, любого телефона, планшета и даже для консолей. Поддерживаются Windows, Linux, Mac OS, iOS, Android, XBox, PlayStation и другие системы и платформы.

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

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

Unreal Engine

Скриншот из игры на Unreal Engine. Об этом свидетельствует даже логотип слева.
Скриншот из игры на Unreal Engine. Об этом свидетельствует даже логотип слева.

Пожалуй, главный конкурент Unity на сегодняшний день. Долгое время он значительно опережал предыдущий движок в графическом плане, но в последние годы команда Unity сделала сильный рывок вперёд и почти сравнялась с Unreal Engine (UE). Примеры игр на Unreal Engine - Fortnite, Mass Effect, Gears of War, Bioshock Infinite и так далее, этот список огромен и говорит сам за себя - Unreal Engine позволяет разрабатывать игры AAA-качества.

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

И всё же, если вы усидчивы и терпеливы, то вы вполне можете изучить этот движок. В нём используется вариация языка программирования C++, но так же есть визуальное программирование с помощью BluePrint, что является весомым достоинством этого движка.

Используется преимущественно для разработки 3D игр, основная жанровая направленность – шутеры. Но на UE вполне возможно создать игру другого жанра.

Рекомендую к изучению, если вы терпеливы и вам нужно качество "из коробки".

CryEngine

Crysis – игра, разработанная на CryEngine
Crysis – игра, разработанная на CryEngine

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

Движок использует языки программирования C++ и Lua, позволяет так же разрабатывать игры любого жанра, но разобраться в нём самостоятельно, как и в Unreal Engine, весьма непросто. Документации по этому движку меньше, чем по предыдущим двум, равно как и размер сообщества.

Движок ориентирован на компьютеры и консоли, для мобильных и браузерных игр его использовать нельзя. CryEngine используется в основном для 3D игр жанра "шутер", реализация других жанров затруднительна. Помимо этого, имеются неясности с лицензированием, проще говоря - непонятно, можно ли продавать игры, сделанные на нём, и как именно это сделать, не нарушив лицензию. Однако, Crytek работают над этим, и сейчас с этим становится проще разобраться.

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

Godot

Скриншот из редактора Godot.
Скриншот из редактора Godot.

Молодой, набирающий популярность движок. Имеет ряд современных технологий в своём арсенале, позволяет разрабатывать 3D и 2D игры для ряда различных платформ, не очень сложен в освоении. В новых версиях возможно использование языка программирования C#.

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

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

PlayCanvas, Phaser, PixiJS

Игра, разработанная на PlayCanvas
Игра, разработанная на PlayCanvas

Все эти движки объединяет одно - они предназначены для разработки браузерных игр. Нацелены эти движки преимущественно на 2D, но за счёт появления технологии WebGL, некоторые из них постепенно вводят возможность разработки 3D-игр.

Любой из этих движков довольно прост в освоении и содержит полную документацию на своём сайте. Языки программирования, обычно используемые в них – JavaScript/TypeScript.

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

Game Maker Studio, Scirra Construct

Интерфейс Scirra Construct 2
Интерфейс Scirra Construct 2

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

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

Используются данные конструкторы почти всегда для разработки 2D-игр. Если программирование для вас является сложным, то конструкторы игр – отличный выбор. Они позволят безболезненно войти в сферу создания игр. А уже потом, когда вы начнёте разбираться, можно присмотреть игровой движок посерьёзнее.

Заключение

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

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

Удачи и весёлой разработки игр!

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

Связаться с нами можно здесь: vk.com/insanetech