Англійська для розробників Godot Engine

Освоєння англійської мови, яка потрібна розробникам Godot для обговорення дерева сцен, сигналів, вузлів і GDScript під час перегляду коду і розмов щодо проектування.

Модель вузлів і сцен Godot має свій власний словник, який не відображає чисто на Unity або Unreal терміни, і команди, що змішують фони рушія, часто говорять один про одного в результаті. Такі терміни, як «дерево сцен», «сигнал» і «автозавантаження» мають точне значення в Godot. Цей підручник містить інформацію про англійську мову, яку використовують під час обговорення проектів Godot з командою.

Ключовий словник

** Дерево сцен ** — ієрархія вузлів під час виконання, які складають запущену гру, побудовану з одного або декількох файлів сцен, які були створені і вкладені разом. “Перевірте, де у дереві сцени цей вузол знаходиться під час виконання — шляхи get_node відносні, і відновлення раніше у кадрі може беззвучно їх розірвати.”

** Signal ** — вбудований шаблон спостерігача Godot, що дозволяє вузлу випускати подію, до якої з’ єднуються інші вузли без потреби прямого посилання один на одного. “Замість того, щоб скрипт ворога викликав гравця безпосередньо, випустити сигнал died і дозволити менеджеру гри під’ єднатися до нього — це збереже їх роз’ єднання.”

** вузол ** — основний блок сцени Godot, кожен з яких має певний тип (Sprite2D, CharacterBody3D, Control) і розташування у дереві сцени.

  • “Ця логіка не належить до вузла гравця — перетягніть її у спеціальний дочірній вузол, щоб її можна було використовувати і для ворогів.” *

** Автозавантаження (одноразове) ** — скрипт або сцена, зареєстровані для автоматичного завантаження і збереження змін сцени, шаблон Godot для глобального стану і служб.

  • “Не розкидайте логіку збереження гри по всіх сценах — вставте її у синґлет автозавантаження, щоб вона зберігалася незалежно від того, яка сцена завантажена в даний момент.” *

** Ресурс ** — об’ єкт даних, який можна серіалізувати ( .tres / .res ), наприклад, текстура, матеріал або нетиповий клас даних, спільно використовується за допомогою посилання у декількох вузлах без дублювання.

  • “Перетворіть цей блок статистичних даних ворога на нетиповий Ресурс замість твердих значень у скрипту — тоді дизайнери зможуть змінювати його без дотику до коду.” *

** Physics process ** — функція оновлення з фіксованим кроком часу ( _physics_process ), що використовується для логіки руху і зіткнень, відрізняється від функції оновлення з змінним кроком часу _process, що використовується для загальних оновлень за кадром. “Пересунути цей залежний від зіткнень код руху в _physics_process — запуск його в _process означає, що він буде поводитися по-різному залежно від частоти кадрів.”

Звичайні фрази

  • Чи це пряме з’єднання, чи ми повинні роз’єднати його за допомогою сигналу?»
  • «Де це автозавантаження насправді ініціалізується, і що залежить від цього порядку?»
  • Чи повинні ці дані жити в Ресурсі, щоб дизайнери могли змінити їх без торкання до сценарію?»
  • Чи ця логіка працює в _process, коли вона насправді потребує _physics_process для послідовної поведінки?
  • Як глибока ця get_node дорога, і чи зламає вона, якщо сцена буде перебудована?

Приклади висловлювань

Перегляд запиту на звантаження: “Цей вузол досягає трьох рівнів вгору по дереву з get_node("../../..") — це крихке; чи можемо ми використовувати сигнал або експортовану посилання на вузол замість цього?”

Пояснення рішення про проектування:

  • “Ми зробили систему інвентарю автоматично завантажуваною, а не приєднали її до вузла програвача, оскільки сцена магазину і меню паузи мають читати її незалежно.” *

Опис події: “Фізична помилка, пов’язана з логікою руху, що працює всередині _process замість _physics_process — вона працювала добре на 60fps і зламалася на повільніших пристроях.”

Професійні поради

  • Скажіть “з’єднати сигнал” замість “додати зворотний виклик” - це термін, який очікують розробники Godot і сигналізує про знайомство з моделлю подій рушія.
  • Коли пропонуєте від’єднання, назвіть його явно: “випустити сигнал замість прямого виклику” — це ідіома, яку шукають рецензенти Godot fix.
  • Використовуйте « autoload » замість « global script » — це точний термін у параметрах проекту Godot, який уникає неоднозначності.
  • Прапор _process проти _physics_process явно в перегляді — це одна з найпоширеніших тонких помилок у проектах Godot.

Практичні вправи

  1. Поясніть у двох реченнях, чому сигнали є кращими за прямі посилання на вузли для від’ єднання.
  2. Написати коментар перегляду коду з одним реченням, що позначає хибний шлях get_node.
  3. Опишемо, вашими словами, різницю між _process і _physics_process.

На практиці: перетинаючи прогалини — говорячи професійно з не-національними розробниками

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

Розглянемо типовий сценарій: ви витратили цілий день на ретельне створення нової сцени для гри, у якій використано складні анімації і складні зв’ язки між вузлами. Після цього ви надсилаєте ваш запит на завантаження (PR) до головної бази коду. Ваш старший розробник, Сара, залишає коментар до вашого опису PR: « Це хороша робота, але чи не могли б ми переробити скрипт руху? » Зараз вона тісно пов’язана з анімацією персонажа - розгляньте можливість її від’єднання для кращого тестування і підтримки. ” Зауважте, як Сара не просто вказує на проблему; вона пропонує *розв’язання *, використовуючи конкретні технічні терміни. Нерідний мовець може негайно зосередитися на «тестовості» і «обслуговуванню», але боротися з прихованими очікуваннями, що їх код повинен бути розроблений в певний спосіб, дотримуючись встановлених командних практик. Аналогічно, уявіть, що ви отримуєте повідомлення Slack від іншого розробника: «Гей @username, просто цікаво, чи ви розглядали використання signal() для цієї взаємодії? Це може спростити речі вниз по лінії. “Використання @username є соціальним підказкою, але ядро повідомлення - заклик до конкретного підходу сигналізації - покладається на спільні знання і термінологію.

Інша поширена ситуація виникає під час перегляду коду. Рецензент може сказати: «Я бачу деякі вузли продуктивності, пов’язані з надмірним доступом вузлів у функції update(). Чи могли б ви дослідити використання об’ єктно- орієнтованого об’ єднання або стратегій кешування? » Це не просто вказівка на проблему; це запрошення для розробника * пояснити * свої аргументи і запропонувати альтернативні рішення. Ключовим є визнання того, що професійна англійська мова в цьому контексті має немовляві очікування - ефективність, масштабованість і дотримання встановлених архітектурних шаблонів. Це вимагає не тільки розуміння окремих слів, але і розуміння нюансів того, як вони використовуються для керування рішеннями з розробки.

Крім того, важливо розуміти фрази, пов’язані з пріоритетом і невідкладністю. Замість того, щоб сказати « Це потребує виправлення », розробник може сказати: « Чи можемо ми розв’ язати цю ваду високого пріоритету до наступної збірки? » Додаток « високого пріоритету » негайно передає важливість проблеми, впливає на відповідь і, можливо, впливає на часові рамки.

Ось приклад того, як ви можете використовувати godot_resource_loader для ефективного завантаження ресурсів:

var resource = godot_resource_loader.load("res://assets/my_texture.png")
print(resource) # Output: GodotResource object representing the loaded texture

Ця проста команда ілюструє звичайний робочий процес — керування ресурсами у рушії, і чітке повідомлення про цей процес є ключовим для успішного співробітництва.

Поширені запитання

Про що ця стаття "Англійська для розробників Godot Engine"?

Освоєння англійської мови, яка потрібна розробникам Godot для обговорення дерева сцен, сигналів, вузлів і GDScript під час перегляду коду і розмов щодо проектування.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "Англійська для розробників Godot Engine"?

Приблизно 7 min.