Научная статья на тему 'GODOT ENGINE В СОВРЕМЕННОЙ ИГРОВОЙ ИНДУСТРИИ'

GODOT ENGINE В СОВРЕМЕННОЙ ИГРОВОЙ ИНДУСТРИИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
423
50
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИГРОВОЙ ДВИЖОК / РАЗРАБОТКА ИГР / ГРАФИКА / ПЕРСОНАЖИ / АНИМАЦИИ / ФИЗИКА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ломайкин А. С.

Игровые движки являются фундаментальной основой игры. Это объединение прикладных программ, обрабатывающих графику, звуки, перемещение персонажей взаимодействие со скриптами и многое другое. Godot Engine является кроссплатформенным движком для создания 2D и 3D игр.Game engines are the fundamental backbone of a game. This is a combination of application programs that process graphics, sounds, character movement, interaction with scripts, and much more. Godot Engine is a cross-platform engine for creating 2D and 3D games.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «GODOT ENGINE В СОВРЕМЕННОЙ ИГРОВОЙ ИНДУСТРИИ»

УДК 004.946

Информационные технологии

Ломайкин Алексей Сергеевич, студент магистратуры, ФГБОУ ВО «МГУ им. Н.П. Огарёва»

GODOT ENGINE В СОВРЕМЕННОЙ ИГРОВОЙ ИНДУСТРИИ

Аннотация: Игровые движки являются фундаментальной основой игры. Это объединение прикладных программ, обрабатывающих графику, звуки, перемещение персонажей взаимодействие со скриптами и многое другое. Godot Engine является кроссплатформенным движком для создания 2D и 3D игр.

Ключевые слова: Игровой движок, разработка игр, графика, персонажи, анимации, физика.

Abstract: Game engines are the fundamental backbone of a game. This is a combination of application programs that process graphics, sounds, character movement, interaction with scripts, and much more. Godot Engine is a cross-platform engine for creating 2D and 3D games.

Key words: Game engine, game development, graphics, characters, animation, physics.

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

Одним из современных игровых движков является Godot Engine -бесплатный и открытый движок, разработанный с нуля. Движок разработан на C++ и использует язык GDScript, являющийся легким для изучения и использования благодаря своей простоте. Godot - это 2D и 3D игровой движок,

использующийся для создания игр или приложений, которые можно запускать на компьютерных или мобильных платформах, а таже на приставках и в web. Godot полностью бесплатный и имеет открытый исходный код.

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

История создания и развития. Разработка Godot началась в 2007 году дизайнером и разработчиком видеоигр Хуаном Лоренцо Грайтнером из Аргентины. В начале он создал движок с использованием языка Python, который назывался "GDScript Engine".

Однако в 2014 году он принял решение переписать движок на C++, чтобы улучшить производительность. Этот новый движок и стал известен как Godot Engine. Он был выпущен в свободное пользование в 2014 году под лицензией MIT.

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

Версия 3.0 была выпущена 29 января 2018 года, добавив совершенно новый рендерер PBR реализовано в OpenGL ES 3.0, совместимость с виртуальной реальностью и поддержка C # (через Mono). Версия 3.0 также добавила физический движок Bullet в дополнение к встроенной в него 3D-физике и стала первой версией Godot, включенной в Debian.

1 марта 2023 года, после многочисленных альфа и бета версий, вышла версия 4.0, значительно улучшившая работу с графикой, физикой, редактором, а также сделавшая работу с Godot Engine в разы удобнее [2].

Архитектура Godot Engine. Godot Engine - это кроссплатформенный

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

Консоль (ядра): ядро движка Godot предоставляет основную функциональность, такую как поддержка графики, звука, ввода, физического движка, GUI, анимации и др. Ядро движка выполнено на C++ и полностью доступно в исходных кодах.

Сцены являются одним из основных компонентов архитектуры Godot Engine. Они состоят из дерева узлов, где каждый узел представляет игровой объект, такой как персонаж, камера, свет, объекты, звуки и т. д. Узлы могут быть объединены в один или несколько объектов и могут быть масштабированы, перемещены, вращены и т.д.

Скрипты. Godot Engine поддерживает несколько языков программирования для написания скриптов, включая GDScript, C#, Python, Visual Scripting. Скрипты позволяют создавать настроенное поведение для каждого объекта и определять различные взаимодействия между объектами и игроком.

Ресурсы. Примерами ресурсов в Godot Engine являются текстуры, звуки, модели, анимации и т. д. Эти ресурсы могут быть загружены в сцену и использоваться в игре. Важным аспектом архитектуры Godot Engine является то, что ресурсы могут быть переиспользованы в разных проектах.

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

Концепции. Архитектура проекта в Godot Engine представлена в виде

дерева узлов, которые объединяются в сцены и работают с помощью сигналов и других способов [3].

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

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

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

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

Другой важной особенностью является наличие графической подсистемы, которая поддерживает многие фишки современных графических API, в том

числе OpenGL ES 2 и B, Vulkan и Metal. Благодаря этому возможно создавать игры с потрясающей графикой и наивысшей производительностью. Godot поддерживает эффекты отражения, динамических теней, статичного и динамичного глобального освещения, полноэкранной постобработки.

Движок также поддерживает реалистичную физику - систему частиц (дыма, пара, взрывов, тумана и т. д.), свойств динамичных и статичных тел, столкновений и разрушений, трассировки лучей и других физических процессов.

Кроме того, Godot Engine имеет встроенные утилиты для обработки физики, анимации, звука, аудиоэффектов и многое другое, что позволяет разработчикам легко реализовывать те функции, которые нужны для создания игры. Движок поддерживает сетку навигации - алгоритм нахождения игровым объектом оптимального маршрута в сложном пространстве, а также процедурную генерацию - автоматическое создание внутриигрового контента (окружения, NPC, объектов, предметов для использования с помощью алгоритмов.

Godot имеет встроенный редактор сцен, позволяющий создавать сцены и добавлять объекты с помощью drag-and-drop. Редактор предоставляет удобный и интуитивно понятный пользовательский интерфейс, облегчающий редактирование и настройку различных объектов [4].

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

Сравнение с популярными движками. Godot Engine имеет свои преимущества и недостатки по сравнению с другими популярными игровыми движками.

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

степенью функциональности. Unity, как и Godot Engine, позволяет быстро и легко создавать игры на различных платформах благодаря его широкому набору настроек и редакторам сцен. Однако, Unity обладает более обширным набором функций и возможностей, которые позволяют работать со сложными игровыми механиками и создавать игры с отличной графикой [5]. Кроме того, Unity лучше интегрируется с широкой экосистемой инструментов и платформ.

Unreal Engine - еще один из наиболее популярных игровых движков. Unreal Engine позволяет разработчикам создавать игры с качественной графикой, в том числе виртуальную реальность, благодаря использованию мощного графического движка и инструментария для разработки. Unreal Engine также хорошо известен своей поддержкой для широкого диапазона компьютерных платформ и мощных инструментов для создания игровых механик [6]. Однако Unreal Engine не такой доступный как Godot Engine, которому не нужны дополнительные утилиты для разработки. Кроме того, при обороте от 1млн. долларов придется платить 5% роялти.

Construct 3 - популярный игровой движок, который имеет уникальный, визуально ориентированный подход к программированию и созданию игр [7]. Construct 3 предоставляет простые и понятные инструменты для создания игрового контента, что позволяет обходиться без знаний программирования, в отличие от Godot Engine.

Однако, Godot Engine предоставляет более широкий набор инструментов для создания сложных игровых механик и редактирования сцен. Кроме того, Godot Engine обладает графической системой, которая позволяет создавать хорошую графику, а Construct 3 не включает такую функциональность.

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

потребностей и опыта.

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

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

Кроме того, Godot Engine имеет поддержку для 2D и 3D графики, встроенные инструменты для создания анимации, поддержку нескольких языков программирования и утилиты для создания сетевых игр. Благодаря этому Godot позволяет разработчикам создавать сложные и качественные игры.

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

Библиографический список:

1. Редактор Godot Engine [электронный ресурс] docs.godotengine.org -режим доступа: https://docs.godotengine.org/ru/stable/getting_started/introduction/ introduction_to_godot.html (дата обращения: 10.04.2023).

2. Godot 4.0 [электронный ресурс] godotengine.org - режим доступа: https://godotengine.org/article/godot-4-0-sets-sail (дата обращения: 15.04.2023).

3. Концепции Godot [электронный ресурс] docs.godotengine.org - режим доступа: https://docs.godotengine.org/ru/stable/getting_started/introduction/ key_ concepts_overview.html (дата обращения: 12.04.2023).

4. Редактор Godot [электронный ресурс] docs.godotengine.org - режим доступа: https: //docs. godotengine. org/ru/stable/getting_started/introduction/ first_look_ at_the_editor.html (дата обращения: 12.04.2023).

5. Функционал Unity [электронный ресурс] learn.unity.com - режим доступа: https://learn.unity.com (дата обращения: 14.04.2023).

6. Функционал Unreal Engine [электронный ресурс] docs.unrealengine.com - режим доступа: https://docs.unrealengine.com/5.2/en-US (дата обращения: 14.04.2023).

7. Функционал Construct 3 [электронный ресурс] www.construct.net -режим доступа: https://www.construct.net/en/make-games/education (дата обращения: 14.04.2023).

i Надоели баннеры? Вы всегда можете отключить рекламу.