Как создать игру?
Содержание:
Rage Engine (RAGE)
Результат работы подразделений Rockstar Games для внутренней эксплуатации.
Содержит в себе звуковой, графический, анимационный, сетевой компоненты, искусственный интеллект, собственный скриптовый язык и модули для работы с сетью/интернетом.
Часть элементов создана с нуля сотрудниками компании.
Физическая компонента является свободным ПО.
На нём выпущены Red Dead Redemption и Max Payne 3.
Рис. 14 – То, чего не увидят пользователи компьютеров
Технологии сосредоточены на использовании для написания игр с огромным бесшовным игровым пространством.
Важная задача – быстро включать в обработку одни элементы, и также мгновенно удалять другие, например, местность, которую геймер покидает.
С этим справляется оптимизированный и отточенный менеджер памяти, не допускающий фрагментирования данных в ОЗУ.
Так как основными играми являются представители серии GTA, то и машинам (технике вообще) уделена одна из главных ролей.
Их поведение описывается множеством законов, где учитываются вес, сцепление с поверхностью в разных условиях.
Система повреждений влияет на езду не только визуально, но и физически: пробитое колесо замедлит авто и ухудшит управляемость.
Анимация людей создаётся автоматически в реальном времени благодаря продвинутому пакету NaturalMotion.
Most Wanted и GTA 3 выпущена на базе предшественника – RenderWave.
Плюсы:
- большие локации без предварительной загрузки;
- можно входить в большинство зданий;
- огромное количество поддерживаемых видов транспорта;
- хорошая работа с оперативной памятью.
Минусы:
- физика далека от реалистичной (авто летают, ракета может не убить);
- ощущения от езды на авто близки к не самым лучшим автосимуляторам;
- не продаётся;
- интерфейс не оптимизирован под работ с мышей и клавиатурой;
- требует много графической памяти.
Жаль, что Red Dead Redemption не выпускают на ПК. Так бы хотелось увидеть иную грань движка, не показанную в GTA.
RPG Maker
История одного из самых знаменитых конструкторов ролевых игр началась ещё в конце 1980-х. Более поздние версии для Windows, созданные японскими разработчиками, получили широкое распространение на Западе. Сегодня популярность движка достигла таких масштабов, что тег RPG Maker в Steam представляет уже не столько игры на самом движке, сколько собирательный образ тематического направления в геймдеве. Этот феномен легко объяснить.
RPG Maker используют преимущественно для создания JRPG в стиле ранних частей Final Fantasy. Сам жанр требует огромного количества ресурсов: локаций, персонажей, мобов и так далее. Большинство тех, кто работает в RPG Maker, используют дефолтные шаблоны движка, дополняя их собственными персонажами и иллюстрациями. Иногда даже NPC в этих играх созданы только с помощью генератора. Поэтому игры на RPG Maker, как правило, выглядят очень однотипно. Лень тут ни при чём: у большинства инди-разработчиков просто нет времени, навыков и ресурсов, чтобы сделать всё с нуля. А готовые системы сохранения, боя и интерфейс тяжело изменить. Даже если потратить на кастомизацию достаточное количество времени, мелкие детали в интерфейсе всё равно выдадут RPG Maker.
Сейчас существует несколько версий редактора. Последняя — RPG Maker MZ — вышла в 2020 году. Базовая версия обойдётся в 1 389 рублей. Также не стоит забывать о DLC с наборами тематических ассетов, которые наверняка потребуются начинающему разработчику.
Скриншот из To the Moon — игры, созданной на RPG Maker. Скриншот: игра To the Moon / Steam
Преимущества:
- не требует навыков программирования, более опытные разработчики могут оценить гибкость движка с помощью JavaScript;
- кросс-платформенность (Windows, Mac OS X, HTML5; iOS и Android — в RPG Maker MV);
- огромное количество плагинов: игру можно сделать фактически с нуля без помощи художников и композиторов;
- на тематических форумах есть бесплатные ассеты.
Недостатки:
- большое количество ассетов и DLC, которые следует докупать отдельно;
- неоправданно большой «вес» проектов: согласно порталу gamedesigning.org, игра занимает от 400 МБ независимо от количества контента, к тому же конструктор нередко создает резервные копии, засоряя жёсткий диск;
- если перемудрить с ассетами, игра начнет тормозить — выявить причину будет непросто;
- портирование на мобильные платформы может сопровождаться неприятными багами.
Игры на движке: To the Moon, Hello Charlotte, Grimm’s Hollow, Lawmage Academy.
Скриншот из Lawmage Academy — игры, созданной на RPG Maker. Скриншот: игра Lawmage Academy / Steam
«Мне хотелось сделать добротную двумерную RPG с приятным геймплеем, хорошей боёвкой и презентабельным визуалом. Я понял, что мне не хватит опыта и бюджета для работы с Unity 3D или UE4 (если не считать работой сборку игры сомнительного качества из готовых ассетов), поэтому я остановился на RPGMaker, тем более что мне уже доводилось с ним работать. Это замечательный инструмент, но, к сожалению, за годы у него сложилась репутация конструктора плохих игр, которые порой бывают даже хуже, чем поделки на Unity. Отчасти это связано с простотой его использования. Практически любой желающий может сразу создать игру на RPG Maker, достаточно посмотреть пару обучающих видео. Однако реальные возможности движка сильно ограничены: на нём можно сделать только JRPG в стиле Final Fantasy, для иных жанров потребуется масса плагинов, а ещё предстоит потратить время на работу с кодом».
Manly Mouse Studios, инди-разработчик (The Singularity Wish). Дневник разработчика, октябрь 2019 года
Скриншот из The Singularity Wish — игры, созданной на RPG Maker. Скриншот: игра The Singularity Wish / Steam
«RPG Maker действительно очень простой движок. Его простота и доступность привели к тому, что на нём появилось огромное количество „мусора“, в том числе порнографического содержания. Из-за этого многие геймеры терпеть не могут RPG Maker. И эта дурная слава будет преследовать даже качественные проекты. Игры на этом движке очень узнаваемы. Ещё могу отметить тот факт, что движок подходит для создания пошаговых RPG и даже квестов. Игры других жанров в теории тоже можно сделать (я даже видел симпатичный beat ’em up), но это равносильно забиванию гвоздей отвёрткой вместо молотка».
Кирилл Пестряков, инди-разработчик (Heroines of Swords & Spells)
Скриншот из Heroines of Swords & Spells — игры, созданной на RPG Maker. Скриншот: игра Heroines of Swords & Spells / Steam
Phaser
Игровой движок для настольной и мобильной разработки на JS и TypeScript. Работает на основе PixiJS — использует его для визуализации сцен. Следовательно, опирается на тот же шустрый WebGL с возможностью отката на Canvas в устаревших браузерах.
Сейчас параллельно существуют две версии движка: Phaser 2 и Phaser 3. «Трешка» увидела свет 13 февраля 2018 года. По заявлению разработчиков, они полностью переписали движок, чтобы придать ему модульную структуру и сделать data-ориентированным. Знакомство с новой версией пока осложняется нехваткой документации и действующих примеров. Но работа в этом направлении идет полным ходом: уже есть базовое руководство, урок «Делаем первую игру на Phaser 3» и экспериментальная лаборатория примеров. Примеры пока с дисклеймером «Извините, может не работать». Поэтому когда люди сегодня говорят о Phaser, они обычно имеют в виду Phaser 2.
Песочница отличается фантастическим числом интерактивных примеров и заготовок — на момент написания статьи их 685! Это гораздо больше, чем у PixiJS и большинства других движков. Код можно быстро скачать в виде .zip- или .tar.gz-файлов или клонировать в GitHub. Также доступны такие фишки, как мобильный предпросмотр сцены и сменные темы оформления для редактора кода.
Игровая витрина с проектами пользователей — быстрый способ оценить возможности движка и вдохновиться на что-то свое. Можно отдельно вывести игры с пометкой STAFF PICK («Выбор команды »).
Исходники: на GitHub.
Сообщество: большое и активное. Для общения есть каналы в Slack и Discord, а также ветки по Phaser 2 и на форуме HTML5GameDevs. Новости можно узнавать в и из еженедельной рассылки. На русском языке уроков и статей хоть и не море, но больше, чем о PixiJS. Например, на хабре есть любопытные статьи «Разработка браузерной онлайн-игры» и «Обучающая игра за неделю, или попытка таймкиллера по английскому».
Плюсы: перспективный движок, оптимизированный под мобильные платформы. Очень прост в освоении благодаря пошаговым инструкциям для новичка. Тонны примеров, постоянно выходят новые уроки и руководства.
Минусы: последняя версия — Phaser 3 — еще сырая. Плагины и утилиты к движку стоят в среднем 20$ и поддерживают только Phaser 2. У второй версии движка есть неочевидные настройки, которые трудно изменить — например, скорость движения объектов автоматически подстраивается под FPS (см. статью «История участия в Game Jam» на хабре).
Вебинар GB: «Создание игр на JavaScript с помощью Phaser».
Обзор
В дополнение к многократно используемым программным компонентам, игровые движки предоставляют набор визуальных инструментов для разработки. Эти инструменты обычно составляют интегрированную среду разработки для упрощённой, быстрой разработки игр на манер поточного производства. Эти игровые движки иногда называют «игровым подпрограммным обеспечением» (сокр. ППО; англ. middleware), так как, с точки зрения бизнеса, они предоставляют гибкую и многократно используемую программную платформу со всей необходимой функциональностью для разработки игрового приложения, сокращая затраты, сложность и время разработки — все критические факторы в сильноконкурирующей индустрии видеоигр.
Как и другие ППО решения, игровые движки обычно платформо-независимы и позволяют некоторой игре запускаться на различных платформах, включая игровые консоли и персональные компьютеры, с некоторыми внесёнными в исходный код изменениями (или вообще без них). Часто игровое ППО имеет компонентную архитектуру, позволяющую заменять или расширять некоторые системы движка более специализированными (и часто более дорогими) ППО компонентами, например, Havok — для физики, FMOD — для звука или SpeedTree — для рендеринга. Некоторые игровые движки, такие как RenderWare, проектируются как набор слабосвязанных ППО компонентов, которые могут выборочно комбинироваться для создания собственного движка, вместо более традиционного подхода расширения или настройки гибкого интегрируемого решения. Тем не менее расширяемость достигнута и остаётся высокоприоритетной в игровых движках из-за широких возможностей их применения. Несмотря на специфичность названия, игровые движки часто используются в других типах интерактивных приложений, требующих графику в реальном времени, таких как рекламные демо-ролики, архитектурные визуализации, обучающие симуляторы и среды моделирования.
Некоторые игровые движки предоставляют только возможности 3D-рендеринга в реальном времени вместо всей функциональности, необходимой играм. Эти движки доверяют разработчику игры реализацию остальной функциональности или её сбор на основе других игровых ППО компонентов. Такие типы движков обычно относят к «графическим движкам», «движкам рендеринга» или «3D-движкам» вместо более содержательного термина «игровой движок». Однако эта терминология используется противоречиво: так, многие полнофункциональные игровые 3D-движки упомянуты просто как «3D-движки». Некоторые примеры графических движков: RealmForge, Ogre 3D, Power Render, Crystal Space и Genesis3D. Современные игровые или графические движки обычно предоставляют граф сцены — объектно-ориентированное представление 3D-мира игры, которое часто упрощает игровой дизайн и может использоваться для более эффективного рендеринга огромных виртуальных миров.
Аппаратная абстракция
Чаще всего 3D-движки или системы рендеринга в игровых движках построены на графическом API, таком как Direct3D или OpenGL, который обеспечивает программную абстракцию GPU или видеокарты. Низкоуровневые библиотеки, например, DirectX, SDL и OpenAL, также используются в играх, так как обеспечивают аппаратно-независимый доступ к другому аппаратному обеспечению компьютера, такому как устройства ввода (мышь, клавиатура и джойстик), сетевые и звуковые карты. До появления аппаратно-ускоряемой 3D-графики использовались программные визуализаторы. Программный рендеринг всё ещё используется в некоторых инструментах моделирования для рендеринга изображений, для которых визуальная достоверность важнее производительности (количество кадров в секунду) или когда аппаратное обеспечение компьютера не удовлетворяет требованиям, например, не поддерживает шейдеры.
Creation Engine
Довольно новый движок от американской студии Bethesda, которая продемонстрировала его возможности в Skyrim. Как и предыдущие решения, создан только для нужд его разработчика. За основу был взят Gamebryo – подспорье для Oblivion и его аддонов.
Первое, что интересно в технологии – поддержка огромных локаций с дальней прорисовкой, свободным и быстрым перемещением.
Большое внимание уделено работе с водой и снегом, а система автоматической генерации осадков, камней, деревьев и травяного покрова самостоятельно определяет пропорции создаваемых объектов в зависимости от местности. Улучшенный ИИ, использованный в Oblivion, более правдоподобно симулирует жизнь людей и их отношение к главному герою
Улучшенный ИИ, использованный в Oblivion, более правдоподобно симулирует жизнь людей и их отношение к главному герою.
Концепция управления развитием сюжета способна генерировать дополнительные задания с учётом стиля игры.
Система построения деревьев изрядно переработана в новой версии движка, что позволило разнообразить растительный мир, анимацию деревьев и разгрузить графический процессор для её просчёта.
Для анимации персонажей использован посторонний инструмент от Havok.
Рис. 8 – Шутер-РПГ на основе Creation Engine
Особенности:
- наличие редактора уровней Creation Kit для геймеров и разработчиков модов;
- в Fallout появился основанный на физике рендеринг;
- масса инструментов для модостроителей;
- простота переноса модификаций на консоли.
Плюсы:
- не лицензируется;
- тяжело создавать двуручное оружие;
- система поведения персонажей достаточно слаба.
Минусы:
- есть редактор модов, которые будут работать на любой платформе;
- большая дистанция прорисовки;
- уникальная схема генерации деревьев и их анимации.
Ничего лучшего для моддеров пока не придумано, поэтому больше, чем для Fallout, их создано только для Oblivion.
PlayCanvas
PlayCanvas – игровой движок полного спектра с возможностями 3D. Его графическая инфраструктура поддерживает WebGL 3D, физический рендеринг, функции краткого освещения (с тенями), световые карты, сетки, движок графического процессора для частиц со встроенным редактором PostFX, что позволяет интегрировать 3D-материалы из самого любимого 3D-программного обеспечения на рынке. 3D-физика возможна благодаря движку Ammo.js 3D. Суть в том, что PlayCanvas работает в облаке, поэтому вы можете создавать браузерные игры (все основные поддерживаемые браузеры) из своего браузера.
Некоторые видят в PlayCanvas превосходный движок JavaScript для разработки игр. Но если вы посмотрите на каталог цен, вы заметите, что единственное, что не является бесплатным, это хостинг. Если вы подадите заявку на бесплатный план, ваши игры будут размещены на PlayCanvas. Для некоторых это может быть препятствием, но в целом это прекрасный способ начать. После этого, в любом случае, это всего лишь несколько долларов в месяц. PlayCanvas находит свое применение в разработчиках игр, брендах, которым нужен маркетинговый опыт для анимированных брендов, а также в кратких проектах по визуализации для агентств недвижимости и других подобных агентств.
RPG MAKER
Коммерческий игровой движок, разработанный Degica. Он разработан специально для создания классических игр в стиле JRPG без необходимости уметь программировать. Он был использован для таких игр, как Corpse Party и Rakuen.
Фото: medium.com
Для разработки: Ролевых 2D-игр.
Платформы: Windows и macOS.
Языки программирования: JavaScript.
Стоимость: $79.99.
Обучение: Есть несколько бесплатных обучающих программ для старых версий движка, которые, вероятно, все еще возможно применить на практике. Однако для самой последней версии MV, кажется, лучшие ресурсы уже создаются сообществом.
Начало работы: https://www.rpgmakerweb.com/support/products/tutorials
Обзор основных движков
Сначала поговорим про «взрослые» движки. Они позволяют разрабатывать под несколько платформ сразу, кроме того, у них есть очень много полезных инструментов. Пугаться и начинать с более простых не стоит — список составлен с учетом доступности для новичков, количества обучающих материалов в открытом доступе, наличия хороших вышедших игр на движке и цены.
Unity
Один из самых популярных движков на сегодня.
Платформы:мобильные устройства, ПК, Mac, Linux, консоли, Facebook, WebGl, VR и другие.
Unity идеально подходит для разработки под мобильные устройства (но не только). На нём сделаны Angry Birds 2, Hitman Go, Heartstone, Monument Valley, Fallout Shelter, Ori and the Blind Forest, Pillars of Eternity, Firewatch, Inside, Pokémon Go, Super Mario Run, Cuphead, Escape from Tarkov, Life Is Strange: Before the Storm и множество других популярных игр.
Fallout: Shelter
В Unity можно спокойно разрабатывать как 2D, так и 3D-проекты. ВAsset Storeесть много готовых платных и бесплатных решений: модели, текстуры, анимации и полноценные проекты. Например,шутер про зомби. Очень много обучающих материалов как от самих Unity, так и от энтузиастов на YouTube (подробнее расскажем в следующем материале цикла). Плюс множество плагинов для рекламы и внутриигровых покупок.
Язык программирования:C #, по сравнению c С++ у него меньше возможностей выстрелить себе в колено, в частности, это касается работы с памятью. Также поддерживается JavaScript, который на самом деле UnityScript. Если писать код совсем лень или нет навыков, есть плагины, которые позволяют делать игры без написания кода, например,Playmaker. Правда, за него придется выложить 45 долларов.
Кто-то ругает Unity за графику, но на самом деле графику можно сделать красивой на любом движке, просто в Unity она по умолчанию средняя. В последней версии движка появился новый Rendering Pipeline, и с ним вполне можно делать графику на уровне топовых AAA-проектов.
Стоимость движка:бесплатно, если разработчик зарабатывает на игре меньше $100 тысяч в год. Иначе — подписка, но тогда это не будет большой проблемой.
Unreal Engine
Очень продвинутый движок, сообщество которого в последнее время быстро растет, чему способствует компания-разработчик Epic Games. По Unreal Engine проводятся митапы, стримы, а в этом году прошла первая конференция, посвященная разработке на Unreal.
Платформы:движок в первую очередь для тех, кто хочет делать проекты с крутой графикой на ПК и консолях. Для мобильных устройств тоже подходит, но пока популярных мобильных игр на Unreal Engine немного: Fortnite и PUBG. Ещё на нём сделаны серия Infinity Blade, Batman: Arkham Knight и Life is Strange.
Fortnite
Язык разработки:C++. Кого-то это может отпугнуть, но есть решение —блюпринты. С их помощью теоретически можно разработать игру, не написав ни строчки кода. На практике — это очень полезно для быстрой разработки прототипов. Также есть магазин ассетовUnreal Engine Marketplace, где можно скачать готовые модели, звуки и полноценные проекты.
Злые языки говорят, что Unreal Engine превосходит Unity по графике. На самом деле это просто разные движки. Хотя частицы и пост-эффекты в Unreal Engine по умолчанию всё же красивее.
Стоимость движка:5% роялти, если разработчик зарабатывает на игре больше $3000 за квартал.
CryEngine
Стал известным после выхода Crysis — прорывной для своего времени игры. На нём вышло очень много крутых больших игр: первый Far Cry, MechWarrior Online, Sniper: Ghost Warrior 3, Armored Warfare, Homefront: The Revolution, Prey 2017-го года.
Prey
Платформы:ПК, консоли и VR. Официальной поддержки мобильных устройств нет, но по слухам разрабатывать можно.
Код движка можно модифицировать, что приносит как радость, так и боль. Я сам работал с CryEngine 2 — много модифицировали движок, исправляли баги, а когда попытались перейти на CryEngine 3 — потратили месяц и в итоге вернулись на предыдущую версию, так и не справившись с некоторыми проблемами.
Язык разработки:C++. Совсем недавно появилсяMarketplaceс ассетами.
Стоимость движка:начиная с пятой версии — 5% роялти с при доходе с игры более $5000, а ведь помню времена, когда он стоил миллион евро.
Lumberyard
Молодой и бесплатный движок с открытым исходным кодом от Amazon на основе CryEngine для разработки игр AAA-класса. Главная особенность — встроенная поддержка сервисов от Amazon, например, AWS и Twitch.
Платформы:Windows, PlayStation 4, Xbox One, iOS, Android, VR (Oculus Rift, HTC Vive).
Серьезных проектов на Lumberyard в разработке пока можно пересчитать по пальцам, а выпущенных проектов нет вообще.
Язык разработки:C++.
Стоимость движка:бесплатный, но за поддержку сервисов Amazon придётся заплатить.
Разработчикам, нацеленным на мобильные платформы – Unreal Engine или Unity
Если вы заинтересованы в сложных, трёхмерных играх, два наиболее популярных инструмента для их создания – это Unreal Engine и Unity. У обоих есть свои сильные и слабые стороны и разные моменты в лицензионных соглашениях, с которыми стоит ознакомиться перед принятием окончательного решения.
Unity позволяет вам делать трёхмерные и двумерные игры практически для любой платформы, включая Windows, Mac, Xbox, Playstation, Android, iOS и не только. Он поддерживает игровые ресурсы, созданные в 3ds Max, Maya, Softimage, Cinema 4D, Blender и другом софте. Unity использует C#, наряду с собственным языком программирования, так что не помешает для начала хорошенько их изучить. Если сравнивать Unity и Unreal, первый, пожалуй, попроще в освоении. У него есть богатый набор готовых поведений и встроенная библиотека игровых ресурсов, в которой довольно просто за ними следить. Во время работы над этим текстом я общался с несколькими разработчиками, и они думают, что Unity – лучший движок для первых проектов, потому что его проще понять и изучить, чем Unreal. Если вы уже сделали игру, скажем, на GameMaker, то сразу разберётесь, что к чему в Unity. Ещё Unity поддерживает альтернативные модели оплаты прямо в движке, включая несколько free-to-play моделей монетизации.
Функционал бесплатной персональной версии уже достаточно богат для вашего первого проекта. Создав игру на бесплатной версии, вам не нужно платить лицензионные отчисления или роялти, но тут есть некоторые оговорки, а именно – вы не сможете получить больше $100000 спонсирования /прибыли. В помощь начинающим разработчикам по Unity написано множество обучающих статей. Популярные игры на этом движке: Alto’s Adventure, Gone Home и находящаяся в разработке Firewatch.
Unreal Engine 4 использует C++, так что при должном знании этого языка можно остановить свой выбор на нём, впрочем, игры можно будет создавать и не углубляясь в сам язык. Игры, сделанные на Unreal, Engine можно выпускать на PC, Mac, iOS, Android, Xbox One и Playstation 4. В Unreal в движок встроено практически всё, что вам понадобится, включая 3D-моделирование и работу с ландшафтом. Из-за столь богатого наполнения, освоить Unreal Engine 4 сложнее других инструментов разработки, и даже при хорошем знании C++ вам стоит приготовиться к изучению множества новых вещей. Зато вы сможете создавать по-настоящему впечатляющие игры. О тонкостях устройства Unreal можно узнать больше с помощью реверс-инжиниринга, но всё же без предварительного опыта разобраться с ним будет нелегко. Unreal Engine 4 – относительно новый движок, но на нём уже вышли такие игры, как Daylight и Tekken 7.
Для использования Unreal Engine 4, вам нужно дать согласие на выплату роялти, если ваша игра будет продаваться. После начала продаж игры или приложения вы платите 5% роялти, если превысите $3000 за квартал. Может показаться, что это слишком большие деньги, но с учётом прибыли, которую будет приносить игра, это не так уж много.
Также стоит присмотреться к движку Source 2 от Valve, который в этом году тоже должен стать бесплатным.
Обновлено 01.10.15: В августе на GDC анонсировали Autodesk Stingray. Stingray работает на ядре технологии Bitsquid и основан на 64-разрядной архитектуре. Stingray был разработан, чтобы быть очень гибким и работать с всеми популярными платформами, от мобильных до виртуальной реальности. Технологии модульной структуры и управляемых данных означают, что разработчикам гораздо проще вносить изменения и можно сразу увидеть результаты сразу на нескольких подключенных устройствах, без повторной компиляции. Плюс к этому возможен быстрый перенос объектов между продуктами Autodesk. Прорыва с автоматизацией разработки пока не случилось. Если вы уже используете Unity или Unreal, то переходить не стоит, выигрыш пока не очень заметен. Позже мы расскажем подробней.
Понятие
Игровой движок или game engine – это изначальное программное обеспечение, разработанное для создания на его основе компьютерных игр, зачастую определённого жанра.
Термин образовался в средине 90-х по отношению к шутерам вроде Quake, Wolfenstein и Doom.
Еще до возникновения такого понятия игровой мир заметил, что подобные шутеры удивительно хорошо сочетали в себе:
- трехмерную графику;
- расчёт столкновений с объектами;
- объемный игровой мир;
- звуковую составляющую;
- инвентарь (система вооружения) и другие правила.
Обратив внимание на это, разработчики начали выпускать собственные игры на основе того же Doom, с минимальными изменениями: перерисовка карт и прочих графических моделей, редактирование физического движка. Преимущественное большинство движков создаются под определённый игровой жанр и часто для указанной платформы
Преимущественное большинство движков создаются под определённый игровой жанр и часто для указанной платформы.
Использование game engine для нескольких платформ или жанров делает его менее унифицированным и оптимальным, он не раскроет свой потенциал.
Наличие акцента на прорисовке дальних объектов не столь востребовано в шутерах, как в ролевых играх.
Рис. 1 – Игровой движок
Godot
Движок разработан двумя программистами из Аргентины — Хуаном Линетски (Juan Linietsky) и Ариэлем Манзур (Ariel Manzur) в 2007 году. Несколько лет Godot был основой для внутреннего ПО некоторых латиноамериканских компаний. До того как исходный код движка выложили в открытый доступ, его итерации выходили под разными названиями: Larvotor, Legacy, NG3D и Larvita. Godot до сих пор активно поддерживается благодаря пожертвованиям на Patreon от сообщества, заинтересованного в развитии технологии.
Kingdoms of the Dump — игра, созданная на Godot
Достижения:
- согласно данным портала itch.io, Godot занимает пятое место среди самых популярных игровых движков, оставив позади себя RPG Maker и Unreal Engine 4;
- на Godot сделано более 5 000 проектов;
- в начале 2021 года разработчики получили грант на 120 тысяч долларов от волгоградской студии «KEFIR!».
Преимущества:
- подходит для 2D-игр;
- в отличие от Unity, поддерживает систему измерения в пикселях и облегчает создание пиксель-арта;
- мультиплатформенный редактор (Windows, macOS, Linux) работает в двух режимах — 32 и 64 бита;
- скрипты реализованы проще, чем в других движках: помимо собственного GDScript, есть полная поддержка C# 8.0, C++, а также визуальное программирование;
- гибкая система анимации объектов, встроенная в движок;
- наличие подробной документации в сообществе, а также много полезной информации на reddit.
Недостатки:
- 2D-физика и тени реализованы хуже, чем в других бесплатных движках;
- могут возникнуть трудности с перемещением и изменением объектов на уровне;
- 3D-движок не может конкурировать с более мощными альтернативами;
- не поддерживает консоли;
- ограниченная интеграция со сторонним API;
- отсутствие знаковых хитов.
Игры на движке: 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).
Интервью в марте 2021 года
Human Diaspora
«Каждый день я сталкиваюсь с молодыми людьми, убеждёнными в том, что Unity и UE4 — это единственные движки, которые стоит изучать. Они игнорируют тот факт, что экосистема геймдева разнообразна: игры создаются как на популярных, так и на собственных движках. <…> Godot не конкурирует с другими инструментами, ведь он создан не для прибыли. Мы заинтересованы в том, чтобы мотивировать разработчиков поработать на нём. Это поможет не только развеять мифы о разработке игр, но и увеличит количество людей, активно работающих над улучшением технологии, которая навсегда останется бесплатной для всех».
Райан Хьювер (Ryan Hewer), CEO Little Red Dog Games (Precipice).
«What is the best game engine: is Godot right for you?», апрель 2020 года
Precipice
GLScene
Nebula Device в действии (демонстрация particle-эффектов). |
С момента последнего упоминания о GLScene в нашем журнале прошло более года. За это время движок проделал длинный путь через многочисленные альфа и бета-версии к долгожданной версии 1.0. Если вы не читали «Игроманию» в 2005 году, то напомним, что GLScene — это многофункциональный игровой движок, написанный под Delphi/Kylix. На нем было выпущено большое количество как коммерческих, так и бесплатных игровых проектов.
Популярность GLScene была очень высока, даже когда он был эдаким конструктором для начинающих, где диаметры гаек не подходили к болтам, а деталей было значительно меньше, чем нужно для полноценной работы. Сейчас же, когда движок доведен до ума, все больше профессиональных разработчиков обращает на него внимания и по мере сил помогает совершенствовать GLScene.
Рассмотрим основные возможности движка. Рендеринг осуществляется через библиотеку OpenGL, которая не только в несколько раз превосходит по скорости Direct3D, но и значительно проще в освоении. По сути, вам не нужно профессионально знать программирование, вы просто берете различные компоненты, которые уже спрограммированы за вас, и перетаскиваете их на форму программы. Впрочем, многие команды, функции, переменные и значения атрибутов по-прежнему вбиваются вручную.
Трехмерный покер, созданный на OSG. |
Создатели GLScene максимально упростили процесс программирования: например, поворот и перемещение созданных объектов осуществляются с помощью специальных коротких движковых функций, а не посредством длинных команд OpenGL. Создание простых объектов вроде кубов, сфер и простеньких спрайтов также проводится с помощью простейших команд, так что игру уровня первого DOOM можно собрать из базовых форм (самому ничего рисовать не придется). Но для разработки тайтла современного уровня этого, конечно, недостаточно, поэтому GLScene поддерживает импорт 3D-моделей. Основной упор разработчики сделали на универсальный 3DS-формат. Впрочем, не «Максом» единым: OpenGL поддерживает файлы типов .obj/objf, .smd, .md2, .stl, .tin и .ply. «Оживить» объект можно как во внешнем графическом пакете, так и непосредственно из движка — набор для скелетной анимации прилагается.
Но на одних лишь примитивах и трехмерных модельках далеко не уедешь, для создания красивой картинки нужно нечто большее. И оно у OpenGL есть. На данный момент движок поддерживает практически все версии шейдеров, системы частиц (дождь, снег, туман), ряд универсальных программных модулей для создания спецэффектов. GLScene версии 1.0 научился работать с динамическими тенями, эффектами блеска и отражения. В движок были добавлены модули для работы со звуками и музыкой, а также для захвата данных с разных манипуляторов типа джойстиков и клавиатур. Отдельным пунктом идет возможность интеграции с одним из свободно распространяемых физических модулей — ODE.
В стандартную поставку GLScene входит большой пакет документации, в котором изложены все этапы работы с движком — от установки до создания игровых сцен, импорта объектов и анимации. На наш взгляд, GLScene — лучший выбор для начинающих игростроевцев. Он прост, эргономичен, а главное, позволяет создавать игры, по качеству графики и физики (только при использовании ODE) максимально приближенные к тем, в основе которых лежат дорогие коммерческие движки.
BabylonJS
Вы слышали о Babylon.js, даже если раньше не слышали о разработке игр. Эта библиотека успешно эксплуатировалась в течение тонны лет; он продолжает подниматься на вершину как один из ведущих игровых движков JavaScript с поддержкой WebDL и 3D-разработок. Babylon не требует установки на вашем компьютере как внутренняя сущность. Таким образом, вся разработка может происходить в самом браузере / редакторе кода. Это делает его привлекательным выбором для тех, кто хочет развиваться на ходу. Вавилон, безусловно, является одним из самых глубоких игровых движков, которые можно использовать для создания традиционно анимированных игровых игр или тщательно разработанных проектов, которые будут напоминать более глубокую способность к разрешению и интерактивности.
Что из этого выбрать
Если вы новичок, то стоит начать с движка — это поможет лучше понять, как вообще строится процесс создания игр. Выберите один движок и создайте несколько проектов. При этом постарайтесь понять, что происходит под капотом. Если у вас есть опыт в программировании, всё равно начните с движка — причина та же.
Критерии выбора движка следующие:
- Сообщество — чем больше людей пользуются движком, тем активнее его будут развивать и тем больше по нему обучающих материалов.
- Вышедшие игры — по ним можно оценить возможности движка.
- Сложность — простота интерфейса, используемый язык.
- Поддерживаемые платформы — если вы собираетесь делать мобильные игры, убедитесь, что выбранный вами движок поддерживает такое портирование.
- Направленность — по названию Cocos2D понятно, что он рассчитан на двумерные игры.