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
Ta instrukcja zawiera ogólny opis i odnośniki do osobnych instrukcji dotyczących poszczególnych tematów.
Defold obsługuje automatyzację na kilku poziomach. Wybór interfejsu odpowiedniego do zadania jest jednym z najważniejszych aspektów skutecznej automatyzacji. Poniższa tabela pomoże wybrać najprostszy interfejs dla danego działania:
| Warstwa | Zastosowanie |
|---|---|
| Skrypty edytora | Własne polecenia i przepływy pracy lub integracje edytora, które przyspieszają testowanie i tworzenie, np. poziomów i zasobów |
| Skrypty interfejsu edytora | Własne narzędzia wizualne, wyskakujące okna, konfiguratory lub interfejsy użytkownika korzystające ze skryptów edytora |
| Editor HTTP API | Sterowanie otwartym projektem gry w edytorze Defold za pomocą operacji OpenAPI, zasobów projektu, buildów, poleceń edytora, podglądów, preferencji, danych wyjściowych konsoli lub skryptów edytora udostępniających własne operacje narzędziom zewnętrznym, integracjom IDE i kontrolerom testów |
| Bob CLI | Budowanie projektu, tworzenie archiwów danych lub samodzielnych pakietów z wiersza poleceń, raporty, CI |
| Haki cyklu życia | Walidacja lub generowanie przed budowaniem i tworzeniem pakietów w edytorze oraz po ich zakończeniu |
| Usługa HTTP silnika | Sprawdzanie uruchomionego silnika gry Defold (dmengine), usługi programistyczne, profilowanie, wiadomości czasu działania lub interfejsy API automatyzacji w czasie działania zdefiniowane przez rozszerzenia, odpytywanie przez narzędzia zewnętrzne, wysyłanie poleceń do uruchomionej kompilacji w trybie debugowania |
| Automation Bridge | oficjalne rozszerzenie Defold, które udostępnia dodatkowe punkty końcowe automatyzacji silnika w czasie działania |
| Testy automatyczne | Testowanie logiki gry, wiadomości, komponentów, wejścia, fizyki i zachowania silnika, sprawdzanie scen, wizualne informacje zwrotne np. za pomocą podglądu edytora, wstrzykiwanie wejścia, bieżący stan aplikacji, uruchamiane kolekcje testowe |
| Skrypty powłoki lub narzędzia do uruchamiania zadań | Generowanie, formatowanie, walidacja i powtarzalne zadania, zwykłe operacje na plikach |
| Zewnętrzne narzędzia automatyzacji charakterystyczne dla platformy i przeglądarek internetowych | Narzędzia do testowania aplikacji komputerowych, testy interakcji HTML5, zrzuty ekranu, integracje internetowe |
| Agenci AI wspomagający programowanie i modele multimodalne | Zadania, dla których podejście deterministyczne jest trudne lub niemożliwe do zaimplementowania, analiza semantyczna scen, układów GUI lub zrzutów ekranu z uruchomionej aplikacji |
Najważniejszym rozróżnieniem jest podział na edytor Defold i uruchomioną grę. Są to osobne procesy z osobnymi serwerami HTTP.
Rozwiązanie deterministyczne jest preferowane, gdy sekwencja operacji jest już znana, na przykład w przypadku walidatora poziomów, programu formatującego, zadania budowania lub testu regresji. Takie rozwiązania powinny zwykle mieć stabilne dane wejściowe, dane wyjściowe, limity czasu i kody wyjścia. Dobrze sprawdzają się w automatycznych hakach i testach, które można niezawodnie uruchamiać w CI. Preferowane jest również deterministyczne rozwiązanie do proceduralnego tworzenia zasobów w projektach, np. narzędzie przekształcające obiekty gltf w modele z określonym materiałem albo wypełniające poziom drzewami. Takie procedury można łatwo tworzyć dla każdego projektu za pomocą skryptów edytora i interfejsu użytkownika. Więcej informacji znajduje się w instrukcji.
Agent może być przydatny, gdy zadanie wymaga analizy lub przetwarzania multimodalnego (np. obejmującego obrazy): znajdowania odpowiednich zasobów, wyboru implementacji, modyfikowania kilku plików, interpretowania błędów i iteracyjnego dążenia do zdefiniowanych kryteriów akceptacji. Agent powinien jednak nadal wywoływać interfejsy deterministyczne i korzystać z tych samych dowodów, co lokalny skrypt lub mechanizm wykonawczy CI. Zobacz instrukcję dotyczącą korzystania z agentów AI wspomagających programowanie z Defold.
Niezawodny proces automatyzacji tworzy zamkniętą pętlę:

Weryfikacja powinna dostarczać dowodów z rzeczywistego środowiska. Odpowiednie dowody obejmują:
Oczekiwany wynik należy określić przed wprowadzeniem zmian. Należy także określić limit czasu i maksymalną liczbę prób naprawy. Proces nienadzorowany nie powinien trwać w nieskończoność, jeśli nie może spełnić kryteriów akceptacji.
Więcej informacji na temat konkretnych przepływów pracy automatyzacji znajduje się w następujących instrukcjach: