Wie erstelle ich ein Spiel mit Pygame - Teil1

Für Programmierer, die mit der Spieleentwicklung herumspielen möchten.

Pygame installieren

Wenn Sie unter Windows oder Linux arbeiten, funktioniert die reguläre Pygame-Installation wahrscheinlich einwandfrei. Wenn Sie jedoch einen Mac haben, müssen Sie die folgenden Schritte ausführen:

Installieren Sie Homebrew und Python3 über Homebrew:

/ usr / bin / ruby ​​-e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brau installiere python3

Dadurch wird Python3 unter / usr / local / bin / python3 installiert. Wenn Sie über Anaconda verfügen, müssen Sie diesen vollständigen Pfad verwenden, um diese Python-Installation auszuführen.

Installieren Sie Pygame mit:

/ usr / local / bin / pip3 Pygame installieren

Dadurch wird Pygame installiert und Sie können Folgendes ausführen:

/usr/local/bin/python3 game.py

Es gibt andere Möglichkeiten, dies zu tun, zum Beispiel Venv mit Homebrew-Python. Ich bleibe dabei, wie es funktioniert, und glaube mir, dass Sie nicht 5 Stunden damit verbringen möchten, Stapelbeiträge darüber zu lesen, warum Ihr Spiel keinen Schlüssel registrieren kann. Das ist einfacher und bringt Sie in Schwung.

Du kannst hier auf github auf Bilder und Ressourcen zugreifen, die ich für dieses Spiel verwendet habe.

Erstelle einen Charakter und eine Spieleschleife.

Erstelle eine Datei namens game.py:

Starte das Spiel mit:

/usr/local/bin/python3 game.py

Dies sollte ein Spiel erzeugen, das in einem kleinen Popup-Fenster so aussieht:

Wir haben die leere Welt der Leere. Wir haben unseren Zauberercharakter (ein 40x40 Png). Obwohl es in Wirklichkeit statisch aussieht, läuft das Programm unseres Spiels und rendert diese Welt und unseren Charakter alle paar Millisekunden neu. Dennoch ist dieses Spiel nicht besonders interessant, da wir unseren Charakter nicht bewegen, auf eine hübsche Karte schauen oder vieles tun können. Lassen Sie uns das im nächsten Abschnitt ändern. Sie können das Programm, das auf dem Terminal ausgeführt wird, mit gedrückter Ctrl-C-Taste beenden.

Registrieren Sie Ereignisse für Ihren Charakter.

Wenn Sie die Schritte "Pygame installieren" durcheinander gebracht haben, werden sie wahrscheinlich nicht auf Ihrem Mac registriert. Dies kann passieren, wenn Sie virtualenv oder anaconda Python verwenden. Gehen Sie zurück und installieren Sie python3 und pygame wie oben angegeben. In diesem Abschnitt registrieren wir Pfeiltasten, damit sich unser Charakter in unserer leeren Welt bewegt.

Dies sollte eine Spielwelt erzeugen, in der Sie sich nach links, rechts, oben und unten bewegen und die rote Schaltfläche zum Verlassen des Fensters oben links drücken können. Hier ist ein Video davon:

Auch wenn wir uns jetzt in dieser Welt bewegen können, gibt es dort nicht viel. Beheben wir das, indem wir eine interessante Karte erstellen.

Machen wir die Welt ein wenig interessanter, indem wir eine Karte hinzufügen.

Unsere Karte wird aus Kacheln bestehen und jede Kachel wird eine Ressource in unserem Spiel sein.

Sie sollten jetzt eine hübsche Ressourcenkarte haben:

So können Sie jetzt herumlaufen und wir haben eine schöne Karte. Fügen wir die Möglichkeit hinzu, auf irgendeine Weise mit dieser Karte zu interagieren.

Hinzufügen eines Inventars, um den Überblick über Ihre Ressourcen zu behalten.

In diesem Abschnitt fügen wir ein Inventar und eine Möglichkeit hinzu, Ressourcen mit der Leertaste aufzunehmen.

Sie sollten nun in der Lage sein, Ressourcen zu bewegen, aufzunehmen und in Ihrem Inventar zu sehen, wie sie zunehmen. Sie haben vielleicht bemerkt, dass es möglich ist, unendlich viel Schmutz aufzunehmen. Obwohl dies nicht ganz beabsichtigt war, scheint es in Ordnung zu sein, das ist also cool. Hier ist ein Bild von mir, wie ich eine Ecke der Karte bereinige und Sie können die Ressourcen in meinem Inventar sehen:

Möglicherweise stellen Sie fest, dass sich in Ihrem Inventar Ressourcen befinden, die sich nicht auf der Karte befinden. Das liegt daran, dass diese Ressourcen hergestellt werden müssen. Im nächsten Abschnitt werden wir ein Handwerkssystem entwerfen.

Crafting-System hinzufügen.

Unser Handwerkssystem funktioniert folgendermaßen: Wenn Sie die der Ressource entsprechende Zifferntaste drücken und die Maustaste drücken und die Zutaten in Ihrem Inventar haben, wird diese Ressource hergestellt. Um zum Beispiel Feuer zu machen, brauchen wir 1 Holz. Wenn Sie die Taste "6" und die linke Maustaste drücken und 1 Holz in unserem Inventar haben, wird 1 Feuer erzeugt. In diesem Abschnitt werden wir auch eine Möglichkeit hinzufügen, Ressourcen auf dem Boden abzulegen (indem wir alles, was sich auf dem Boden befindet, in unser Inventar tauschen). Um eine Ressource abzulegen, drücken wir die Zifferntaste für diese Ressource. Um das Feuer zu löschen, das wir hergestellt haben, drücken wir einfach "6".

Wie Sie sehen können, habe ich einen Wassergraben mit einer Steinmauer und einer Feuersperre um meinen Cache aus kostbarem Glas angelegt. Wir würden es niemandem stehlen. Experimentiere damit und baue Sachen, wenn du willst. Denke nur daran, dass unser Spiel nicht gespeichert ist.

Hinzufügen von Umgebungsfunktionen zu Ihrer Welt.

Um unsere Welt ein wenig einnehmender zu gestalten, werden wir der Umwelt eine Wolke und einige Vögel hinzufügen. Die Wolken bewegen sich über die Karte und verschleiern die Sicht (und fügen ein kleines Element der Herausforderung hinzu, während Sie versuchen, zu bauen). Möglicherweise haben Sie im letzten Abschnitt bemerkt, dass die Cloud tatsächlich als Ressource und im Texturen-Wörterbuch aufgeführt wurde. Obwohl es sich streng genommen nicht um eine Ressource handelt, ist es für uns einfacher, unsere aktuelle Methode zum Nachschlagen von Texturen beizubehalten, sodass wir dies auch weiterhin tun.

Normalerweise würden wir für den Vogel so etwas wie ein Sprite verwenden, aber ich wollte dieses Tutorial einfach halten, also habe ich meine eigene kleine Methode entwickelt, die uns sagt, welches Vogelbild animiert werden soll. Wenn Sie jetzt lange genug warten, sehen Sie zwei Wolken und einen Vogel, die unserem Spiel ein wenig Leben einhauchen. Hör zu:

Fazit

In einem zukünftigen Tutorial werde ich das Speichern von Spielen, das Hinzufügen von Zielen zum Spiel und das Hinzufügen von Gegnern, die gegen Sie arbeiten, während Sie versuchen, Ihre Ziele zu erreichen, noch etwas genauer betrachten. Wenn Ihnen dieses Tutorial gefallen hat, vergessen Sie nicht, ein paar Klatschzeichen zu hinterlassen, und Sie können sich hier anmelden, um mehr in meinem Newsletter zu sehen.

Dieses Tutorial basiert auf einem anderen Tutorial. Ich bin dem gleichen allgemeinen Weg gefolgt, wollte mich aber in einer anderen Reihenfolge bewegen und den Code ein wenig konsistenter halten sowie allgemeine Probleme in Pygame ansprechen. Alle Schritte in diesem Beitrag und die Ressourcen, die ich verwendet habe, um dieses Spiel zu erstellen, sind hier auf Github.

Teil 2 dieses Tutorials finden Sie hier.