Manuals
Manuals




This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English

Автоматизація в Defold

Цей посібник містить загальний опис і посилання на окремі посібники з кожної теми.

Defold підтримує автоматизацію на кількох рівнях. Вибір відповідного до завдання інтерфейсу є одним із найважливіших аспектів ефективної автоматизації. Наведена нижче таблиця допоможе вибрати найпростіший інтерфейс для певної дії:

Рівень Призначення
Скрипти редактора Власні команди й робочі процеси або інтеграції редактора для прискорення тестування та розробки, наприклад створення рівнів і ресурсів
Скрипти інтерфейсу редактора Власні візуальні інструменти, спливні вікна, конфігуратори або інтерфейси користувача на основі скриптів редактора
HTTP API редактора Керування відкритим ігровим проєктом у редакторі Defold через операції OpenAPI, ресурси проєкту, збірки, команди редактора, попередні перегляди, налаштування, виведення консолі або скрипти редактора для власних операцій, зовнішніх інструментів, інтеграцій з IDE та контролерів тестування
Bob CLI Збирання проєкту, створення архівів даних або автономних пакетів з командного рядка, звіти, CI
Обробники життєвого циклу Перевірка або генерування до та після збирання чи пакування в редакторі
HTTP-сервіс рушія Інспектування запущеного ігрового рушія Defold (dmengine), сервіси розробки, профілювання, повідомлення середовища виконання або визначені розширеннями API автоматизації середовища виконання, запити зовнішніх інструментів, надсилання команд запущеній налагоджувальній збірці
Automation Bridge Офіційне розширення Defold, яке надає додаткові кінцеві точки автоматизації середовища виконання рушія
Автоматизовані тести Тестування ігрової логіки, повідомлень, компонентів, введення, фізики та поведінки рушія, інспектування сцен, візуальний зворотний зв’язок, наприклад через попередній перегляд редактора, ін’єкцію введення, поточний стан застосунку, запущені тестові колекції
Скрипти оболонки або засоби запуску завдань Генерування, форматування, перевірка та повторювані завдання, звичайні операції з файлами
Зовнішні засоби автоматизації для окремих платформ і веббраузерів Засоби тестування настільних застосунків, тести взаємодії HTML5, знімки екрана, вебінтеграції
Агенти програмування ШІ та мультимодальні моделі Завдання, для яких детермінований підхід складно або неможливо реалізувати, семантичний аналіз сцен, макетів GUI чи знімків екрана середовища виконання

Найважливішою є відмінність між редактором Defold і запущеною грою. Це окремі процеси з окремими HTTP-серверами.

Детермінована автоматизація або агенти ШІ

Віддавайте перевагу детермінованому рішенню, якщо послідовність операцій уже відома, наприклад у засобі перевірки рівнів, форматері, завданні збирання чи регресійному тесті. Такі рішення зазвичай повинні мати стабільні вхідні та вихідні дані, тайм-аути й коди завершення. Це добре підходить для автоматизованих обробників і тестів, які можна надійно запускати в CI. Для процедурного створення ресурсів у ваших проєктах також варто віддавати перевагу детермінованому рішенню, наприклад засобу перетворення об’єктів gltf на моделі із заданим матеріалом, заповнення рівня деревами тощо. Такі процедури можна легко створити для кожного проєкту за допомогою скриптів редактора та інтерфейсу користувача. Докладніше читайте в посібнику.

Агент може бути корисним, коли завдання потребує дослідження або мультимодального (наприклад, із залученням візуальних даних) аналізу: пошуку відповідних ресурсів, вибору реалізації, змінення кількох файлів, тлумачення помилок та ітеративного наближення до визначених критеріїв приймання. Утім, агент усе одно має викликати детерміновані інтерфейси й використовувати ті самі докази, що й локальний скрипт або засіб запуску CI. Дивіться посібник про використання агентів програмування ШІ з Defold.

Цикл автоматизації

Надійний процес автоматизації утворює замкнений цикл:

  1. Інспектування — читання файлів проєкту, поточного опису інтерфейсу та відповідної документації.
  2. Змінення — використання транзакцій редактора, скриптів редактора або засобів роботи з файлами й оболонкою.
  3. Перевірка — збирання, запуск цільових тестів і збирання журналів, звітів, стану чи зображень.
  4. Оцінювання — порівняння доказів із критеріями приймання, а потім завершення або повторення спроби.

Цикл автоматизації: інспектування, змінення, перевірка й оцінювання

Перевірка має надавати докази з фактичного середовища. Придатними доказами є:

  • результат успішного збирання;
  • явно завершений набір тестів;
  • очікуваний стан запущеної гри;
  • згенерований пакет або звіт про збирання;
  • детерміноване порівняння зображень;
  • знімок екрана, що відповідає визначеним візуальним критеріям.

Визначте очікуваний результат до внесення змін. Також визначте тайм-аут і максимальну кількість спроб виправлення. Процес без нагляду не повинен тривати нескінченно, якщо він не може задовольнити критерії приймання.

Наступні кроки

Докладніше про окремі теми робочих процесів автоматизації читайте в таких посібниках: