Хочу в геймдев! Основы игровой разработки для начинающих - Вячеслав Николаевич Уточкин
Если же вы планируете создать игру с более или менее типовым геймплеем, готовые движки сильно упростят задачу. У них есть документация, где всегда можно прочитать, что он умеет или не умеет делать. Самый простой способ узнать, реализует ли выбранный движок ту или иную игровую механику, это изучить его описание или же просто задать вопрос в поисковиках.
Готовые игровые движки можно разделить по двум признакам. Во-первых, по игровой платформе: движки могут быть кросс-платформенными или же подходить только для создания игры под конкретную платформу (мобильные, ПК-игры и т. д.).
Во-вторых, важен жанр создаваемой игры. Существуют игровые движки, так скажем, широкого профиля, поддерживающие игры разных жанров, но есть и специализированные движки, дающие инструментарий для создания, например, визуальных новелл (Ren’Py). Движок, спроектированный для гонок, будет существенно отличаться от движка для MMORPG или стратегии в реальном времени. Но есть и общие вещи: например, трехмерные игры любого жанра требуют системы 3D-рендеринга, взаимодействия с геймпадом, клавиатурой и/или мышью, звукового сопровождения и так далее.
Еще один важный фактор при выборе движка – опыт участников проекта, в том числе языки программирования, которыми они владеют.
МНОГОПРОФИЛЬНЫЕ ДВИЖКИ UNITY И UNREAL ENGINE
Самые популярные игровые движки – это Unreal Engine и Unity.
UNITY развивается с 2005 года. На Unity разработаны тысячи приложений и игр разных жанров на более чем 25 платформах. Его любят как крупные студии, так и инди-разработчики.
Изначально Unity создавался для компьютеров Mac, в следующих версиях добавлялись новые платформы: Windows, IPhone, Android, Xbox, Playstation и другие.
Для написания скриптов движок использует язык программирования C#, считающийся несложным в изучении и работе. В редакторе Unity простой интерфейс, что позволяет легко производить отладку игры. Главными преимуществами Unity считают кросс-платформенность и наличие визуальной среды разработки.
Если выбирать между Unreal Engine и Unity, можно отметить, что последний иногда удобнее для начинающих программистов, он предлагает множество готовых решений и для создания простых игр обычно выбирают именно его. Сообщество Unity считается самым большим (ведь он стал первым бесплатным движком для инди-разработчиков), поэтому, если возникнут какие-то вопросы, вы всегда сможете рассчитывать на консультацию. Однако, если с программированием отношения сложные, Unreal Engine может кому-то показаться более дружелюбным.
Работая с любым движком, сложно добиться ААА-графики в динамике, особенно для консольной игры. Планка качества графики и спецэффектов непрерывно растет, организация совместной работы над огромным количеством внутриигровых объектов усложняется. За последние годы разработчики Unity проделали большую работу для повышения уровня графики, так что сегодня создавать красивые и качественные игры можно на обоих движках.
Большие открытые миры – еще одна сложная задача. Поэтому многие известные игры (Grand Theft Auto, Red Dead Redemption, Metal Gear Solid 5, Horizon: Zero Dawn и другие) сделаны на собственных движках, заточенных под эту техническую задачу. Многие подсистемы Unity не рассчитаны на создание чего-то подобного – к примеру, на организацию большого количества сцен и объектов. В ряде случаев они накладывают серьезные ограничения на размер внутриигрового мира, но их можно обойти с помощью уловок гейм-дизайна. Unity постоянно работает над новыми технологиями для решения таких задач.
Раньше у Unity были сложности с реализацией защиты от читов[46]. Считалось, что его игровой клиент легче вскрывается, а значит, для игр, где читерство могло стать проблемой, разработчики задумывались о другом решении. Сегодня при прочих равных взлом игры, разработанной на Unity, не будет проще; компания постоянно работает над укреплением надежности клиент-серверной архитектуры и шифрованием внутриигровых данных. Студии, занимающиеся мультиплеерными проектами, нередко прибегают к сторонним решениям для защиты от читов, например PunkBuster.
Плюсом Unity является модульная система, что позволяет подключать нужные модули физики, рендеринга, аналитики, монетизации и т. д., не выходя из движка.
Unity – один из самых универсальных движков, с его помощью можно создавать игры любого жанра. Он удобен для разработки, например, CRPG с видом три четверти или изометрическим видом (Pathfinder: Kingmaker, Pillars of Eternity и т. п.). Также хорошо использовать Unity для survival-игр (игр про выживание), где обычно не очень большая карта, простая графика и умеренная динамика. Удачные примеры игр на Unity: Hearthstone, Ori and the Blind Forest, Escape from Tarkov; мобильные проекты – Pokemon Go, Super Mario Run и другие.
UNREAL ENGINE выпустила в 1998 году компания Epic Games. Это один из первых универсальных движков, совмещающих физику, рендеринг, искусственный интеллект и готовую среду разработки. Изначально он создавался для работы над шутерами от первого лица, однако последующие версии применяются для игр самых разных жанров. Unreal Engine всегда уделял много внимания впечатляющей картинке, им пользуются и в кинематографе; сегодня он предоставляет продвинутый инструментарий для создания фотореалистичной 3D-графики в реальном времени. Компания Epic Games и сама делает игры на своем движке, в том числе одну из самых зарабатывающих игр в мире, реализованную на всех игровых платформах, – Fortnite.
Преимуществом Unreal Engine является мощная система блупринтов, с помощью которой легко и удобно прорабатывать игровую логику. Блупринты – это скриптовая система, которая представляет собой визуальный интерфейс для создания элементов геймплея. Она позволяет гейм-дизайнерам, вообще не знающим кода, использовать почти полный потенциал программирования. Если вы хотите создавать контент (интерфейс, геймплей, игровые уровни и т. д.) самостоятельно, удобно работать с Unreal Engine, хотя для некоторых вещей классический код остается в приоритете.
А вот если вы планируете использовать много готовых ассетов, это может быть плюсом к выбору Unity, имеющему огромный магазин. Разработчики Unity создали также собственный инструмент визуального скриптинга – Bolt, позволяющий реализовывать игровую логику без ручного ввода программного кода.
Unreal Engine имеет много готовых решений по графике. Он хорошо поддерживает технологии RTX[47], регулярно выпускает обновления, дающие новые возможности создания впечатляющей картинки. Удобный редактор позволяет прописать игровую логику без специальных навыков программирования, а реалистичная графика, игра света и тени, звуки создают необходимую атмосферу.
Вы всегда можете ознакомиться с актуальными условиями использования движков в открытых источниках и решить, какой из них выгоднее использовать для вашей игры.
Если к открытому миру без загрузок добавляется ААА-графика и большое количество взаимодействия с миром, можно рассмотреть движок CRYENGINE: он как раз стоит