Metody wspierania

Godot Engine jest projektem nienastawionym na zysk, skupioną wokół idei wolnego oprogramowania. Prawie wszyscy (oprócz głównego dewelopera Juana, więcej na ten temat poniżej) deweloperzy pracują pro bono w swoim czasie wolnym, z osobistego zainteresowania i z miłości do tworzenia wolnego i otwartego silnika wyjątkowej jakości.

Oznacza to, że aby dobrze się rozwijać, Godot potrzebuje jak największej liczby użytkowników zaangażowanych w pracę przy silnika. Istnieje wiele sposobów, aby pomóc w realizacji tak dużego projektu, dzięki czemu każdy będzie mógł wnieść coś pozytywnego do silnika, niezależnie od swoich umiejętności:

  • Stań się częścią społeczności. Najlepszym sposobem, aby przyczynić się do rozwoju Godota i pomóc mu stać się jeszcze lepszym jest po prostu używanie go i promowanie go poprzez przekaz słowny, wyświetlanie jego loga na ekranie startowym, na blogach, w samouczkach, materiałach wideo lub rozmawianie o nim na wydarzeniach związanych z ideą wolnego oprogramowania. Ważne jest również wsparcie w Q&A, na IRC, forach, Discordzie, itp. Dołącz do nas! Bycie użytkownikiem i orędownikiem pomaga rozpowszechniać informacje na temat naszego wspaniałego silnika, który nie ma budżetu na marketing i dlatego może polegać tylko na swojej społeczności, aby stać się bardziej popularnym.
  • Twórz gry. Nie jest tajemnicą, że aby przekonać nowych użytkowników, a w szczególności branżę, że Godot jest ważnym graczem na rynku, potrzebujemy świetnych gier z Godotem. Wiemy, że silnik ma duży potencjał, zarówno dla gier 2D jak i 3D, ale biorąc pod uwagę jego młody wiek wciąż brakuje nam dużych wydawnictw, którzy zwrócą uwagę na Godota. Kontynuuj więc pracę nad swoimi wspaniałymi projektami, każda nowa gra zwiększa naszą wiarygodność na rynku gier!
  • Zaangażuj się w rozwój silnika. Może to być poprzez dodawanie kodu poprzez pull requesty, testowanie wydań deweloperskich lub programu kompilowanego bezpośrednio z git master, zgłaszanie błędów lub sugerowanie ulepszeń w issue trackeru, ulepszanie oficjalnej dokumentacji (zarówno dokumentacji klas, jak i samouczków) oraz jej tłumaczeń. W kolejnych sekcjach omówiono każdy z tych „bezpośrednich” sposobów przyczyniania się do wspierania silnika.
  • Wesprzyj finansowo. Godot jest projektem non-profit, ale nadal może korzystać z darowizn od użytkowników. Poza zwykłymi wydatkami, takimi jak koszty hostingu lub materiały promocyjne na imprezach, w razie potrzeby wykorzystujemy również darowizny na zakup sprzętu (np. użyliśmy darowizny na zakup Macbooka Pro w celu wdrożenia obsługi Retina/HiDPI i innych funkcji związanych z macOS). Co najważniejsze, pieniądze z darowizn przeznaczyliśmy również na zatrudnienie głównych programistów, aby mogli oni pracować przy silniku na pełnym etacie. Nawet przy niskich miesięcznych płacach potrzebujemy stałego dochodu z darowizn, aby nadal to robić, co do tej pory było bardzo korzystne dla projektu. Więc jeśli chcesz przekazać trochę pieniędzy na projekt, sprawdź naszą stronę by znaleźć więcej szczegółów.

Pisanie kodu silnika

Możliwość studiowania, używania, modyfikowania i redystrybucji modyfikacji kodu źródłowego silnika są podstawowymi prawami, które daje wam licencja Godota MIT, czyniąc go wolnym i otwartym oprogramowaniem.

As such, everyone is entitled to modify Godot’s source code, and send those modifications back to the upstream project in the form of a patch (a text file describing the changes in a ready-to-apply manner) or - in the modern workflow that we use - via a so-called „pull request” (PR), i.e. a proposal to directly merge one or more git commits (patches) into the main development branch.

Pisanie kodu silnika ma dwie duże zalety:

  • Your own code will be reviewed and improved by other developers, and will be further maintained directly in the upstream project, so you won’t have to reapply your own changes every time you move to a newer version. On the other hand it comes with a responsibility, as your changes have to be generic enough to be beneficial to all users, and not just your project; so in some cases it might still be relevant to keep your changes only for your own project, if they are too specific.
  • Cała społeczność odniesie korzyści z twojej pracy, a inni programiści będą zachowywać się w ten sam sposób, tworząc kod z korzyścią dla ciebie. W czasie pisania tego tekstu, ponad 300 programistów wprowadziło zmiany w kodzie do silnika!

Aby zapewnić dobrą współpracę i ogólną jakość, twórcy oprogramowania Godot wprowadzają pewne zasady dotyczące pisania kodu, na przykład dotyczące stylu pisania kodu C++ (wcięcia, nawiasy itp.) lub pracy z git i PR.

A good place to start is by searching for issues tagged as junior jobs (or Hacktoberfest during October) on GitHub.

Zobacz także

Technical details about the PR workflow are outlined in a specific section, Pull request workflow.

Details about the code style guidelines and the clang-format tool used to enforce them are outlined in Styl pisania kodu źródłowego Godota.

Testowanie i zgłaszanie problemów

Innym sposobem na udoskonalenie silnika jest testowanie niestabilnych wersji programu i zgłaszanie problemów. Pomocne jest również zgłaszanie problemów wykrytych w stabilnych wersjach, tak aby można je było naprawić w przyszłych wersjach.

Testowanie wersji deweloperskich

Masz wiele możliwości by pomóc z testowaniem:

  • Skompiluj sam silnik ze źródła, postępując zgodnie z instrukcjami zawartymi na stronie Kompilowanie dla twojej platformy.
  • Testuj oficjalne przedpremierowe wydania tuż po ich ogłoszeniu (zazwyczaj na blogu i innych platformach społecznościowych), takie jak alfa, beta i kandydaci do wydania (RC).
  • Testuj tylko „zaufane” kompilacje; po prostu zapytaj członków społeczności o wiarygodnych dostawców. Jeśli to tylko możliwe, najlepiej jest użyć oficjalnych plików binarnych lub skompilować się samemu, aby mieć pewność co do ich bezpieczeństwa.

As mentioned previously, it is also helpful to keep your eyes peeled for potential bugs that might still be present in the stable releases, especially when using some niche features of the engine which might get less testing by the developers.

Zgłaszanie problemu na GitHubie

Godot używa systemu zgłaszania błędów GitHuba do zgłaszania błędów i sugestii ulepszeń. Będziesz potrzebował konta GitHub, aby otworzyć tam nowe zgłoszenie błędu, a poprzez kliknięcie na przycisk „New issue”.

Zgłaszając błąd, należy pamiętać, że proces ten jest podobny do wizyty u lekarza. Zauważyłeś symptomy, które sprawiają, że myślisz, że coś może być nie tak (silnik się zacina lub wyłącza, niektóre funkcje nie działają zgodnie z oczekiwaniami itp.). Zadaniem zespołu zajmującego się znajdowaniem i opisywaniem błędów i programistów jest pomoc w postawieniu diagnozy problemu, z którym się zetknęliście, tak aby można było zidentyfikować i zająć się faktyczną przyczyną błędu.

Dlatego powinieneś zawsze zadawać sobie pytanie: jakie istotne informacje należy podać, aby inni użytkownicy Godot mogli zrozumieć błąd, zidentyfikować go i, miejmy nadzieję, naprawić. Oto kilka z najważniejszych informacji, które należy zawsze podawać:

  • **System operacyjny**Czasami błędy są specyficzne dla danego systemu, tzn. występują tylko w systemie Windows lub tylko w systemie Linux itp. Jest to szczególnie istotne dla wszystkich błędów związanych z interfejsami OS, takimi jak zarządzanie plikami, wejściami, okienkami, dźwiękiem itp.
  • Sprzęt. Czasami błędy są specyficzne dla sprzętu, tzn. występują tylko na niektórych procesorach, kartach graficznych itp. Jeśli jesteś w stanie, pomocne może być umieszczenie informacji o twoim sprzęcie.
  • Wersja Godota. Jest to niezbędne. Niektóre problemy mogą być występować w aktualnym stabilnym wydaniu, ale naprawione w deweloperskim wydaniu lub na odwrót. Możesz również używać przestarzałej wersji Godota i doświadczać znanego problemu, który został naprawiony w późniejszej wersji, więc wiedza o tym od samego początku pomaga przyspieszyć diagnozę.
  • **Jak odtworzyć problem.**W większości przypadków błędy są powtarzalne, tzn. możliwe jest ich powtórzenie poprzez wykonanie pewnych czynności. Prosimy zawsze opisywać te kroki jak najdokładniej, tak aby każdy mógł spróbować odtworzyć problem i go potwierdzić. Najlepiej stworzyć projekt demonstracyjny, który odtwarza ten problem bez konieczności wykonywania kroków, spakuj go i dołączy do zgłoszenia problemu (można to zrobić przeciągając i upuszczając). Nawet jeśli uważasz, że problem jest trywialny do odtworzenia, dodanie minimalnego projektu, który pozwala odtworzyć to duża wartość dodana. Należy pamiętać, że zgłoszone są tysiące problemów, a programiści mogą poświęcić niewiele czasu na każdy z nich.

Po kliknięciu na przycisk „New issue”, powinieneś otrzymać pole tekstowe, które powinien być wypełniony naszym szablonem. Proszę postarać się go przestrzegać, aby wszystkie kwestie były spójne i podać wymagane informacje.

Wspieranie dokumentacji

W Godocie istnieją dwa oddzielne zasoby zwane „dokumentacją”:

  • Dokumentacja klas Jest to dokumentacja dla całego Godot API dla GDScript i innych języków skryptowych. Można się z nim zapoznać w trybie offline, bezpośrednio w edytorze kodu Godota lub online pod adresem Godot API. Aby wesprzeć tę dokumentację, musisz edytować doc/base/classes.xml w repozytorium git Godota oraz stworzyć pull requesty. Zobacz Wspieranie Dokumentacji Klasy aby uzyskać więcej informacji.
  • Poradniki i dokumentacja oraz ich tłumaczenie To jest ta część, którą teraz czytasz, a która jest rozpowszechniana w formatach HTML, PDF i EPUB. Jego zawartość jest generowana z plików tekstowych w formacie reStructured Text (rst), do których można się przyczynić poprzez pobieranie żądań z repozytorium godot-docs GitHuba. Więcej szczegółów można znaleźć w dokumencie Wskazówki do dokumentacji.