Möglichkeiten, einen Beitrag zu leisten

Godot Engine ist ein gemeinnütziges, von der Community betriebenes freies Open-Source Projekt. Fast alle (außer unserem Hauptentwickler Juan, mehr dazu weiter unten) arbeiten in ihrer Freizeit, aus persönlichem Interesse und aus Liebe zur Entwicklung einer freien Engine von außergewöhnlicher Qualität.

Dies bedeutet, dass Godot so viele Benutzer wie möglich benötigt, um sich durch einen Beitrag zur Engine zu engagieren. Es gibt viele Möglichkeiten, zu einem so großen Projekt beizutragen, dass jeder unabhängig von seinen Fähigkeiten etwas Positives einbringen kann:

  • Be part of the community. The best way to contribute to Godot and help it become ever better is simply to use the engine and promote it by word-of-mouth, in the credits or splash screen of your games, blog posts, tutorials, videos, demos, gamedev or free software events, support on the Q&A, forums, Contributors Chat, Discord, etc. Participate! Being a user and advocate helps spread the word about our great engine, which has no marketing budget and can therefore only rely on its community to become more mainstream.

  • ** Spiele machen.** Es ist kein Geheimnis, dass wir großartige Spiele erzeugt mit Godot benötigen, um neue Benutzer und insbesondere die Branche insgesamt davon zu überzeugen, dass Godot ein relevanter Marktteilnehmer ist. Wir wissen, dass die Engine sowohl für 2D- als auch für 3D-Spiele ein großes Potenzial hat, aber angesichts ihres jungen Alters fehlen uns noch große Veröffentlichungen, die die Aufmerksamkeit auf Godot lenken werden. Arbeiten Sie also weiter an Ihren großartigen Projekten. Jedes neue Spiel erhöht unsere Glaubwürdigkeit auf dem Gamedev-Markt!

  • Beteiligen Sie sich an der Entwicklung der Engine. Dies kann durch Einbringen von Code über Pull-Anforderungen, Testen der Entwicklungs-Snapshots oder direkt des Git Master-Zweigs, Melden von Fehlern oder Vorschlagen von Verbesserungen im Problem-Tracker, Verbessern der offiziellen Dokumentation (Klassenreferenz und Anleitungen) und ihre Übersetzungen. In den folgenden Abschnitten werden alle "direkten" Möglichkeiten beschrieben, einen Beitrag für Godot zu leisten.

  • Spenden. Godot ist ein gemeinnütziges Projekt, aber es kann immer noch von Benutzerspenden für viele Dinge profitieren. Abgesehen von den üblichen Kosten wie Hosting-Kosten oder Werbematerial für Veranstaltungen verwenden wir bei Bedarf auch Spendengelder, um Hardware zu erwerben (z.B. haben wir Spendengelder verwendet, um ein MacBook Pro zu kaufen, um die Retina/HiDPI-Unterstützung und verschiedene andere MacOS-bezogene Funktionen zu implementieren). Vor allem haben wir auch Spendengelder verwendet, um Kernentwickler einzustellen, damit diese Vollzeit an der Engine arbeiten können. Selbst bei einem niedrigen Monatslohn benötigen wir dafür ein stetiges Spendeneinkommen, was für das Projekt bisher sehr vorteilhaft war. Wenn Sie also etwas Geld für das Projekt spenden möchten, besuchen Sie unsere Website für Details.

Mitwirken am Code

Die Möglichkeit Änderungen am Quellcode der Engine zu studieren, zu verwenden, zu ändern und weiterzugeben, sind die Grundrechte, die Godots MIT-Lizenz <https://tldrlegal.com/license/mit-license>_ Ihnen gewährt, um sie frei und kostenlos zu machen: Open Source Software.

Daher ist jeder berechtigt, den Godot-Quellcode <https://github.com/godotengine/godot>_ zu ändern und diese Änderungen in Form eines Patches (Eine Textdatei, in der die Änderungen anwendungsbereit beschrieben werden) an das vorgelagerte Projekt zurückzusenden oder - im modernen Arbeitsablauf, den wir verwenden - über eine sogenannte "Pull Request" (PR), d.h. einen Vorschlag, ein oder mehrere Git-Commits (Patches) direkt in die Hauptzweig einzubinden.

Das Mitgestalten von Codeänderungen im Upstream hat zwei große Vorteile:

  • Ihr eigener Code wird von anderen Entwicklern überprüft und verbessert und direkt im Upstream-Projekt weiter gepflegt, sodass Sie Ihre eigenen Änderungen nicht jedes Mal neu anwenden müssen, wenn Sie auf eine neuere Version umsteigen. Auf der anderen Seite ist dies mit einer Verantwortung verbunden, da Ihre Änderungen allgemein genug sein müssen, um allen Benutzern und nicht nur Ihrem Projekt zugute zu kommen. In einigen Fällen kann es daher immer noch relevant sein, Ihre Änderungen nur für Ihr eigenes Projekt aufzubewahren, wenn sie zu spezifisch sind.

  • Die gesamte Gemeinschaft wird von Ihrer Arbeit profitieren, und andere Mitwirkende verhalten sich genauso und tragen Code bei, der für Sie von Vorteil ist. Zum Zeitpunkt dieses Schreibens haben mehr als 1000 Entwickler Codeänderungen an der Engine vorgenommen!

Um eine gute Zusammenarbeit und Gesamtqualität zu gewährleisten, setzen die Godot-Entwickler einige Regeln für Codebeiträge durch, z.B. hinsichtlich des im C++ Code zu verwendenden Stils (Einrückung, Klammern usw.) oder des Git- und PR-Workflows.

A good place to start is by searching for issues tagged as good first issue on GitHub.

Siehe auch

Technische Details zum PR-Arbeitsablauf finden Sie in diesem Abschnitt: Ablauf eines Pull Request.

Details zu den Richtlinien für den Codestil und dem Tool clang-format finden Sie unter Richtlinien für den Codestil.

Alle Pull-Requests müssen einen Überprüfungsprozess durchlaufen, bevor sie akzeptiert werden. Abhängig vom Umfang der Änderungen kann es einige Zeit dauern, bis ein Betreuer, der für den geänderten Teil der Engine verantwortlich ist, seine Überprüfung zur Verfügung stellt. Wir schätzen alle unsere Mitwirkenden und bitten sie, in der Zwischenzeit geduldig zu sein, da bei einem Open-Source-Projekt wie Godot erwartet wird, dass es viel mehr Beiträge gibt als Leute, die sie überprüfen.

Um sicherzustellen, dass Ihre Zeit und Ihre Bemühungen nicht verschwendet werden, wird empfohlen, die Idee zuerst zu überprüfen, bevor Sie sie umsetzen und als PR zur Überprüfung einreichen. Zu diesem Zweck hat Godot ein Vorschlagssystem. Dessen Nutzung wird empfohlen, um Änderungen zu planen und mit der Community zu diskutieren. Implementierungsdetails können auch mit anderen Mitwirkenden im Godot Contributors Chat diskutiert werden.

Bemerkung

Vorschläge sind nur erforderlich, wenn Sie an einer Erweiterung oder einer neuen Funktion arbeiten. Fehlerberichte sind für die Behebung von Problemen ausreichend.

Testen und Melden von Problemen

Eine weitere Möglichkeit, einen Beitrag zur Engine zu leisten, besteht darin, Entwicklungsversionen oder den Entwicklungszweig zu testen und Probleme zu melden. Es ist auch hilfreich, Probleme zu melden, die in stabilen Releases entdeckt wurden, damit sie im Entwicklungszweig und in zukünftigen Wartungsversionen behoben werden können.

Entwicklungsversionen testen

Um beim Testen zu helfen, haben Sie mehrere Möglichkeiten:

  • Kompilieren Sie die Engine selbst aus dem Quellcode. Befolgen Sie dazu die Anweisungen auf der Seite Compiling für Ihre Plattform.

  • Testen Sie offizielle Pre-Release-Binärdateien, wenn sie angekündigt werden (normalerweise auf dem Blog und anderen Community-Plattformen), z.B. Alpha, Beta und Release Candidate (RC).

  • Testen Sie "vertrauenswürdige" inoffizielle Builds des Entwicklungszweigs. Fragen Sie einfach Community-Mitglieder nach zuverlässigen Anbietern. Wann immer möglich, ist es am besten, offizielle Binärdateien zu verwenden oder sie sich selbst zu kompilieren, um sich der Herkunft der Binärdateien sicher zu sein.

Wie bereits erwähnt, ist es auch hilfreich, die Augen nach potenziellen Fehlern offen zu halten, die möglicherweise noch in den stabilen Versionen vorhanden sind, insbesondere wenn einige Nischenfunktionen der Engine verwendet werden, die von den Entwicklern möglicherweise weniger getestet werden.

Ein Problem auf GitHub einreichen

Godot uses GitHub's issue tracker for bug reports and enhancement suggestions. You will need a GitHub account to be able to open a new issue there, and click on the New issue button.

Wenn Sie einen Fehler melden, sollten Sie berücksichtigen, dass der Vorgang mit einem Termin bei Ihrem Arzt vergleichbar ist. Sie haben * Symptome * festgestellt, die den Eindruck erwecken, dass etwas nicht in Ordnung ist (die Engine stürzt ab, einige Funktionen funktionieren nicht wie erwartet usw.).In diesem Fall ist es die Aufgabe des Bug-Triaging-Teams und der Entwickler, die Diagnose des Problems zu erstellen, auf das Sie gestoßen sind, damit die eigentliche Fehlerursache identifiziert und behoben werden kann.

Sie sollten sich daher immer fragen: Welche relevanten Informationen müssen Sie geben, damit andere Godot-Mitarbeiter den Fehler verstehen, identifizieren und hoffentlich beheben können? Hier sind einige der wichtigsten Infos, die Sie immer bereitstellen sollten:

  • Betriebssystem Manchmal sind Fehler systemspezifisch, d.h. sie treten nur unter Windows oder nur unter Linux usw. auf. Dies ist besonders relevant für alle Fehler im Zusammenhang mit Betriebssystemschnittstellen wie Dateiverwaltung, Eingabe, Fensterverwaltung und Audio , usw.

  • Hardware Manchmal sind Fehler hardwarespezifisch, d.h. Sie treten nur auf bestimmten Prozessoren, Grafikkarten usw. auf. Falls möglich sollten Sie also Informationen zu Ihrer Hardware angeben.

  • Godot version. This is a must-have. Some issues might be relevant in the current stable release, but fixed in the development branch, or the other way around. You might also be using an obsolete version of Godot and experiencing a known issue fixed in a later version, so knowing this from the start helps to speed up the diagnosis.

  • How to reproduce the bug. In the majority of cases, bugs are reproducible, i.e. it is possible to trigger them reliably by following some steps. Please always describe those steps as clearly as possible, so that everyone can try to reproduce the issue and confirm it. Ideally, make a demo project that reproduces this issue out of the box, zip it and attach it to the issue (you can do this by drag and drop). Even if you think that the issue is trivial to reproduce, adding a minimal project that lets everyone reproduce it is a big added value. You have to keep in mind that there are thousands of issues in the tracker, and developers can only dedicate little time to each issue.

When you click the New issue button, you should be presented with a text area prefilled with our issue template. Please try to follow it so that all issues are consistent and provide the required information.

Beitrag zur Dokumentation

In Godot gibt es zwei separate Ressourcen, die als "Dokumentation" bezeichnet werden:

  • The class reference. This is the documentation for the complete Godot API as exposed to GDScript and the other scripting languages. It can be consulted offline, directly in Godot's code editor, or online at Godot API. To contribute to the class reference, you have to edit the XML file corresponding to the class and make a pull request. See Beitrag zur Klassenreferenz and Class reference writing guidelines for more details.

  • The tutorials and engine documentation and its translations. This is the part you are reading now, which is distributed in the HTML format. Its contents are generated from plain text files in the reStructured Text (rst) format, to which you can contribute via pull requests on the godot-docs GitHub repository. See Beitrag zur Dokumentation for more details.

An Übersetzungen mitwirken

Um Godot für alle zugänglich zu machen, einschließlich Benutzer, die Ressourcen in ihrer Muttersprache anstelle von Englisch bevorzugen, hilft unsere Community dabei, sowohl den Godot-Editor als auch seine Dokumentation in viele Sprachen zu übersetzen.

Siehe Editor und Dokumentation übersetzen für weitere Details.