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

Алан-э-Дейл       31.07.2022 г.

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

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

Что потребуется для работы

Прежде чем создавать игру, нужно придумать идею. Без интересной концепции нет смысла начинать проект. Нужен конкретный сюжет, место действия, персонажи. Не помешает проанализировать произведения, с которыми придется конкурировать. Затем предстоит документальная проработка деталей: механики, графики, звука. Все выкладки проводятся с учетом величины бюджета.

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

Чтобы создать игру, не нужно быть компьютерщиком. Существуют движки, позволяющие «штамповать» приложения под различные платформы:

  • Game Maker: Studio. В бесплатной версии Standard доступны инструменты для игр под Windows. Подписавшись на Professional, пользователь получает расширенный функционал. Например, становится доступной интеграция на платформу Android.
  • Construct 2. Программа для 2D на HTML5. Движок Box2D Physics отвечает за реалистичное поведение персонажей в соответствии с законами физики. Интуитивно понятный интерфейс позволяет моделировать ситуации без какого-либо практического опыта.
  • Unity. Популярный движок, используемый многими известными агентствами и корпорациями. Создавать игры 3D позволяет как бесплатная, так и платная версия.

Хватает и других интересных вариантов. Для новичков точно подойдет Game Maker: Studio. Она проще в изучении, что позволит ускорить подготовительный процесс. Осваивать функции можно параллельно с работой. Обучающие материалы на русском языке для этой и других полезных программ доступны на нашем сайте.

Примерно так выглядит Гейм Мейкер Студио

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

Начинающих вдохновляют истории успеха таких разработок, как Ridiculous Fishing и Minecraft, принесших авторам огромную прибыль при минимальных стартовых вложениях. Мотивация – это прекрасно, но не нужно сильно рассчитывать на подобное чудо. Конкуренция на рынке ежегодно растет, поэтому лучше трезво оценивать шансы.

Creation Engine

Движок, который мы привыкли ненавидеть и обожать одновременно. Иногда он создает нам настроение на целый игровой день, а иногда — вгоняет в отчаяние. Именно на его основе базируются всемирно известные The Elder Scrolls V: Skyrim, Fallout 4 и Fallout 76, и он же станет подспорьем для будущих проектов Bethesda Game Studios — Starfield и TES VI.

На самом деле прародителем Creaton Engine стало ядро Gamebryo, поддерживавшее предыдущие проекты студии, вроде Fallout 3 и Oblivion. Его преимущества не могли не оценить как поклонники этих франшиз, так и мододелы, получившие в распоряжение дружелюбный и гибкий creation kit.

5.Работа со сценами

Создание новых сцен.

Посмотри в верхний левый угол редактора. Здесь есть вкладка, которая называется «Сцена». Давай добавим твою первую сцену! Делается это просто, тебе нужно либо нажать на плюсик, либо ввести сочетание клавиш «ctrl + A». Перед тобой выплыло меню, в поиске которого нужно ввести заветное слово «Node»

Мы давай это будет наша основная сцена, назовем ее «World», но название в принципе неважно. Чтобы переименовать сцену нужно лишь дважды щелкнуть на нее левой кнопкой мыши

Теперь давай добавим на сцену игрока!

Многие просто добавляют объект «Sprite», но это большая ошибка! Так делать нельзя! Запомни это раз и навсегда! Мы с тобой, как продвинутые пользователи добавим не «Sprite», а «KinematicBody2D».

Теперь древо твоего проекта выглядит так:

Добавляем игрока.

Как ты наверное успел заметить, напротив нашего «KinematicBode2D» висит какой-то желты значок. Что он тут забыл? Дело в том, что наш объект пока что не имеет форму, вот Godot и ругается. Но прежде чем добавить форму нашему игроку, давай добавим его спрайт( И не забудь заменить название «KinrmaticBode2D» на «Player» ). Для этого нажми один раз правой кнопкой мыши на нашего «Player» и сочетанием клавиш «ctrl + A» добавь объект «Sprite». Потом опять нажми на Игрока и добавь объект «CollisionShape2D». У тебя должна быть примерно такая картина:

Добавляем в спрайт и границы игрока.

Если все так, едем дальше. Теперь зададим картинку спрайта нашего персонажа. Выбираем объект «Sprite», а потом перетаскиваем из моего архива картинку «Player.png»( или твою картинку) в раздел «Texture». Если картинка импортировалась с сжатым качеством, просто нажми на нее, и в Godot в верхнем левом углу перейди в вкладку «Импорт», там в разделе «Flags» убери галочку с пункта «Filter» и нажми «Переимпортировать». Если не помогло, то просто перезапусти Godot.

Итак, мы добавили спрайт игрока, но выглядит это немного странно.

Добавляем текстуру спрайта игрока.

Что же делать? Без паники, все поправимо в пару кликов. В левой части панели «Инспектор» выбираем параметр «Hframes», и подгоняем его по размерам ( у меня это 25). Ну что, поменялась картинка?

Устанавливаем границы спрайта.

Супер, едем дальше! Ты еще не забыл про CollisionShape2D? Выделяй его и в пункте «Shape» выбирай «Новый RectangleShape2D». Теперь изменяй его под размер персонажа. У меня получилось так:

CollisionShape2d.

Создание проекта

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

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

Source

Выпущенный Valve для собственных проектов.

Прославился благодаря CS, Portal и Half Life.

Он сделал революцию в игровом мире, благодаря второй части истории о Гордоне Фримене.

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

Важная черта движка – лицевая анимация, содержащая элементы мимики и синхронизации её с разговорами персонажей.

Продвинутый ИИ может управлять как единичными противниками, так и координировать действия их группировок. Это один их первых движков с шейдерными эффектами: вода, разрушаемость объектов, интерактивные предметы, отражения.

Рис. 15 – Кадры, вызывающие ностальгию

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

Прочие особенности:

  • наличие динамических источников света;
  • самозатенение;
  • задействование многоядерных ЦП для повышения эффективности расчетов;
  • разрушаемость элементов окружающей среды;
  • работает на OpenGL с перспективой добавления Vulkan;
  • использование новой файловой системы для хранения файлов.

Плюсы:

  • продвинутая технология работы с частицами;
  • кинематографическая физика;
  • динамические разрушения;
  • двухмерный рендеринг отдалённых объектов положительно отражается на производительности.

Минусы:

  • только статическое освещение;
  • тени падают под одним углом.

Лучший игровой движок для сетевых шутеров, подаривший нам CS и её последователей.

Играем стильно

Если бы вы загрузили эту страницу, то ничего не увидели бы, потому что никакого стиля не применено. Я уже подготовил ссылку на файл main.css в своем HTML, поэтому помещу все CSS в новый файл с тем же именем. Первым делом я позиционирую все элементы на экране

Тело страницы должно занимать весь экран, поэтому сначала я уделяю внимание этому:

Во-вторых, мне нужно, чтобы арена была заполнена фоновым изображением (рис. 3):

Рис. 3. Фоновое изображение для арены

Далее я размещаю табло. Я хочу, чтобы оно находилось вверху по центру — поверх других элементов. Команда «position: absolute» позволяет разместить его где угодно и оставить там: 50% — позиционирует табло посередине верхней части окна, но начиная с самой левой части элемента табло (scoreboard element). Чтобы гарантировать точную центровку, я использую свойство transform, а свойство z-index обеспечивает, что табло будет всегда находиться поверх других элементов:

Я также хочу использовать текст со шрифтом в стиле ретро. Большинство браузеров позволяет включать собственные шрифты. Я счел подходящим шрифт Press Start 2P от codeman38 (zone38.net). Чтобы добавить шрифт к табло, я должен создать новое начертание шрифта (font face):

Теперь результаты (scores) находятся в теге h1, поэтому я могу задать этот шрифт для всех тегов h1. На случай отсутствия этого шрифта я предусмотрю несколько запасных вариантов:

Для других элементов я буду использовать таблицу изображений-спрайтов. Таблица спрайтов (sprite sheet) содержит все необходимые игре изображения в одном файле (рис. 4).

Рис. 4. Таблица спрайтов для Ping

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

Любому элементу, имеющему изображение в этой таблице, будет назначен класс sprite. Тогда для каждого элемента я буду использовать background-position, чтобы определить, какую часть таблицы спрайтов мне нужно показывать:

Затем я добавлю класс sprite ко всем элементам, которые будут использовать таблицу спрайтов. Для этого мне придется ненадолго переключиться на HTML:

Теперь мне нужно указать позиции каждого спрайта в таблице для каждого элемента. И вновь я буду делать это с помощью background-position, как показано на рис. 5.

Рис. 5. Добавление смещений для таблицы спрайтов

Свойство position: absolute в player, opponent и ball позволит мне перемещать их по полю, используя JavaScript. Если вы посмотрите на страницу теперь, то увидите, что к элементам управления и мячу прикреплены ненужные куски. Дело в том, что размеры спрайтов меньше 128 пикселей по умолчанию, поэтому я подстраиваю их под правильный размер. Мяч всего один, и я задаю его размер напрямую:

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

После добавления этого класса элементы управления в игре выглядят гораздо лучше:

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

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

UNITY

Кроссплатформенный коммерческий игровой движок, разработанный Unity Technologies. Он использовался для таких игр, как Untitled Goose Game, Ori and Will of the Wisps и Hollow Knight.

Фото: epicgames.com

Для разработки: 2D- и 3D-игр.

Платформы: Windows, macOS и Linux.

Языки программирования: C#.

Стоимость: Бесплатно для личного пользования предоставляется студентам и любителям, а также небольшим компаниям, которые зарабатывают менее 100 000 долларов в год. Помимо этого, существуют годовые планы, начинающиеся с 399 долларов в год или 40 долларов в месяц.

Обучение: Unity предоставляет некоторые бесплатные ресурсы, чтобы помочь новичкам начать работу с движком. Но в рамках программы Unity Learn Premium она предоставляет гораздо больше возможностей, включая курсы, учебные пособия и даже сертификаты. Unity Learn Premium в настоящее время бесплатна до 10 июня 2020 года, но обычно стоит 15 долларов в месяц.

Начало работы: https://learn.unity.com/tutorial/create-your-first-unity-project

Ресурсы🎁

Все нижеперечисленные ресурсы и программы опробованы мною лично и многими из них я пользуюсь до сих пор!

Для заметок:

  • Notes для Mac ()
  • Google docs ()
  • Trello

Для совместной работы (для команд):

  • Google drive
  • GitHub (). Требуются git и Unity .gitignore.
  • Unity Collab. Самый простой сервис из трех. У бесплатной версии есть ограничения.

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

Для разработчиков:

-Книга «The Art of Game Design» . Автор Джесси Шелл

-Сайт Gamasutra

ID TECH

Если когда-нибудь будет создан музей компьютерных игр, в нем должны отображаться строки кода от id Tech в стиле Великой хартии вольностей.

В 1993 году id Tech открыла эру 3D, выпустив легендарный Doom. Спустя 6 частей, он все еще помогает определить понятие современного шутера.

Однако десять лет назад мало кто ожидал, что ID Tech задержится на рынке настолько долго. Его популярность падала на протяжении многих лет, пока, в конце концов, материнская компания id Software под названием ZeniMax не сделала его доступным только для студий с лицензией. Однако такая исключительность мало повлияла на профиль технологии, поскольку такие проекты, как Wolfenstein от MachineGames и The Evil Within от Tango Gameworks теперь выпускают свои игры именно на этом движке.

Удивительно, однако, что Rage 2 не использует id Tech, несмотря на то, что игра создана в кооперации Avalanche Studios с id. Вместо этого Avalanche Studios решила использовать свой собственный движок Apex, на котором работает серия Just Cause. Тем не менее, нашумевшая Doom Eternal превосходно демонстрирует все еще невероятные возможности седьмой модификации id Tech.

Концепция

Совет

Фишки. Что делает вашу идею крутой? Это самый главный вопрос. Как только вы сможете уловить и зафиксировать это, остальные этапы покажутся легче. Ваша игра поднимает острые темы? Станет новой классикой? Или будет отличаться от всего, что было раньше?

Механика. Что делает игрок и зачем? Это ваш игровой процесс. Он может быть простым, как поочерёдное нажатие клавиш Q, W, O, P в игре QWOP, или сложным, как комбинации в Dwarf Fortress.

Легенда. Благодаря чему игроки запомнят вашу игру? С какими эмоциями они будут её покидать? У каждой игры есть история. Если стория неочевидна, игрок сам создаст её. История бывает разная: возрастание чисел в игре 2048, восхождение империй в Civilization или безмолвные взаимодействия в Monument Valley. Подумайте, какая легенда будет стоять за вашей игрой.

Настроение

Какое впечатление производит игра? Какие визуальные эффекты и музыка будут этому способствовать? Важно первое впечатление, которое сможет зацепить игрока и затем заставить его снова возвращаться к игре. Возможно, вам захочется ретро-эффекта с пиксельной графикой и 8-битной музыкой или современного вида с плоской геометрией — подумайте об этом.

Участвуйте в хакатонах

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

Создайте список идей. Записывайте каждую новую мысль. В моменты ступора всегда можно заглянуть в список и найти что-то интересное. Так выглядит мой личный Google Doc идей и заметок.

Инструменты

  • Заметки на Mac OS.
  • Google Документы.
  • Трелло.
  • Google Диск.
  • GitHub. Требуется git и Unity .gitignore.
  • Unity Collab. Самый простой инструмент, но с ограничениями в бесплатной версии.
  • Книга Джесси Шелл «Искусство геймдизайна».
  • Сайт для разработчиков игр Gamasutra.

Что такое Unity

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

Наглядный пример игры, созданной на Unity, которая поддерживает разные устройства, — , успешный мультиплатформенный проект китайской студии miHoYo Limited. Более популярной стала ее мобильная версия, но пользователи могут войти в аккаунт, например, с компьютера и продолжить играть с того же момента, на котором остановились в мобильной версии. Кроме Genshin Impact, на Unity созданы такие известные проекты, как Hearthstone, Outlast, Cuphead, Pokemon GO и многие другие.

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

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

О материалах

материал

Что такое «материал»?

  • Base Color: цвет или текстуру поверхности. Используется для добавления детализации и вариаций цвета.
  • Metallic: насколько металлическим выглядит материал. В общем случае, чисто металлический объект имеет максимальное значение Metallic, а ткань — значение 0.
  • Specular: управляет блеском неметаллических поверхностей. Например, керамика будет обладать высоким значением Specular, в отличие от глины.
  • Roughness: поверхность с максимальной roughness (шероховатостью) не будет иметь никакого блеска. Используется для таких поверхностей, как камень и дерево.

Редактор материалов (Material Editor)

  1. Graph: в этой панели содержатся все ноды (узлы) и нод Result. Перемещаться по панели можно, удерживая правую клавишу мыши и двигая мышью. Масштабирование выполняется прокруткой колёсика мыши.
  2. Details: здесь отображаются свойства выбранного нода. Если нод не выбран, то здесь отображаются свойства материала.
  3. Viewport: содержит меш предварительного просмотра, представляющий материал. Поворачивать камеру можно, удерживая левую клавишу и двигая мышь. Масштабирование выполняется прокруткой колёсика мыши.
  4. Palette: список всех нодов, доступных для вашего материала.

Добавление текстур

текстураBanana_Texture.jpgTextureSampleTextureSampleлевую клавишу мышиперетащив
TextureSampleраскрывающийся списокTexture
Banana_Texture
Resultлевую клавишу мышибеломTextureSampleПеретащитеBase ColorResult
Apply

Blender

Blender — бесплатный пакет для создания трехмерной (3D) компьютерной графики, содержащий средства моделирования, анимации, рендеринга, постобработки видео, а также создания игр. Функций Blender вполне достаточно для работы как обычным пользователям, так и профессионалам. В программе есть все основные инструменты, используемые в профессиональных ЗD-редакторах.

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

Основные возможности Blender:

  • Поддержка разнообразных геометрических примитивов (включая полигональные модели, систему быстрого моделирования в режиме SubSurf, кривые Безье, поверхности NURBS, метасферы, скульптурное моделирование и векторные шрифты).
  • Универсальные встроенные механизмы рендеринга и интеграция с внешним рендерером YafRay.
  • Инструменты анимации, среди которых инверсная кинематика, скелетная анимация и сеточная деформация, анимация по ключевым кадрам, нелинейная анимация, редактирование весовых коэффициентов вершин, ограничители, динамика мягких тел, динамика твердых тел, система волос на основе частиц и система частиц с поддержкой коллизий
  • Python используется как средство создания инструментов и прототипов, системы логики в играх, как средство импорта и экспорта файлов, автоматизации задач.
  • Базовые функции нелинейного редактирования и комбинирования видео.
  • Game Blender — подпроект Blender, предоставляющий интерактивные функции, такие как определение коллизий, движок динамики и программируемая логика.

Stencyl

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

Пользователям, которые работали в Photoshop, понравится графический редактор Scene Designer, предназначенный для рисования игровых миров. Его инструментарий поразительно напоминает меню популярного фоторедактора.

CraftStudio

Добавляйте и изменяйте объекты в 3D пространстве, прописывайте сценарии и правила, рисуйте анимации и эффекты. Авторы CraftStudio продумали всё, чтобы создание игр на PC с нуля в реальном времени было понятным и увлекательным. При этом все инструменты для моделирования и анимаций встроены в программу и понятно обозначены. То же самое можно сказать и о визуальном редакторе сценариев. Что самое интересное — вы не обнаружите проблем с совместимостью форматов или их конвертацией. Для более продвинутых пользователей предусмотрен текстовый редактор Lua Scripting.

Rage Engine (RAGE)

Результат работы подразделений Rockstar Games для внутренней эксплуатации.

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

Часть элементов создана с нуля сотрудниками компании.

Физическая компонента является свободным ПО.

На нём выпущены Red Dead Redemption и Max Payne 3.

Рис. 14 – То, чего не увидят пользователи компьютеров

Технологии сосредоточены на использовании для написания игр с огромным бесшовным игровым пространством.

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

С этим справляется оптимизированный и отточенный менеджер памяти, не допускающий фрагментирования данных в ОЗУ.

Так как основными играми являются представители серии GTA, то и машинам (технике вообще) уделена одна из главных ролей.

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

Система повреждений влияет на езду не только визуально, но и физически: пробитое колесо замедлит авто и ухудшит управляемость.

Анимация людей создаётся автоматически в реальном времени благодаря продвинутому пакету NaturalMotion.

Most Wanted и GTA 3 выпущена на базе предшественника – RenderWave.

Плюсы:

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

Минусы:

  • физика далека от реалистичной (авто летают, ракета может не убить);
  • ощущения от езды на авто близки к не самым лучшим автосимуляторам;
  • не продаётся;
  • интерфейс не оптимизирован под работ с мышей и клавиатурой;
  • требует много графической памяти.

Жаль, что Red Dead Redemption не выпускают на ПК. Так бы хотелось увидеть иную грань движка, не показанную в GTA.

Ограничения игрового ИИ

  • ИИ не нужно заранее тренировать, будто это алгоритм машинного обучения. Бессмысленно писать нейросеть во время разработки, чтобы наблюдать за десятками тысяч игроков и изучать лучший способ игры против них. Почему? Потому что игра не выпущена, а игроков нет.
  • Игра должна развлекать и бросать вызов, поэтому агенты не должны находить лучший подход против людей.
  • Агентам нужно выглядеть реалистичными, чтобы игроки чувствовали будто играют против настоящих людей. Программа AlphaGo превзошла человека, но выбранные шаги были сильно далеки от традиционного понимания игры. Если игра имитирует противника-человека, такого чувства не должно быть. Алгоритм нужно изменить, чтобы он принимал правдоподобные решения, а не идеальные.
  • ИИ должен работать в реальном времени. Это значит, что алгоритм не может монополизировать использование процессора в течение длительного времени для принятия решений. Даже 10 миллисекунд на это — слишком долго, потому что большинству игр достаточно от 16 до 33 миллисекунд, чтобы выполнить всю обработку и перейти к следующему кадру графики.
  • Идеально, если хотя бы часть системы управляется данными, чтобы «некодеры» могли вносить изменения, и чтобы корректировки происходили быстрее.

Условные операторы

every frame/update while the game is running:
if the ball is to the left of the paddle:
move paddle left
else if the ball is to the right of the paddle:
move paddle right

  • Часть Sense находится в двух операторах if. Игра знает где мяч и где платформа, поэтому ИИ обращается к ней за этой информацией.
  • Часть Think тоже входит в два оператора if. Они воплощают в себе два решения, которые в данном случае являются взаимоисключающими. В результате выбирается одно из трех действий — переместить платформу влево, переместить вправо, или ничего не делать, если она уже правильно расположена.
  • Часть Act находится в операторах Move Paddle Left и Move Paddle Right. В зависимости от дизайна игры, они могут перемещать платформу мгновенно или с определенной скоростью.

Дерево решений

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

libGDX

libGDX – популярный в среде разработчиков мобильных программ кроссплатформенный фреймворк, использующий C++ и Java. Он полностью бесплатен и поддерживает популярные современные ОС. Это инструмент для продвинутых девелоперов, так как без развитых навыков программирования в нем никак. Зато он поддерживает работу с 2D и 3D, умеет работать с подключаемыми модулями и библиотеками.

SDK предлагает встроенную библиотеку элементов UI, которые можно использовать в составе своей программы. Проекты, созданные в libGDX, имеют модульную архитектуру, благодаря чему можно собирать игры на основе основного модуля ядра с подключением специфичных отдельных модулей для каждой платформы (Windows, Android, Linux и т.д.).

Плюсы libGDX

Плюсы фреймворка – это:

  • бесплатность;
  • кроссплатформенность;
  • виджеты и библиотеки для разработки UI;
  • подключаемые внешние расширения и модули;
  • производительность.
Гость форума
От: admin

Эта тема закрыта для публикации ответов.