Поиск по сайту:

Какой игровой движок выбрать?


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

Единство

Unity занимает первое место в этом списке по ряду причин. Это, безусловно, самый популярный движок — вы обнаружите, что любая случайная инди-игра, вероятно, работает на Unity. Он поддерживается массой поддержки сообщества и, вероятно, является одним из самых простых в освоении. Это дает ему репутацию движка для малобюджетных 2D-игр, но это не совсем так. Unity очень доступен, поэтому он используется для создания хороших игр и не очень. Разработчик должен сделать игру хорошей, а не движок.

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

Вам обязательно нужно изучить C#, чтобы использовать Unity. Хотя в магазине активов есть несколько расширений визуальных сценариев, они не так хорошо интегрированы, как чертежи UE4. Одна вещь, которая обрабатывается с помощью графа, — это новая функция графа шейдера, которая позволяет вам писать функции шейдера, не касаясь кода.

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

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

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

Каким бы ни был ваш вариант использования, вы, вероятно, не ошибетесь, выбрав Unity для своей игры. Это бесплатно, если вы зарабатываете менее 100 000 в год, что отлично подходит для независимых разработчиков. Если вы зарабатываете больше, это 420 долларов в год и 1500 долларов, если вы зарабатываете более 200 тысяч.

Нереально

Unreal — это движок, на котором работает Fortnite от Epic Game. В отличие от невмешательства Unity в проектирование движка, Unreal пытается сделать все возможное, чтобы упростить вашу работу. Это дает ему репутацию неуклюжего и сложного в освоении, но это не совсем так.

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

Класс Character разработан для 3D-шутеров от первого лица и требует от вас использования компонента столкновения капсул и встроенной в Unreal системы движения персонажей, которая определенно не подойдет ко всему и ее неудобно расширять. Но это только здесь для людей, которые будут полностью удовлетворены основным движением. Если нет, то Character является дочерним по отношению к классу Pawn (используемому для самого объекта игрока), поэтому вы можете использовать этот класс вместо этого и управлять движением по своему усмотрению.

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

Вот как они выглядят:

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

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

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

Мультиплеер хорошо обработан и встроен в движок с самого начала. Переменные можно настроить для репликации между клиентами, и все, что наследует Актер, будет реплицировать движение между клиентами. Функции могут быть настроены на выполнение на сервере, многоадресную рассылку всем или репликацию на клиента-владельца в случае субъектов, существующих на сервере и клиенте.

Эта функция гораздо более нишевая, но она достаточно крутая, чтобы мы должны были ее упомянуть. Сам редактор имеет полную поддержку VR, поэтому вы можете создавать уровни руками в 3D-пространстве, если у вас есть гарнитура VR.

Что касается ценообразования, Unreal можно использовать бесплатно, но с каждой продажи после 3000 долларов в квартал взимается 5% роялти. Если вы выпускаете игру в Epic Games Store, гонорар не взимается.

Годо

Godot — бесплатный игровой движок с открытым исходным кодом. Он создан как для 2D-, так и для 3D-игр и является достойной альтернативой Unity и Unreal (двум крупнейшим движкам).

Godot поддерживает довольно много языков. Есть визуальный язык сценариев, поддержка C++, поддержка C# и вариант GodotScript, их собственного языка, который имеет синтаксис, аналогичный Python.

Поддержка 2D в Godot работает в пиксельных координатах, в отличие от Unity и Unreal, которые используют числа с плавающей запятой для представления позиций. У обоих есть свои преимущества, но абсолютные координаты пикселей будут лучше для большинства игр с пиксельной графикой. Карты нормалей и освещение встроены в 2D-систему.

В 3D-рендеринге используются физически обоснованные настройки рендеринга, поэтому он не слишком уступает Unreal и Unity HDRP и все еще может использоваться для создания красивых 3D-игр. Язык шейдеров основан на GLSL, поэтому с ним должно быть легко работать.

Godot является полностью мультиплатформенным, как Unity и Unreal, с поддержкой iOS, Android, Windows, macOS и Linux, а также веб-поддержкой с HTML5 и WebAssembly.

Другие двигатели

Есть много других движков, особенно 2D. Некоторые из них представляют собой просто библиотеки, обеспечивающие рендеринг, такие как LOVE и PyGame. Если вы действительно хотите просто рисовать что-то на экране и не заботитесь ни о чем другом, эти типы движков могут быть полезны.

GameMaker Studio и Cocos2D – это двухмерные движки с полноценными редакторами. Однако мы не рекомендуем использовать их для более сложных проектов, особенно когда другие движки имеют гораздо большую поддержку и поддержку сообщества. Годо был бы хорошей альтернативой для 2D-игр.

Единственным другим крупным 3D-движком, доступным для публичного использования, является CryEngine, который в настоящее время поддерживается как AWS Lumberyard.