Git und GitHub für Spieleentwickler

"Ich bin mir sicher, dass Git großartig ist, aber es sieht kompliziert aus - ich bleibe bei meinem aktuellen Workflow", ist wie gesagt: "Ich bin sicher, dass IDEs wie FlashDevelop und Sublime Text großartig sind, aber sie sehen kompliziert aus - ich bleibe bei Notizblock". Ja, sicher, es gibt eine kleine Lernkurve, und Sie können ohne sie leben, aber es ist töricht. In diesem Artikel erkläre ich, warum Git (und GitHub) so großartig sind, und zeige Ihnen, wie Sie schnell und einfach loslegen können.

Hinweis: Vieles, was ich hier sage, gilt auch für andere Versionskontrollsysteme, wie Subversion, aber Git ist so beliebt, dass ich Ihnen, wenn Sie eine freie Wahl haben, empfehlen kann.


Was kann Git für Sie tun?

Git hat Vorteile für alle Spieleentwickler, egal ob Sie alleine oder in einem Team arbeiten. Gehen wir durch die großen:

Git lässt Sie Ihre Änderungen rückgängig machen

Der Hauptaspekt von Git ist wahrscheinlich, dass es einen "Schnappschuss" des gesamten Arbeitsverzeichnisses Ihres Spiels erstellt, wenn Sie danach gefragt werden, und dass Sie jederzeit zu einem dieser Schnappschüsse zurückkehren können.

Dies ist ein viel besseres System, als eine Kopie Ihres gesamten Ordners anzufertigen, wenn Sie eine funktionierende Version des Spiels erhalten, oder den Code mit einer Beschreibung per E-Mail an Sie zu schicken, damit Sie ihn nicht verlieren.

Außerdem sind Sie nicht auf eine gerade Linie aus Undos und Redos beschränkt. Sie können Ihr Projekt in ein separates trennen Ast Schnappschüsse und Swap zwischen den Zweigen nach Belieben. Das heißt, Sie können neue Funktionen zu Version 1.1 hinzufügen, dann wieder auf Version 1.0 wechseln und einen Bugfix anwenden. oder an einem experimentellen Feature arbeiten und es verschrotten, wenn es nicht klappt; oder halten Sie Ihre Handy- und Tablet-Versionen getrennt voneinander.

Git lässt Sie Ihre Arbeit kommentieren, nicht nur Ihren Code

Eigentlich nicht nur Git Lassen Sie fügen Kommentare hinzu - das ermutigt Sie dazu, erfordert sogar das. Grundsätzlich schreiben Sie beim Speichern eines Schnappschusses einen Kommentar, in dem die Änderungen beschrieben werden, die Sie seit dem letzten Schnappschuss vorgenommen haben.

Hier einige Beispielkommentare von Tiled, einem großartigen Level-Editor, den wir zuvor behandelt haben:




Dies erleichtert nicht nur das Auffinden eines bestimmten Punkts in der Geschichte eines Projekts (was häufig hilfreich ist, um die Ursache eines Fehlers zu ermitteln), sondern auch, um gute Entwicklungsgewohnheiten aufzubauen: Sie werden feststellen, dass Sie die Arbeit in kleinere Aufgaben aufteilen Jeder Teil kann in einem kurzen Kommentar ausführlich beschrieben werden, anstatt acht verschiedene Dinge gleichzeitig zu bearbeiten.

Git gibt Ihnen einen besseren Zugang zu anderen Projekten

Bisher habe ich über Git gesprochen, bei dem es sich lediglich um ein Softwaretool wie Zip, E-Mail oder FTP handelt. GitNabe, ist dagegen eine Website, auf der Ihre Git-Snapshots (und damit Ihr gesamtes Projekt) gehostet werden können..

Es gibt andere Git-Hosting-Sites, und es ist auch möglich, Ihre Git-Projekte selbst auf Ihrem eigenen Server zu hosten, aber GitHub ist bei weitem der prominenteste. Stellen Sie sich das wie Gmail vor: Dies ist nicht die einzige webbasierte E-Mail-App, aber für viele Menschen könnte es genauso sein.

Viele Spiele und gamedev-Tools sind auf GitHub öffentlich verfügbar, wie z. B. Tiled (das ich oben erwähnt habe) und das Starling Framework (das wir auch zuvor behandelt haben). Das bedeutet, dass Sie nicht nur die aktuelle Version von Starling Framework als ZIP-Datei herunterladen und in Ihr Projekt extrahieren müssen, sondern den gesamten Ordner in Ihr Projekt importieren und bei jeder Änderung automatisch aktualisieren lassen.

Sie können auch neue Funktionen vorschlagen oder Fehler über den Problem-Tracker melden:


Sie können sogar eine lokale Kopie (eine "Abzweigung") des Projekts erstellen, die neue Funktion hinzufügen oder den Fehler selbst beheben und den Snapshot an die Eigentümer des Projekts zurücksenden, um die Zusammenführung mit der Hauptversion in Betracht zu ziehen.

(Vielleicht haben Sie bemerkt, dass wir angefangen haben, mehr Quelldateien auf GitHub auf Tuts + zu hosten - das ist vor allem der Grund!)

Git macht es einfacher, mit anderen Entwicklern zusammenzuarbeiten

Alle oben genannten Gründe machen Git für Solo-Entwickler sehr wertvoll. Viele dieser Vorteile sind jedoch von Natur aus auch praktisch, wenn Sie im Team arbeiten:

  • Die Teilnahme an einem Teamprojekt über Git (ob über die privaten Premium-Pläne von GitHub oder über eine andere Hosting-Methode) ist viel einfacher als die gemeinsame Nutzung von E-Mail-Anhängen oder Dropbox.
  • Da jeder zum Projekt hinzugefügte Schnappschuss mit einem Kommentar und einem Autor gekennzeichnet ist, ist es leicht nachzuverfolgen, wer was getan hat.
  • Jedes Teammitglied kann individuell an seinem eigenen Code arbeiten und ihn nur an das Master-Projekt übergeben, wenn es fertig ist (um zu vermeiden, dass irgendetwas beschädigt wird)..

Git bietet auch Funktionen zum "Zusammenführen" verschiedener Codebits, sodass Sie sich mit Konflikten befassen müssen, anstatt Teile des Projekts blind zu überschreiben.


Git einrichten

Das Installieren und Einrichten von Git war früher eine komplizierte Angelegenheit, bei der die Befehlszeile verwendet wurde, um "SSH-Schlüssel" und zu generieren Pfui. Aber jetzt ist es ganz einfach: Sie müssen nur GitHub für Windows oder GitHub für Mac herunterladen und installieren.

Ja, ja, ich weiß, ich sagte, GitHub ist eine Website zum Hosten von Git-Snapshots, aber hier sage ich Ihnen, GitHub zu installieren, um Git zu verwenden. Das ist verwirrend: GitHub-the-app ist eine Software, die Git installiert und Ihnen eine angenehme Benutzeroberfläche bietet. Außerdem haben Sie die Möglichkeit, Ihre Momentaufnahmen auf GitHub-the-website zu hosten.

Mach dir keine Sorgen darüber. Laden Sie einfach die Version für Ihr Betriebssystem herunter und installieren Sie sie. Ähm, es sei denn, Sie verwenden Linux. In diesem Fall fürchte ich Sie tun müssen die gewundene Route gehen.


Erste Schritte mit Git

Ich werde Sie durch das Einrichten von Git für das Spiel oder Projekt, an dem Sie gerade arbeiten, einrichten, damit Sie es für real verwenden können und nicht als falsche Übung. Ich verwende GitHub für Windows, aber die Schritte in GitHub für Mac sind sehr ähnlich. Ich gebe auch vor, dass bfxr mein Projekt ist, an dem ich arbeite, was es aber absolut nicht ist.

Öffnen Sie GitHub für Windows und klicken Sie auf erstellen um ein neues "Repo" (kurz für "Repository") zu erstellen - im Grunde der Ort, an dem alle Schnappschüsse für dieses Spiel oder Projekt gespeichert werden. Geben Sie einen Namen und eine Beschreibung für Ihr Projekt ein und belassen Sie das Verzeichnis als Standard (Sie müssen dieses nicht mit dem vorhandenen Verzeichnis Ihres Projekts übereinstimmen). Stelle sicher Zum github drücken wird nicht angekreuzt.


Doppelklicken Sie auf Ihr neu erstelltes Repo, um es in der App zu öffnen:


Sie werden sehen, dass es zwei Dateien gibt, die "festgeschrieben" werden müssen (d. H. Um sie als Momentaufnahme zum Repo hinzuzufügen). Hierbei handelt es sich um reguläre Git-Setup-Dateien. Geben Sie also einen einfachen Kommentar in das ein Commit-Nachricht Box und schlagen Sie ein Verpflichten:


Klicken Sie jetzt auf Werkzeuge> Im Explorer öffnen um das Arbeitsverzeichnis von Git für das Projekt zu öffnen. Sie ist leer, abgesehen von den beiden Setup-Dateien (und einer versteckten .git Ordner, den Sie möglicherweise nicht sehen können):


Kopieren Sie Ihr gesamtes Projekt in diesen Ordner. (Ja, das ist chaotisch, aber auf diese Weise können Sie sicher sein, dass Sie ein Backup haben, falls etwas schief geht.)


Gehen Sie zurück zu GitHub für Windows - es wird feststellen, dass diese neuen Dateien gerade erschienen sind:


Commitieren Sie auch diese Dateien, und Sie sind mit Ihrem ersten Repo vertraut!

Nehmen Sie jetzt eine Änderung an Ihrem Projekt vor. Sie können eine neue Datei hinzufügen oder eine vorhandene ändern:


Kehren Sie zu GitHub für Windows zurück, und dies wird auch erkannt. Übernehmen Sie diese Änderung und wählen Sie sie dann aus unsynced Commits liste auf und drücke Commit rückgängig machen. Sie haben jetzt ein neues Commit, das das vorherige Commit rückgängig macht. Dies scheint ein wenig verwirrend zu sein, aber Sie behalten den Überblick über alles, was Sie tun!


Überprüfen Sie Ihre aktuellen Projektdateien:


Ihre neue Datei (oder die von Ihnen vorgenommene Änderung an der anderen Datei) ist in der Tat nicht mehr vorhanden. Sie können die Wiederherstellung rückgängig machen, wenn Sie möchten, indem Sie Ihrer Liste ein weiteres Commit hinzufügen oder zurückrollen das Festschreiben, um es vollständig aus der Liste zu entfernen.


Fazit

Das ist es? Ja. Aber auch nicht. Ich habe den gesamten Artikel selbst auf GitHub gestellt. Sie können also mit der Site experimentieren, indem Sie "Verbesserungen" (Vorschläge für das, was Sie gerne sehen möchten) anfordern und "Fehler" protokollieren (Probleme mit dem Artikel)..

Wenn Sie wirklich abenteuerlustig sind, versuchen Sie, den Artikel auf Ihrem Computer zu "fälschen", die Ergänzungen selbst vorzunehmen und dann eine Pull-Anfrage zu senden, damit er auf der Website hinzugefügt wird. Wenn Ihnen das alles keinen Sinn macht, machen Sie sich keine Sorgen ; eine spätere Überarbeitung enthält weitere Details!