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

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