Godot использует очень объектно-ориентированный подход к процессу разработки игр. Они используют технику, получившую название «Сцены и узлы», что очень интересно. Этот метод делает создание игр очень простым, потому что теория, лежащая в основе этого, очень проста. По сути, все является узлом, а группа узлов - это сцена. Вот и все.

Узлы

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

Древовидная структура узлов - это то, что делает Годо «Годо». Это позволяет вам создать, скажем, игрока, а затем дать ему такие вещи, как кинематическое тело, в качестве дочернего узла. Это легко показывает, что у этого персонажа есть кинематическое тело, просто взглянув на структуру вашей сцены. Это очень хорошо сочетается с ментальной моделью, которую уже используют все программисты, структурой папок с файлами. Вместо файлов думайте о каждом узле как о папке. Внутри папки есть свойства, тогда каждая подпапка содержит больше свойств. Благодаря такой структуре разработка игр становится менее чуждой, когда вы впервые в нее входите.

Сцены
Сцены - это просто группы узлов. Следуя философии повторного использования кода, Годо использует сцены для группировки деревьев узлов. Это позволяет вам создать, например, «сцену игрока», в которой находятся все узлы, относящиеся к игроку. Эта «сцена игрока» затем помещается, например, в дерево узлов уровня. Этот уровень, возможно, содержит врагов или карту тайлов, а также игрока. Когда вы смотрите на сцену этого уровня, вы не переусердствуете со всеми дочерними узлами этого узла игрока, вы просто получаете игрока. Это замечательно, потому что убирает беспорядок, позволяя вам сосредоточиться на том, что должна делать сцена.
Что делает сцену хорошей:
- У нее должен быть один корневой узел
- Это может быть сохранен на диск и загружен снова
- Его можно создать экземпляр (рассматривать как узел и добавлять в дерево более высокого порядка)

Как вы можете видеть здесь, корневой узел - это игрок, он содержит дочерние узлы и вместе составляет сцену. Эта сцена суммирует весь поток узлов и сцен. Лучше всего вы можете добавить эту сцену игрока в другую сцену. Затем вы можете импортировать эти сцены в другую сцену, называемую экземпляром.

Затем вы можете поместить эту мировую сцену в другую сцену, как если бы вы сделали узел, как мы сделали с этой сценой игрока. Узлы - это все, а собрание всего - это сцена.

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

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