Какой игровой движок лучше
Создать свою видеоигру может каждый. Инструменты для разработки доступны всем желающим: многие из них полностью или условно-бесплатные. С одними редакторами разработка занимает вечер, другие требуют основательного подхода и команду профессионалов. Мы подготовили список самых популярных в 2021 году игровых движков специально для начинающих разработчиков.
Минусы:
История движка заслуживает отдельного упоминания. Как-то раз двое парней захотели сделать собственную видеоигру, но инструменты, которые были в то время, им не подходили. Они решили создать собственный игровой движок, а уже потом работать на нем. После окончания работы ребята решили, что заниматься движками им интереснее.
Unity 3D — игровой движок, наиболее популярный среди инди-разработчиков. Его достаточно сложно освоить, но в этом помогают большое количество гайдов, документации и видеоуроков. Основной язык программирования — C#, но имеющийся функционал позволяет создавать прототипы, не написав ни единой строчки кода. Встроенный магазин ассетов содержит десятки тысяч платных и бесплатных моделей, шейдеров и прочих готовых ресурсов, что экономит время.
Универсальность Unity — ее же основная проблема. Хотите сделать что-то нетривиальное — готовьтесь перепиливать движок специально под нужды своего проекта.
Игры на Unity 3D: The Forest, Гвинт, Escape from Tarkov, Ori and the Blind Forest.
Минусы:
Выбирайте этот движок, если хотите добиться фотореалистичной графики. Вышедший на этом игровом движке в 2013 году Crysis 3 не уступает современным видеоиграм по качеству графики (и требованиям к конфигурации ПК). CryEngine позволяет создавать игры с попиксельным освещением в реальном времени, картами отражений и собственной технологией трассировки лучей.
Еще одна особенность игрового движка CryEngine 3 — упрощенное создание продвинутого AI внутри игр за счет комбинации XML и LUA скриптов.
Игры на CryEngine: Prey, Crysis, Far Cry.
Какой игровой движок выбрать?
Всём привет! Меня зовут Дядиченко Григорий, и я CTO Foxsys. В разработке я порядка 8 лет, а занимаюсь игровой или AR/VR разработкой последние лет 6. Сразу скажу, что в данной статье нет простого ответа “этот игровой движок лучше”, и она не претендует на объективность. Я лишь расскажу мнение с точки зрения технического директора и человека за плечами которого порядка 40 коммерческих проектов. Если вам интересно — добро пожаловать под кат.
Как выбираются технологии для проекта?
Любой специалист высокого уровня знает, что не существует “лучшего языка программирования”, “лучшего фреймворка” и так далее. Но есть технологии, которые лучше всего под конкретику проекта. Вообще для каждого конкретного проекта в плане выбора технологий я бы порекомендовал дать это сделать экспертам, то есть техническим директорам. Потому что выбор технологии под конкретный проект требует очень широкой экспертизы и знание огромного количества контекста. В целом ошибка в выборе технологической базы чаще всего не смертельна и ведёт просто к дополнительным издержкам на реализацию проекта, но тем не менее.
В целом в выборе технологий со своей точки зрения я руководствуюсь двумя основными подходами: технологический и бизнесовый.
Под технологическим я подразумеваю какая технология лучше всего подходит под проект. Допустим на ней есть необходимые библиотеки, большая часть необходимого функционала готова из коробки, что технологически реализуемо и так далее.
Бизнес-часть принятия решения составляет из себя ответы на вопросы: “Насколько просто найти специалистов на рынке на данной технологии?”, “Какую технологию дороже поддерживать?”, “Какой экспертизой на данный момент обладает команда?” + возможности партнёрства и прочие бизнес-причины.
Продумав все вопросы выбор обычно сводится к достаточно небольшому списку технологий, подходов к разработке и фреймворков. То есть не существует ответа на вопрос “Какой игровой движок лучше?”, так как всё зависит от задачи и множества сопутствующих факторов.
Какой движок лучше выбрать новичку?
Конечно, с моим бекграундом в 6 лет Unity разработке можно было бы предположить, что выбор уже решён и что тут дальше читать то. Но мой ответ вас, возможно, удивит. На данный момент я считаю, что, если вы совсем новичок, ещё не погрузились ни в один движок и только начинаете свой путь лучшим выбором будет Unreal Engine. И пока сообщество не начало обвинять меня в предательстве я объясню свою точку зрения.
Я считаю, что эти движки в большинстве задач связанных с 3д графикой по сути идентичны. Чуть ниже я подробнее распишу почему. Мой выбор на данный момент связан не столько с технологическими причинами, сколько с работой компаний со своими комьюнити. И на данный момент я вижу в разы больше интересных программ, активностей, образовательных мероприятий и прочего со стороны Epic Games. На Unity, конечно, сидит почти весь мобильный геймдев, в 3 раза больше вакансий чем на UE и так далее. Но думаю, это со временем изменится. Да и 134 (на момент написания статьи) открытых позиций это немало. Современная разработка устроена так, что в целом вы можете учить что угодно, что вам больше нравится, и вы всегда найдёте себе работу. Поэтому это мнение на тему новичков, так как если вы выбрали для себя Unity — это отличный выбор. 6 лет работаю на Unity и горя не знаю. А вот для совсем новичков я вижу просто больше образовательных возможностей и интересного со стороны эпиков. Но всё может измениться.
С точки же зрения опытного разработчика в определённый момент конкретные технологии, фреймворки и языки — это вопрос вашего удобства. Перескочить на другую технологию для сеньора можно где-то за полгода, если он глубоко знает фундаментальные основы Computer Science. И смысла перепрофилироваться я тоже не вижу, потому что потребность в Unity специалистах большая, и движок отлично справляется со своими задачами.
На Unreal Engine лучше графика?
Небольшая оговорка. Всё что будет ниже не относится к новой технологии рендера, хотя пока по отзывам от знакомых UE разработчиков она работает не так красиво и хорошо, как хотелось бы.
Это чистой воды миф совершенно непонятно откуда взявшийся. В 3д графика движка настолько хороша, насколько хорош его свет и Post Processing. И с точки зрения что не особо напрягаясь и где можно накрутить, они для меня практически идентичны. Вот собственно наилучшее сравнение, которое я находил.
Что же лучше для проекта?
Всё всегда зависит от специалистов и бюджетов. И если мы берём среднебюджетный проект (коих сейчас большинство), то я вообще не вижу разницы между движками. Если мы берём аутсорс которым я занимаюсь, то вообще без разницы. В те бюджеты, которыми обладает средний проект у вас не будет даже возможности добраться до багов движков, до проблем с невозможностью что-то сделать, да и вы не будете этим заниматься. Любой эксперт при имеющемся бюджете знает, как сделать проект на технологии Х в этот бюджет качественно.
Единственное, хотя я немного не в контексте движка UE, но я бы его не стал бы брать для 2D проектов в принципе. Так как последние время Unity выпускает много крутых инструментов для 2D разработки. Поэтому мне кажется, что пока в этой области UE рассматривать нет особого смысла. Есть конечно менее популярные движки для этой задачи типа Defold или же Game Maker, но их я бы не стал брать по бизнес-причинам. Потому что я не уверен, что не столкнусь с проблемой того, что мне неоткуда будет расширять команду, так как специалистов на них днём с огнём не сыщешь.
И оба движка я бы в целом не рассматривал бы для web проектов. Если в UE я просто не знаю, что с поддержкой веба (может её там и нет) То с Unity прикол в двух основных проблемах. Первая, что там до сих пор нет поддержки мобильных браузеров. Да, на топовых телефонах оно даже как-то работает, но это очень рискованная затея брать технологию, которая официально не поддерживается для продакшен решения. А второе и самое главное — это время загрузки. Основной прикол веба в быстрой доставке контента до пользователей (помимо того, что там нет ограничений и правил сторов). Поэтому время загрузки Unity убивает эту фишку напрочь. Для веб проектов я чаще всего беру pixi.js, three.js, playcanvas и react. Что в этом списке забыл реакт? Это длинная история для другой статьи, если кому-то это интересно.
Собственно, по этим же причинам я для себя пока не вижу смысла переходить с Unity. За 40 коммерческих проектов разного масштаба я ни разу не упирался в стену, чтобы что-то было нереально сделать на Unity и реально на Unreal Engine. Плюс для меня, как для бывшего С++ разработчика (невысокого уровня) основным минусом UE является С++. C# как язык в разы приятнее. Кто знает undefined behavior и сложные утечки памяти, тот поймёт.
Опять-таки, если вы разбираетесь в компиляции, исполняемых средах и прочем, вы знаете, что на самом деле к любому движку можно прикрутить почти любой язык (а точнее его подмножество) Но это странно брать движок и писать для него библиотеки на языке не поддерживаемом этим движком. И тут мы переходим к последнему и самому спорному.
Открытые исходники — это хорошо?
Нет, нет и ещё раз нет. И в этом я довольно категоричен. Даже беря в работу Unreal Engine, я рассматриваю его как чёрный ящик. Потому что фреймворк берётся в работу не для того, чтобы поддерживать свою версию этого фреймворка. Наличие такой возможности для компаний, которые могут заниматься подобной деятельностью есть и в Unity, но вы никогда не хотите этим заниматься. И причин этого целая масса. Начиная от ада с конфликтами версий в случае необходимости переезда на новую версию. Движок берётся не для того, чтобы исправлять его баги. Безусловно важной является не открытость исходников, а возможность надстройки своей системы поверх движка. И этой возможностью обладают и юнити, и анреал. Открытость к расширению и закрытость к модификации так сказать. Потому что в этом случае обновляться можно спокойнее, хотя обновление — это всегда важный шаг в отношениях с любой технологией, и делать это надо крайне осторожно.
Подводя некий итог
На чем делаются современные игры: 3 самых популярных игровых движка
Игровой движок — это базовое ПО, на котором разрабатывается и действует игра, общее название для совокупности нескольких подсистем (звуковая, графическая, физическая и прочие). В современных игровых движках эти подсистемы — модульные, и качество проработки у них различается от движка к движку.
Разберем три самых популярных открытых игровых движка: Unreal Engine 4, Cryengine 5 и Unity и оценим их по следующим пунктам:
Unreal Engine 4
Легенда в мире игровых движков: разработка движка ведётся аж с 1998 года и не спешит умирать. Победитель битвы «Графон VS Мыло» и вообще славный парень. Подходит для любых задач. Известен своей любовью к оранжевому фильтру и гипертрофированным мужикам (шутка).
Плюсы
Минусы
Прекрасный игровой движок, что заслуживает внимания. Но это профессиональный инструмент, что работает с сотнями тысяч дополнений и расширений. Не стоит ждать, что уже завтра получится сделать игру мечты, но информации и библиотек по движку, наверное, больше всех остальных. Обязательный must have.
Cryengine 5
Самый красивый парень на районе, но очень требовательный. Позволяет вырисовывать нечто грандиозное, а не только реалистичных лягушек. Когда-то был главным конкурентом Unreal Engine, но сейчас находится не в лучшей форме, хоть и продолжает развитие.
Интерфейс скучен и невыразителен, что больше подходит закрытым движкам внутренних студий, а не массовому продукту. Но за скучным внешним видом скрывается вполне логичный продукт, что позволяет освоить движок за считанные месяцы. Несмотря на позиционирование движка как универсального, остаётся лучшим средством для создания шутеров, для иных целей пригоден мало. Знание языка программирования С++ необходимо.
Плюсы
Минусы
Да, ужасный игровой движок, что должен был давно отправиться к Создателю, но почему-то ещё борется. Я помню еще CryEngine 2 и CryEngine 3, которые должны были стать прорывом в игровой индустрии. Но разработчики сами и убили всё и вся, а теперь пытаются спешно догнать давно ушедший поезд. Использовать стоит только устаревшую вылизанную версию CryEngine 3: уроков для этой версии в Сети много.
Unity
Самый молодой и горячий игровой движок. Получил широкую популярность благодаря своей простоте и многофункциональности.
Несмотря на серость, будто здесь побывал дементор, интерфейс очень прост и понятен. Разработка на движке не требует знаний в программировании: для Unity существуют дополнения, позволяющие задействовать аналоги Blueprints (построение игровой логики с помощью наглядных схем).
Плюсы
Минусы
Современный открытый игрострой представляет собой стул на 3 ножках — графики, простоты, удобства. Но игровой движок не сделает за вас игру, только вы сами способны реализовать свои идеи. Всё будет зависеть от вашего терпения, трудолюбия и напора.
Unity — самый популярный игровой движок? Обзор движков, на которых делают игры для Steam
Какие движки наиболее популярны в 2021 году — да и вообще в последнее десятилетие? Очевидно, по всем параметрам лидирует Unity. Unreal, в свою очередь, — пожалуй, наиболее очевидный выбор для AAA. О таких выводах догадаться несложно, даже не имея на руках никаких численных данных. Но что, если все-таки попытаться их собрать?
Сайт gamedatacrunch.com максимально приблизился к реализации этой задачи, и его основатель Ларс Дусе на днях выкатил анализ движков paid-игр в Steam, выпущенных с 2010 года. В этой статье по нему мы тоже пройдемся, но и вспомним о том, какие еще движки сейчас в обиходе (и не только в Steam).
Итак, самый популярный движок не только в мобильной игровой разработке (где он занимает более 50% рынка), но и на Steam для ПК — Unity. Здесь никакой интриги нет, это видно и из диаграммы ниже, на которой показана популярность игровых движков в Steam по годам, начиная с 2010. Как мы видим, Unity действительно является доминирующим движком, начиная с 2016 года. Статистика эта все еще не безукоризненно точная (Unknown — игры, движки которых не удалось идентифицировать), но в определенной степени на нее можно полагаться.
Почти то же самое, но в виде круговой диаграммы:
Какие движки мы вообще здесь видим?
Из минусов? Да, движок довольно прост в освоении, но если вы хотите создавать что-то сложнее примитивных платформеров, то вам понадобится хорошее знание C# для написания скриптов и объектов и последующего внедрения их в игру. Также нужно понимать, что Unity — уже довольно старый движок, поэтому в нем есть свои особенности и артефакты, а вместе с тем — порядочная медлительность и необходимость допиливать некоторые инструменты своими силами. Например, игры, использующие uNet для работы в сети, вскоре должны будут поддерживать инфраструктуру самостоятельно, поскольку поддержка этого инструмента постепенно прекращается.
Fall Guys: Ultimate Knockout
Escape from Tarkov
Ori and the Blind Forest
Unreal Engine (Epic Games). Названный в честь игры 1998 года, в которой он и был впервые использован, Unreal Engine с годами все больше снижал лицензионные сборы и требования к revenue, так что теперь доступен практически для каждого, кто хочет создавать на нем игры. Тем не менее, чаще он используется все-таки для AAA-проектов.
В нем заложен практически тот же инструментарий, что и в Unity: работа с физикой, 3D-графикой и не только, — но существуют и некоторые другие решения, способные склонить разработчиков в его пользу. Впрочем, для всего этого уже требуется определенный уровень скиллов. Это мощный движок для создания высокореалистичных игр «из коробки», поддерживающий быстрое прототипирование и визуализированный кодинг, а также имеющий обширную кастомизацию. Его широко используют не только в ПК, консольной и мобильной игровой разработке, но и вне геймдева: например, в кино (один из наиболее ярких и свежих тому примеров — сериал «Мандалорец»), архитектуре и автомобильной промышленности.
Final Fantasy VII Remake
Star Wars Jedi: Fallen Order
GameMaker Studio (YoYo Games). Выпущенный в 1999 году, GameMaker ориентирован на начинающих разработчиков и обладает интуитивно понятным Drag & Drop: для его использования нет необходимости написания каких-либо скриптов и тонн кода, как и вообще знания языков программирования. Готовую игру можно сразу экспортировать в Steam.
В нем нет таких возможностей для работы с 3D, как в Unity и Unreal: вместо этого он фокусируется на 2D-играх. Другой недостаток — высокая цена при работе с несколькими платформами. Но если вы готовы заплатить за покупку нескольких лицензий, то GameMaker Studio 2 может оказаться неплохим решением для кроссплатформенной игровой разработки.
Hyper Light Drifter
Ren’Py (Tom «PyTom» Rothamel). Запущенный в 2004 году под лицензией Массачусетского технологического института (MIT), Ren’Py (от англ. Ren’ai (恋愛) — «романтическая любовь» по-японски, и Python, на котором он построен) — это кроссплатформенный бесплатный движок с открытым исходным кодом для создания визуальных новелл с более чем 450 играми в Steam и более 4800 в целом. Как конструктор типичного представителя жанра, движок интуитивно понятен для любого пользователя, но для создания более сложных игр требует уже знания Python.
Ladykiller in a Bind
Long Live the Queen
Analogue: A Hate Story
RPGMaker. Самый старый из этого списка, разработанный аж в 1992 году, RPG Maker представляет собой скорее серию связанных движков, ориентированных на создание JRPG (японских ролевых игр). У него было несколько издателей на протяжении многих лет в разных странах, включая неавторизованные локализации. Прост в освоении даже новичками, не требует знания языков программирования и в целом представляет собой скорее конструктор для создания игр определенного жанра, благодаря чему и пользуется особой популярностью.
Adobe AIR (раньше Adobe, с 2020 года — Harman International). Adobe Integrated Runtime (AIR) вышел в 2008 году и позволил разработчикам Flash/ActionScript перенести на ПК написанные на различных языках программирования web-приложения, не требуя их запуска через браузер, так что многие из самых популярных игр Steam являются адаптациями браузерных игр на Flash. Это кроссплатформенная среда, позволяющая небольшими усилиями создавать билды для Windows, OS X, Linux, QNX и Android.
The Henry Stickmin Collection
OGRE. Объектно-ориентированный графический движок с открытым исходным кодом, на котором базировался Roblox вплоть до 2014 года. Имеет неплохие возможности, такие как поддержка OpenGL и Direct3D, совместимость с платформами Windows, Linux, Mac OS X и iOS, программирование GPU и шейдеров на ассемблере и языках высокого уровня, и многое другое. Это не игровой движок как таковой — это графический движок для рендеринга трехмерной графики. В нем нет встроенной поддержки сети, звука и многих других функций, но есть портированные под движок библиотеки, расширяющие его функционал: PhysX SDK, OpenGUI и другие.
Rebel Galaxy Outlaw
MonoGame. Не столько игровой движок, сколько реализация все того же фреймворка Microsoft XNA c открытым кодом, который широко используется инди-разработчиками для кросс-платформенной разработки. Включает в себя редактор среды, графический пользовательский интерфейс, систему частиц, физику и многое другое. Отличается большой гибкостью, так что часто выступает в качестве основы для других игровых движков.
KiriKiri (w.dee). Еще один «классический» японский движок-конструктор для создания визуальных новелл, JS-ориентированный и с встроенным Drag & Drop. С 2013 года реинкарнировал в KiriKiri Z.
И другие
CryEngine (Crytek). На самом деле, согласно другим данным по Steam, CryEngine тоже занимает на этой платформе далеко не последнее место. Как и Unreal Engine, CryEngine тоже нацелен на AAA-сегмент, но, в отличие от него, имеет меньше обучающих материалов, в целом сложнее для изучения, да и комьюнити не такое дружественное, как у соперников. Это кроссплатформенный движок, заточенный больше всего на создание фотореалистичных шутеров от первого лица: в комплекте с базовой версией движка даже идет GameSDK — полноценный шутер, который можно адаптировать под ваши нужды. Впрочем, мобильные платформы и портативные консоли в его кроссплатформенность не входят.
Впоследствии лег в основу Amazon Lumberyard. С выпуском в 2016 году CryEngine V перешел на модель распространения «плати сколько хочешь».
Kingdom Come: Deliverance
Sniper Ghost Warrior
Amazon Lumberyard (Amazon). Бесплатный кросс-платформенный движок класса AAA, разрабатываемый Amazon с 2016 года. В его основу легла архитектура CryEngine. Хороший выбор не только для AAA-сегмента, но и для старт-апов и инди-студий. Как минимум, о многом говорит то, что Star Citizen перешла именно на него.
Тем не менее, страдает движок от тех же недостатков, что и CryEngine: небольшое комьюнити, мало материалов, меньший уровень надежности, чем у более популярных конкурентов.
Godot (MIT). Довольно новое решение в экосистеме игровых движков, но имеющее ряд интересных особенностей. И пусть пока Godot не может похвастаться какими-то особыми игровыми хитами, он обладает всеми возможностями передовых движков — при этом он полностью бесплатный, с открытым исходным кодом и довольно легок в освоении. Тем более, вокруг него уже собралось крепкое комьюнити и существует довольно много полезных инструментов.
Godot поддерживает несколько языков программирования: C#, C++, GDScript, основанный на Python, и язык визуального программирования. Все игровые ресурсы хранятся в папке проекта в виде обычных файлов, что во многом упрощает работу с системой управления версиями для разработчиков. Из минусов: пожалуй, можно отметить, что он даже слишком заточен на новичков.
Carol Reed Mysteries
1000 Days To Escape
Здесь мы сосредоточились на игровых движках, наиболее популярных в Steam, но список существующих движков непрерывно растет. Многие крупные игроки на рынке геймдева пользуются собственными движками: Electronic Arts — Frostbite, CD Projekt RED — REDengine, Remedy Entertainment — Northlight. Одни движки уходят, на смену им набирают популярность другие, разрабатываемые как компаниями, так и независимыми разработчиками на коленке, на основе старых и с нуля.
Топ-9 JS-движков и библиотек для игр в 2020 году
Команда Mail.ru Cloud Solutions перевела статью Фернандо Доглио о том, какие игровые библиотеки и движки можно считать лучшими для разработчика JavaScript.
Хотя топ-компании из сферы разработки компьютерных игр не используют JavaScript в качестве одного из основных языков, сама идея использовать его для геймдева не такая уж безумная. На самом деле, в последние несколько лет браузеры и мобильные устройства стали включать в себя такие функции, как WebGL, чтобы расширить возможности графики.
Поскольку производители браузеров делают их доступными для разработчиков через API JS, мы можем создавать продвинутые игровые возможности прямо здесь, в вашем браузере.
Итак, в этой статье вы найдете список игровых библиотек для каждого разработчика JS, желающего заняться разработкой игр, по крайней мере, в качестве хобби.
Выбор лучшей библиотеки или движка полностью зависит от вас. Вы — единственный, кто знает, какую игру хотите создать, и какой у вас уровень понимания внутренней архитектуры игры. Выбирайте те инструменты, которые выглядят наиболее подходящими для ваших потребностей и вашего уровня.
GDevelop предоставляет отличный набор инструментов для любых пользователей — от новичков до продвинутых.
Судя по рекламным заявлениям, платформа позволяет создать игру любого типа, однако, этот игровой движок в первую очередь нацелен на создание 2D-игр, таких как платформеры, шутеры и обычные 8-битные игры.
В качестве дополнительного бонуса GDevelop дает возможность экспорта в различные платформы, такие как Android, iOS, Facebook Instant Games и другие.
Кому подходит. Вариант для тех, кто заинтересован в создании работающих игр, которые можно экспортировать и продвигать в различных платформах, но не хочет углубляться в вопросы геймдева, например, разбираться в низкоуровневой архитектуре игрового движка.
Еще один игровой движок для 2D-игр. Подключая эту библиотеку к своему коду, вы получаете доступ ко всем фичам, таким как поддержка физики, столкновения, спрайты и другие, важные в действительно стоящих играх.
Хотя документация может быть не самой лучшей из имеющихся, вокруг продукта создано много юзер-контента, помогающего понять, что вам делать. Я, конечно, тоже внес свой вклад в это, написав такие статьи (на англ. — прим. переводчика):
Кому подходит. Эта библиотека очень дружелюбна к новичкам, но в то же время очень мощная. Хороший выбор, если вы думаете о создании 2D-игры и геймдев для вас в новинку.
ImpactJS — игровой движок JavaScript, в основном ориентированный на разработку 2D-игр, как и библиотеки выше. Но есть плагины, которые вы можете добавить в Impact для имитации 3D-среды, например как здесь:
Интересно отметить: Impact поставляется с несколькими дополнительными инструментами, такими как редактор уровней для любой 2D-игры, мощный дебаггер, а также очень интересный фреймворк для публикаций Ejecta, позволяющий размещать игры в iPhone App Store.
Невероятно мощный движок веб-рендеринга. Это не игровой движок или игровая библиотека, но вы можете создавать игры на его основе. Поскольку это движок рендеринга, а не библиотека для игр, у вас будет доступ к низкоуровневому функционалу, в частности связанному с визуализацией.
Кому подходит: Вы сначала строите свой движок, а потом уже игру, поэтому у вас есть контроль над тем, что и как происходит. Это здорово для продвинутых создателей игр, но если вы не из них, разработка с помощью BabylonJS может быть контрпродуктивной. Посмотрите на этот пример — он выглядит изумительно. Но взгляните на счетчик линий кода слева — более 1000 строк всего лишь для демки:
Возможно, это ничего, если учесть, сколько кода содержится в топовых играх в наши дни. Если думаете, что будет желание и время писать такой код, то это прекрасный бесплатный инструмент для получения потрясающих результатов. В противном случае держитесь от него подальше.
Это крутой игровой движок, созданный сообществом и готовый для всех ваших десктопных и мобильных задумок. Он поддерживает как WebGL, так и Canvas для устройств, не поддерживающих WebGL, ориентирован на разработку 2D-игр.
Интересно отметить: сам фреймворк является бесплатным и поставляется со всем нужным для создания игр, кроме того, существуют плагины, которые можно добавить к нему, чтобы получить улучшенные или дополнительные функции. Однако такие плагины не бесплатны.
PixiJS — удивительно гибкая и мощная библиотека для 2D-визуализации. Она работает с WebGL и предназначена для создания красивых веб-интерфейсов, которые необязательно должны становиться играми. Хотя библиотека поддерживает ряд игровых элементов, такие как спрайты, текст и даже некоторые продвинутые, например шейдеры.
При этом вам нужно создать свой собственный физический движок, придется позаботиться об обнаружении столкновений и другой игровой механике, например — о проверке правильности построения игрового цикла.
Кому подходит. Это хороший вариант, если вы не создаете сложную игру и вас больше беспокоят визуальные аспекты, нежели более сложные игровые механики.
Среда для разработки игр, которая целиком находится в вебе. Это означает, что вы используете ее как платформу для написания кода, тестирования, настройки своих сцен (у них сумасшедший подробный 3D-интерфейс на WebGL) и даже для экспорта игр в один клик.
Как и некоторые другие варианты, которые я рассматриваю в этом списке, PlayCanvas полностью совместим и готов к созданию VR-приложений, что, похоже, растущий тренд в области разработки игр.
Интересно отметить: небольшой недостаток PlayCanvas — он не полностью бесплатный. Вы, естественно, можете использовать его на некотором бесплатном уровне и делать там публичные проекты, но забудьте о том, чтобы держать их в секрете или даже убрать их экран загрузки, пока вы не начали платить ежемесячную плату.
У некоторых из предыдущих вариантов есть совместимость с VR в качестве дополнительного функционала. А вот A-Frame был создан именно с учетом VR и AR. Это означает, что фокус всего фреймворка смещен.
Конечно, можно создавать на нем и 3D-игры, но максимальную пользу можно извлечь, если использовать WebXR-совместимые браузеры или даже экспериментальные фичи в последних версиях Chrome, обеспечивающие поддержку WebXR AR.
Поскольку A-Frame был разработан для использования в браузере, он имеет синтаксис, похожий на синтаксис HTML-верстки. Поэтому вместо того, чтобы сильно полагаться на JavaScript, он использует некоторые пользовательские элементы разметки, как видно здесь:
Кому подходит. Этот фреймворк — отличный вариант, если вы заинтересованы в опыте с VR/AR вместо старых добрых 3D-игр. Поскольку A-Frame специально разработан для этого, он сделает вашу жизнь намного проще. Попробуйте!
Наконец, в качестве последнего варианта я хочу рассказать не о графически-ориентированном движке, а о чем-то другом. PhysicsJS, как видно из названия, фокусируется на физическом аспекте взаимодействия объектов. Вы можете использовать эту библиотеку для разработки игр или любого другого типа моделирования, которое вы захотите создать.
Как видно на демо-странице, эта библиотека готова к реализации некоторых интересных взаимодействий. Как написано в документации, вы можете использовать различные типы средств визуализации в зависимости от того, что вам нужно.
Вы даже можете использовать PixiJS для рендеринга или создать собственный инструмент, если хотите интегрировать его с другими библиотеками из тех, о которых я говорил выше.
Эта библиотека может быть немного устаревшей, однако, законы физики совсем не поменялись, поэтому эффекты, которых можно достичь с помощью PhysicsJS, очень натуральны.
Кому подходит. В общем — хорошее решение, если вы хотите добавить сложную физику в свою игру или пытаетесь создать собственный движок, используя различные библиотеки, например, PixiJS и другие. PhysicsJS поможет автоматически разрешать все типы взаимодействий 2D-физики, которые только понадобятся.
Это далеко не полный список возможных вариантов. Если вы использовали другие библиотеки или фреймворки для разработки игр, поделитесь ссылками в комментариях. 🙂







