движок для игр что это
Что такое игровой движок?
Содержание
Содержание
Если вы регулярно читаете статьи о компьютерных играх, то обязательно сталкивались со словами «игровой движок». И вы знаете, что он может быть быстрым, тормозным, продуманным, неудачным, привычным и так далее. А что это за «движок», который скрывается под красивой оберткой текстур и скриптов компьютерной игры? Это же не двигатель автомобиля. Тогда что? Программный код? Комплекс приложений для программистов и игроков? Разберемся немного подробнее.
Понятие «игрового движка»
Термин «игровой движок» является прямой копией английского «Game Engine». Фактически это объединенный в единое целое комплекс прикладных программ, с помощью которых обеспечивается графическая визуализация, звуковое сопровождение, перемещение внутриигровых персонажей, их действия в соответствии со скриптами, а также игра в сети, встроенные графические сцены, соблюдение физических эффектов и законов и многое другое.
Есть ли польза от использования готового игрового движка? Несомненно. Разработчик получает готовый качественный инструмент с большим количеством библиотек. В результате ему не надо писать большую часть базового программного кода и можно сосредоточиться на реализации своих идей, графики, игровой механики и сюжета, не тратя время на написание кода с нуля.
В результате ряд компаний занялся разработкой именно игровых движков, а разработчики игр стали покупать на них лицензии, как это получилось с Unreal Engine или id Tech 3. Стоимость лицензии может составлять от нескольких тысяч до миллионов долларов. Но при этом надо отметить, что для некоммерческого использования многие игровые движки, например, популярные Unity и Unreal Engine 4 доступны бесплатно. Остановимся на этих движках немного подробнее.
Особенности популярных игровых движков Unity и Unreal Engine 4
Движки Unity и Unreal Engine 4 являются самыми популярными в среде разработчиков из-за их удобства, детальной проработки и большого количества дополнительных библиотек, что позволяет настраивать и реализовывать практически любые идеи, приходящие в голову дизайнерам и игроделам.
Unreal Engine 4
Этот движок смело можно назвать легендой. Его разработка началась в 1998 году и с тех пор он постоянно модернизируется, дополняется и совершенствуется. Современный Unreal Engine 4 — это движок, на котором пишут игры для любых платформ и операционных систем, начиная от ОС Windows и заканчивая всеми современными консолями — Playstation 4, Xbox One, а также мобильными платформами, в том числе и iOS.
Unity
Unity — одна из популярных платформ для разработчиков игровых приложений. Можно услышать, что этот движок называют самым молодым. Но тут надо отметить, что он появился в 2005 году и с тех пор успешно развивается.
Большой плюс Unity — простота его освоения. Минус — графика в играх, созданных на основе этого движка. Она выглядит проще и не настолько реалистична, как у Unreal Engine. Тем не менее, около половины всех мобильных игр, по заверениям разработчиков, написаны именно на этом движке.
Как создаются игры с помощью игровых движков
Для разработчика игровых приложений движки представляют собой программную среду, в которой он ведет разработку проекта. Ее использование позволяет не заниматься такими рутинными вещами, как описание работы с графикой, звуком и физической моделью. Но это не значит, что программировать не придется ничего. Разработчику все равно потребуется писать скрипты для внутриигровых действий. На Unity, например, потребуется работа с C#, да и на Unreal Engine знание языков программирования не помешает.
Необходимо отметить, что важной особенностью Unreal Engine является технология Blueprints, позволяющая описывать игровую логику и события с помощью графических схем, без использования языков программирования. Это, конечно, приведет к тому, что созданная игра будет занимать больше места и требовать более быстрой платформы, но зато процесс разработки значительно упрощается.
Использование игровых движков позволяет избавиться от написания кода для очень многих рутинных моментов, так как, кроме самих движков, для них существует огромное количество библиотек и расширений. С их помощью первые простейшие игры на Unity можно создать уже через несколько часов изучения платформы. Специально для начинающих в Unity существует масса проектов вроде Creator Kit и Microgame, предлагающих большое количество исходных материалов для написания простых приложений в 2D и 3D. На Unreal Engine также есть множество библиотек и уроков, позволяющих быстро освоить программную среду и начать писать простые игровые приложения.
Все игровые движки позволяют добавлять и рисовать уровни, их элементы и персонажей, прописывать события, которые происходят в зависимости от действий главного героя. При этом разработчик не тратит время на написание сотен строчек кода, а занимается только реализацией своих непосредственных идей.
Так что же такое игровой движок для игрока и разработчика?
Получается, что игровой движок с точки зрения разработчика является программной платформой, на которой ведется разработка приложения. Кстати, это совсем не обязательно игра. Unity, например, активно используют в работе над приложениями с дополненной реальностью. А это уже не только игры, но и путеводители, справочники, энциклопедии и многое другое.
А с точки зрения игрока или пользователя написанного приложения, игровой движок — это основа игры, на которую разработчиком наложен сюжет, уровни, графика и музыка. Разница между этими двумя определениями небольшая, но она все-таки есть.
Лучшие движки для создания игр. 7 бесплатных вариантов — от Godot до Cocos 2D-x
В подборке — самые популярные и доступные технологии, которые помогут создать первую игру.
Термин «игровой движок» крайне редко звучит в анонсах AAA-игр, как и среди самих игроков. Но если речь заходит о разработке собственного проекта, движок — первое, на что нужно обратить внимание. Термин означает совокупность программных средств, которые разработчики используют для создания ПО.
Во второй половине 1990-х и первой половине 2000-х многие студии использовали самописные движки, так как известные технологии — например, idTech или Unreal Engine — были недоступны для небольших команд из-за высокой стоимости лицензирования. Сейчас ситуация изменилась: любой разработчик может выбрать оптимальную базу для своего проекта из множества вариантов — платных и бесплатных, для работы с 2D и 3D, универсальных и узкоспециализированных.
Мы запускаем цикл материалов, посвящённых лучшим и самым подходящим для разработки видеоигр движкам. И прежде чем закладывать бюджет на покупку необходимого софта, полезно рассмотреть технологии, которые есть в открытом доступе. Ниже — список из семи бесплатных движков, популярных в геймдеве. Знакомство с их характеристиками поможет разработчику сделать правильный выбор. Стоит учесть, что многое в работе с этими технологиями зависит от наличия определённых знаний.
К теме движков мы ещё вернёмся в двух следующих материалах — там и расскажем об условно-бесплатных и платных технологиях.
Считает игры произведением искусства и старается донести эту идею до широких масс. В свободное время стримит, рисует и часами зависает в фоторежимах.
Godot
Движок разработан двумя программистами из Аргентины — Хуаном Линетски (Juan Linietsky) и Ариэлем Манзур (Ariel Manzur) в 2007 году. Несколько лет Godot был основой для внутреннего ПО некоторых латиноамериканских компаний. До того как исходный код движка выложили в открытый доступ, его итерации выходили под разными названиями: Larvotor, Legacy, NG3D и Larvita. Godot до сих пор активно поддерживается благодаря пожертвованиям на Patreon от сообщества, заинтересованного в развитии технологии.
Игры на движке: Kingdoms of the Dump, The Garden Path, Until Then, Ex Zodiac, GDQuest.
« Я заинтересовался Godot, когда искал альтернативу Unity/UE4 c открытым исходным кодом, и начал с ним работать в октябре 2019 года. До этого я делал игры на GameMaker, потом перешёл на Unity, чтобы сделать первую 3D-игру, и продолжал на нём работать, пока не попробовал Godot. Теперь я работаю только на нём. В процессе разработки нередко возникают проблемы с исправлением багов. Некоторые ошибки появляются в самых неожиданных местах, и сложно найти корень проблемы. Ситуацию усложняет скудное и запутанное описание к ним. Я 3D-художник, для меня важно, чтобы 3D-сцены отлично выглядели. Поэтому хотелось бы, чтобы в следующих версиях улучшили возможности графики: физически корректный рендеринг, связанный с динамическим и статическим глобальным освещением, эффекты окружающей среды и постобработки. При этом должны быть хорошая производительность и оптимизация. Об этом стоит задуматься, ведь наличие 4K-дисплея у игрока скоро станет нормой».
Леонардо «Leocesar3D» Велозу (Leonardo «Leocesar3D» Veloso),
инди-разработчик (Human Diaspora).
7 игровых движков, на которых можно создать свою первую игру
Сегодня игровая разработка доступна как никогда: в сети можно найти сотни руководств и десятки движков под любые запросы.
Из-за этого новичкам сложно найти подходящий вариант — многие просто устанавливают самые популярные программы.
За последние пять лет я создавал небольшие прототипы — то есть наброски, реализующие разные механики, — на разных игровых движках. А еще участвовал в джемах — конкурсах по созданию прототипов за короткий промежуток времени — и помогал в разработке пока не вышедшей игры на Unity.
В этом тексте я собрал самые простые для освоения движки для создания первых проектов. В список попали утилиты с большим количеством обучающего материала и максимально низким порогом входа.
Важное уточнение: в некоторых разделах указаны сложности в работе с 3D — под этим подразумевается отсутствие официальной поддержки трехмерных игр. Впрочем, это не мешает некоторым разработчикам добиваться эффекта псевдотрехмерности в любом движке. Прямо как в первой Doom.
Почему лучше выбрать готовый движок
Игровые движки, доступные на рынке, — это чаще всего готовые наборы утилит, которые помогают сразу приступить к разработке игры. Зачастую они бесплатны, а брать с вас деньги начнут лишь тогда, когда вы захотите использовать движок в коммерческих целях — то есть решите выпустить игру в магазине.
Большие игровые движки постоянно дорабатываются разработчиками — выходят новые версии и утилиты. Вокруг них складываются большие сообщества авторов игр, которые делятся советами и руководствами между собой. Нередко при движках существуют еще и магазины ассетов — предметов, которые используются в играх, будь то 3D-модель или текстура.
Разработчики дают лицензировать свой движок по-разному : кто-то одномоментно берет фиксированную сумму за коммерческое использование, а кто-то предпочитает забирать процент с доходов игр, выпущенных на движке. Последний вариант наиболее выгоден для независимых разработчиков, которые хотят продавать игры, но не располагают большими деньгами для лицензирования.
Альтернатива готовым движкам — это написать свой. В случае с собственным движком никому не надо платить за его использование, да и знать вы его будете лучше всех. Но новичку такой вариант не подойдет: написание движка может занять несколько лет и требует знаний в математике, программировании и графических технологиях.
Если вы хорошо знакомы, например, с языком C++ и графическими библиотеками вроде OpenGL, можно попробовать написать собственный движок, но разработка игры затянется, ведь утилиту придется постоянно дорабатывать. На старте все потребности учесть невозможно.
Даже у больших издателей проприетарные движки, то есть разработанные внутри компании, постоянно обновляют из-за недостатка функций. Например, Electronic Arts, известная по Battlefield и Mass Effect, постоянно пытается приспособить Frostbite под разные жанры.
Для разработки первой игры лучше выбрать один из готовых движков — ничего стыдного в этом нет. Тем более что крупные разработчики тоже ими не брезгуют: весомая доля известных проектов выпущена на Unreal Engine или Unity.
Как победить выгорание
Unity
Unity появился аж в 2005 году, и это до сих пор один из любимых движков в инди-среде наравне с более продвинутым Unreal Engine 4. Главное преимущество движка — большое сообщество и множество официальных и неофициальных «обучалок». Создатели программы даже запустили портал Unity Learn с курсами о разных аспектах работы с движком.
Unity практически не ограничивает пользователя: в движке можно работать с 2D и 3D, VR и любыми жанрами от «три в ряд» до шутеров от первого лица.
Сегодня порог вхождения в Unity низок: первый прототип можно собрать очень быстро благодаря встроенному магазину ассетов и инструментам визуального программирования — утилитам, которые позволяют настраивать логику игровых механик без необходимости писать код.
Новичкам особенно удобна система Shader Graph для создания сложных шейдеров — специальных эффектов отображения объектов.
Unity подходит для мобильной разработки и инди. В нем можно быстро создавать прототипы, что особенно кстати для разработки гиперказуальных проектов — игр для смартфонов с очень простыми механиками и высокой степенью вовлечения, например Helix Jump или Flappy Bird.
Unity часто винят в плохой оптимизации и визуальной бедности: тот же Unreal Engine 4 часто используют 3D-художники для того, чтобы выставить свет и красиво настроить сцену. В Unity же нужно время, чтобы достичь такой картинки.
А еще обновления Unity нередко «ломают» проекты или отдельные его части вроде текстур.
Unreal Engine
Цена: бесплатный, при доходе от миллиона долларов за все время существования игры Epic Games забирает 5%
Сильные черты: графика, встроенное визуальное программирование, открытый исходный код
Недостатки: высокие требования к навыкам разработчика
Игры на движке: Fortnite, Star Wars: Jedi Fallen Order, Mortal Kombat 11
Unreal Engine и Unity — «большая двойка» игровых движков. Но в UE по умолчанию гораздо более продвинутая картинка, чем у конкурентов, и заточен он под 3D. А система визуального программирования Blueprint упрощает работу для новичков, которые не хотят писать код: благодаря ей в движке очень удобно собирать небольшие прототипы. К тому же в официальном магазине каждый месяц проводятся бесплатные раздачи ассетов для коммерческого использования.
Новая версия движка, Unreal Engine 5, — потенциальный прорыв для всей индустрии. Благодаря системе Nanite художникам больше не нужно беспокоиться об оптимизации ассетов под разные системы: движок сделает это самостоятельно. А технология Lumen автоматически обрабатывает источники света — раньше на подобные системы приходилось тратить немало ресурсов.
В последнее время Epic Games делает все, чтобы у пользователей Unreal Engine был доступ к самым продвинутым технологиям — взять хотя бы конструктор людей MetaHuman, который позволяет за пару секунд создать реалистичную модель человека.
Неудобство UE в том, что он во многом ориентирован на профессионалов. Визуальное программирование Blueprint тратит больше ресурсов системы, чем код на C++, поэтому большой проект совсем без программирования сделать не получится.
В местном интерфейсе новичок легко запутается, да и красивая картинка может вызвать проблемы, ведь ее придется оптимизировать под самые разные устройства.
Unreal Engine — хороший выбор для тех, кто хочется сразу погрузиться в профессиональный геймдев и в перспективе работать над высокобюджетными проектами. Разработка на нем требует большей технической подкованности, чем на других движках, так что он больше подойдет тем, кто уже немного знаком с особенностями создания игр. Например, для тех, кто уже работал в Unity, в документации UE есть отдельный гайд.
GameMaker Studio
Цена: бесплатная версия не позволяет опубликовать проект, инди-лицензия стоит 259 Р в месяц, корпоративная — 1389 Р в месяц
Сильные черты: программирование необязательно, drag-and-drop-разработка
Недостатки: почти не работает с 3D, бедный встроенный магазин ассетов
Игры на движке: Katana Zero, Hyper Light Drifter
GameMaker Studio — один из самых известных игровых движков наравне с Unity и Unreal Engine. На нем сделаны многие инди-хиты вроде Undertale, а еще у него очень низкий порог вхождения: для GameMaker необязательно умение программировать, и все взаимодействия можно настраивать буквально «перетягиванием».
Впрочем, писать код в нем тоже можно — создатели даже разработали специальный язык, GML (Game Maker Language). У него меньше возможностей, чем у того же C#, а некоторые его особенности не встречаются в других языках, зато он очень прост в освоении и подойдет как опытным программистам, так и новичкам.
GameMaker Studio не просто хорошо оптимизирован — в нем немало инструментов для работы над играми в любых жанрах. Так что это хороший выбор для тех, кто хочет погрузиться в геймдизайн и не тратить время на «математику» и поиск расширений.
Он не понравится тем, кто хочет работать с 3D: движок не поддерживает его официально, а разработчики не планируют что-то с этим делать. Да и магазин ассетов GameMaker гораздо беднее, чем у конкурентов.
С недавних пор использовать GameMaker для разработки можно бесплатно, но придется оплатить подписку для публикации своей игры. То есть вы можете опробовать все его возможности бесплатно перед тем, как тратиться на подписку.
Defold
Цена: бесплатный для коммерческого использования
Сильные черты: хорошая оптимизация и поддержка всех платформ
Недостатки: относительная неизвестность, отсутствие 3D
Игры на движке: Family Island, Marginalia Hero
Defold — один из главных конкурентов Unity, но используют его намного реже. Он рассчитан на двухмерные игры, которые программируются на языке Lua и запускаются почти на всех платформах — от HTML5 ( веб-страницы ) до Nintendo Switch. Поэтому он быстро работает и компилирует маловесные билды, в отличие от того же Unity.
У Defold нет встроенного визуального программирования, но есть фанатский плагин, который его добавляет. Также в сети опубликовано много обучающего материала по нему, но меньше, чем у конкурентов.
Как и любой молодой движок, Defold постоянно развивается, так что все недостатки могут исправить в будущем. Сейчас же это необычная альтернатива Unity для тех, кто хочет попробовать себя в программировании, но не желает погружаться в трудности семейства C, общепринятого в «большой» индустрии.
Godot
Цена: бесплатный для коммерческого использования, можно поддержать разработчиков на «Патреоне»
Сильные черты: постоянное развитие, множество поддерживаемых языков программирования
Недостатки: пока с трудом работает с 3D и не поддерживает консоли
Игры на движке: Rogue State Revolution, Kingdoms of the Dump (в разработке)
Godot — это «выбор на перспективу», который примечателен постоянными обновлениями. Он максимально открыт — за движок не надо платить, а на GitHub лежит его исходный код, в котором может покопаться любой желающий. А еще в Godot большой выбор языков программирования соседствует с визуальным скриптованием: сегодня утилита поддерживает C, C# и собственный GDScript, который напоминает Python.
Открытый исходный код движка позволяет участвовать в его разработке всем желающим: например, исправлять баги или предлагать новые функции.
Главная проблема движка в его «перспективности»: Godot разрабатывают уже 14 лет, но в нем до сих пор не очень удобно работать в 3D, а сообщество намного меньше в сравнении с другими продуктами. Ну и разрабатывать консольные игры в нем сложно из-за того, что там нельзя издавать игры, сделанные на полностью открытом ПО без лицензии. К счастью, сооснователь компании-разработчика движка как раз открыл студию для портирования игр с Godot на консоли.
Godot вполне может оказаться очень востребованным на рынке через несколько лет, когда в нем появятся все те функции, которые давно есть у конкурентов. Тогда у Godot появятся все шансы стать главным «противником» Unity.
Stencyl
Stencyl — это максимально простой 2D-конструктор. Его часто используют для того, чтобы обучать детей программированию. В первую очередь он предназначен для мобильных игр и небольших прототипов в духе флеш-игр. Из-за этого работать над большими проектами в нем довольно сложно, зато можно делать небольшие игры в духе популярной Super Dangerous Dungeons.
Также в движке есть Code Mode — возможность писать собственный код на языке Haxe, который синтаксисом напоминает C#.
Недостатки Stencyl похожи на проблемы других простых движков — здесь нет 3D и поддержки консолей. Скорее всего, все это и не появится, так что стоит сразу определить для себя, нужны ли вам эти особенности. Если нет, и вы хотите просто побыстрее выпустить маленькую игру и не возиться с кодом или просто набросать прототип перед переходом на «большой» движок, Stencyl — хороший выбор. Это что-то вроде аналога игровых конструкторов в духе Super Mario Maker, где вы можете сосредоточиться на геймдизайне и картинке, а не технической составляющей.
Construct
Цена: бесплатный с ограничениями, персональная версия стоит 525 Р в месяц или 4199 Р в год
Сильные черты: работает в браузере, не требует программирования
Недостатки: не подходит для 3D и консолей
Игры на движке: Hypnospace Outlaw, Mighty Goose
Construct очень похож на Stencyl — это тоже простой, пусть и более известный конструктор двухмерных проектов, который используют в обучении детей. Как и Stencyl, Construct — это хороший инструмент прототипирования. Если функций местного визуального программирования не хватит, то прямо в блочную систему можно встроить код на JavaScript.
Даже проблемы у движков общие: Construct тоже не подходит для крупных проектов, не работает с 3D и на консолях. На нем можно собрать игру под Xbox, но производительность там оставляет желать лучшего.
Зато Construct основан на JavaScript, поэтому игры на нем могут запускаться на всех остальных платформах, а попробовать движок можно прямо в браузере — не надо скачивать никаких дистрибутивов. Причем всего за пару минут там можно создать первый прототип простым перетаскиванием блоков и выбором действий.
А еще движок постоянно развивается, так что вполне возможно, что в будущих версиях он станет ближе к GameMaker Studio. Пока что это хороший способ сделать первый шаг в игровой разработке или приобщить к ней ребенка.



