Du hast Fragen? Wir haben Antworten! - Bald findet unser nächster Tag der offenen Tür statt!

Logo site

PyGame: Das Tool zur Erstellung von 2D-Videospielen in Python

-
6
 Minuten Lesezeit
-
pygame

PyGame ist eine Python-Bibliothek, die der Entwicklung von Videospielen gewidmet ist. Hier erfährst du alles, was du über dieses Tool wissen musst, wie es funktioniert, welche Vor- und Nachteile es hat und welche Schulungen es gibt, um den Umgang damit zu erlernen.

PyGame ist eine Python-Bibliothek, die der Entwicklung von Videospielen gewidmet ist. Hier erfährst du alles, was du über dieses Tool wissen musst, wie es funktioniert, welche Vor- und Nachteile es hat und welche Schulungen es gibt, um den Umgang damit zu erlernen.

Was ist PyGame ?

PyGame ist ein plattformübergreifender, freier und Open-Source-Python-Modulsatz, der für die Erstellung von Videospielen und anderen Multimedia-Inhalten entwickelt wurde. Es enthält Grafik- und Soundbibliotheken, die für die Verwendung mit der Programmiersprache gedacht sind.

Das Tool wurde ursprünglich von Pete Shinners entwickelt, um PySDL zu ersetzen, nachdem das Projekt eingestellt wurde. Seit dem Jahr 2000 ist es ein Gemeinschaftsprojekt, das unter der GNU Lesser General Public Licence lizenziert ist. Es kann also sowohl als Open-Source-Software als auch als kommerzielle Software verbreitet werden.

Wie funktioniert PyGame ?

PyGame basiert auf der Simple DirectMedia Layer (SDL)-Bibliothek, die die Schnittstelle und Verwaltung von Eingabegeräten wie Tastatur, Maus oder Joystick und Ausgabegeräten wie einem Bildschirm oder einem Lautsprecher ermöglicht.

Ziel ist es, die Entwicklung von Echtzeit-Videospielen ohne die Low-Level-Mechanik der Programmiersprache C und ihrer Derivate zu ermöglichen. Die grundlegendsten Spielfunktionen werden abstrahiert, wodurch die Entwicklung stark vereinfacht wird.

Mit anderen Worten: Anstatt eine Spiel-Engine von Grund auf in Python schreiben zu müssen, ermöglicht PyGame die Nutzung bereits codierter Funktionen. Dadurch kann man sich auf das Spiel selbst konzentrieren.

Darüber hinaus bietet SDL auch Funktionen für Vektormathematik, Kollisionserkennung, 2D-Sprite-Verwaltung, Pixelmatrix-Manipulation, Transformationen, Filtern und Zeichnen. Außerdem unterstützt sie MIDI und Freetype-Schriftarten.

Auf PyGame basierende Anwendungen können mithilfe eines Pygame Subset für Android auf Android-Smartphones und -Tablets ausgeführt werden. Unterstützt werden Sounds, Vibrationen, Tastatur und Beschleunigungsmesser.

 

💡Auch interessant:

Top der nativen Python Funktionen
Imageio
Python für Dummies Teil 1
Python programmieren lernen
Data Cleaning Python

Die Komponenten von PyGame

PyGame basiert auf vier Hauptkomponenten. Um ein Spiel mit diesem Werkzeug zu erstellen, ist es notwendig, diese gut zu kennen.

Zunächst einmal wird Pygame.init(e) verwendet, um alle importierten PyGame-Module zu initialisieren. Mit diesem Befehl werden alle für das Programm benötigten Module auf einmal aufgerufen.

Die „Display Surface“ ist ein schwarzer Bildschirm, der als Leinwand dient, auf der das Spiel entworfen wird. Alle Komponenten des Programms erscheinen auf diesem Bildschirm.

Die „Game Loop“ ist ein Stück Code, das verwendet wird, um die Hauptlogik des Spiels auszuführen. Dies hilft dabei, die Regeln zu definieren, und ermöglicht es, Ereignisse zu unterstützen und zu aktualisieren.

Schließlich hat Pygame.quit() den umgekehrten Effekt der Funktion init(). Sie deaktiviert die PyGame-Bibliothek vollständig, das Spiel wird jedoch nicht beendet.

Welche Arten von Spielen können mit PyGame erstellt werden?

Eine große Vielfalt an Spielen kann mit PyGame entwickelt werden. Das Modul unterstützt sowohl altmodische textbasierte Abenteuerspiele als auch grafische Spiele.

Zunächst sind da die grundlegenden Brettspiele wie Schach, Dame, Sudoku, Solitaire oder Power4 zu nennen.

Es gibt auch Grafikspiele, bei denen der Mauszeiger bewegt werden muss, wie Snake, Flappy Bird oder Car Racing.

Viele dieser Spiele sind Open Source und gehören zur Basisbibliothek von PyGame.

Jump’n’Run-Spiele, die die Animation von Objekten beinhalten, können ebenfalls mit diesem Werkzeug gebaut werden. Charakterpakete können verwendet werden, um ein reichhaltigeres Erlebnis zu schaffen.

Schließlich ist es zwar technisch möglich, fortgeschrittenere Videospiele zu erstellen, aber die Grenzen von PyGame können schnell zu einem Problem werden.

Beispiele für mit PyGame erstellte Spiele sind:

  • Snake
  • Frets on Fire
  • Dangerous High School Girls in Trouble
  • Drawn Down Abyss

 

Vorteile und Nachteile von PyGame

Es ist möglich, Spiele ohne PyGame zu erstellen, aber es ist eine mühsame Aufgabe. Dieses Tool kümmert sich um viele Details auf niedriger Ebene, damit du dich auf die Logik des Spiels konzentrieren kannst.

Wenn du es benutzt, ist es z. B. nicht mehr nötig, Objekte zu positionieren, sie auf dem Bildschirm zu bewegen oder zu bestimmen, wie Eingaben oder Befehle von Spielern empfangen werden sollen.

Die Funktionen von PyGame bieten all diese Möglichkeiten, und der Entwickler kann sich auf Dinge wie die Spielregeln, die Art und Weise, wie der Spieler Punkte erzielt oder wie das Spiel gewonnen wird, konzentrieren.

Ein weiterer Pluspunkt ist, dass PyGame Python verwendet, das für seine Flexibilität und Einfachheit bekannt ist. Seine Syntax, die dem Englischen ähnelt, macht es zu einer Sprache, die auch für Anfänger geeignet ist.

Außerdem ist die offizielle Dokumentation sehr umfangreich und hilft, alle wichtigen Mechanismen dieses Tools zu verstehen. Die Gemeinschaft der Mitwirkenden ist engagiert und immer bereit, Neulingen über Reddit oder Discord zu helfen.

Übrigens: Ein mit PyGame programmiertes Spiel funktioniert auf PC, Smartphone oder anderen Geräten gleichermaßen gut. Das Modul ist plattformübergreifend, sodass der Code nicht neu geschrieben werden muss.

PyGame reicht zwar für 2D-Spiele aus, ist aber zu langsam für komplexe 3D-Spiele in Echtzeit, die die Grafikkarte (GPU) eines Computers nutzen.

PyGame und seine Community

PyGame hat eine große und aktive Community. Die Mitglieder haben zahlreiche Tutorials erstellt, die es auch Anfängern ermöglichen, dieses mächtige Werkzeug schnell zu beherrschen.

Die Mitwirkenden haben eine breite Palette an Werkzeugen für die verschiedenen Aspekte der Spieleentwicklung geschaffen, vom Grafik-Rendering über die Unterstützung von Eingabehardware bis hin zur Kollisionserkennung.

Alle Neuigkeiten und Entwicklungen des Projekts können auf seiner offiziellen GitHub-Seite verfolgt werden. Dort findest du unter anderem Funktionen, die sich in der Entwicklung befinden, Verbesserungen am Code, Fehlerbehebungen und Informationen über neue Versionen.

Außerdem findet regelmäßig der PyWeek-Wettbewerb statt. Dabei geht es darum, Spiele mit Python und PyGame zu entwickeln.

Ein perfektes Modul, um Kindern das Kodieren beizubringen

Das Erstellen von Videospielen ist eine perfekte Aktivität, um Kinder an das Programmieren heranzuführen. Die vielen visuellen Elemente sind einnehmend und das Ergebnis ist unterhaltsam und spielerisch.

Mithilfe von PyGame können die Jüngsten die Programmiersprache Python lernen, die von vielen Entwicklern auf der ganzen Welt verwendet wird. Sie können ihre eigenen Spiele codieren oder bereits von anderen geschriebenen Code aus dem Python Package Index (PyPi) und den GUI-Bibliotheken importieren.

Alle Aspekte von PyGame-Spielen sind vollständig anpassbar und können an den verwendeten Computertyp angepasst werden. Insbesondere ist es möglich, eigene Bilder und MP3-Dateien hinzuzufügen. Später können die Kinder die von ihnen erstellten Spiele mit der ganzen Welt teilen.

Mit der vereinfachten Version des Tools, PyGame Zero, ist es noch einfacher, mit dem Erstellen von Spielen zu beginnen. Unabhängig davon, für welche Version du dich entscheidest, gibt es zahlreiche Tutorials, die dich durch die einzelnen Schritte führen.

Was ist PyGame Zero ?

PyGame Zero wurde von Daniel Pope alias Lord Mauve auf GitHub entwickelt, um eine vereinfachte Erfahrung bei der Videospielcodierung für unerfahrene Python-Programmierer zu bieten.

Das Tool ist so einfach zu bedienen, dass du damit in weniger als einer Stunde ein Videospiel erstellen kannst. Die Unterstützung von Elementen wie Tastendrücken, Mausklicks oder die Darstellung von Objekten auf dem Bildschirm ist sehr intuitiv.

Allerdings handelt es sich hierbei um eine Bibliothek, die dem Lernen gewidmet ist. Sie bietet also nicht so fortgeschrittene Funktionen wie PyGame. Sie ist auch neuer, so dass du nicht so viele Tutorials finden wirst.

PyGame vs Pyglet

Pyglet ist eine weitere Python-Bibliothek, die sich der Entwicklung von Videospielen widmet. Genauer gesagt handelt es sich um eine plattformübergreifende Multimedia-Bibliothek, die für die Erstellung von Spielen und anderen visuell anspruchsvollen Anwendungen verwendet wird.

Im Vergleich zu PyGame ist eine seiner Stärken die Unterstützung von 3D mit OpenGL. Das Tool ist in reinem Python geschrieben und kann mithilfe anderer Interpreter kompiliert werden.

Dennoch ist die Popularität von Pyglet weniger breit gefächert. Daher ist diese Bibliothek weniger beliebt, und Anfänger werden weniger leicht Hilfe finden, wenn sie sie benötigen.

PyGame 2.0: Neue Version zum zwanzigsten Geburtstag

Im Jahr 2009 wurde die Version 2 von PyGame unter dem Codenamen „PyGame Reloaded“ angekündigt. Die Entwicklung und Wartung von PyGame wurde jedoch bis Ende 2016 mit der Version 1.9.1 vollständig eingestellt.

Das Projekt einer zweiten Version wurde im März 2019 erneut auf die Roadmap gesetzt, nachdem die Version 1.9.5 entlastet worden war. Schließlich wurde Pygame 2.0 am 28. Oktober 2020 zum zwanzigjährigen Jubiläum des Projekts veröffentlicht.

Wie verwende ich PyGame?

Um mit PyGame zu beginnen, musst du als Erstes Python auf deinen Linux-, Windows- oder Mac-Computer herunterladen. Dann kannst du PyGame mit dem Python Package Installer, auch bekannt als „pip“, installieren.

Öffne die Eingabeaufforderung und gib den Befehl „pip install pygame“ ein. Der Installationsprozess beginnt automatisch und eine Meldung wird dir mitteilen, wann er abgeschlossen ist.

Alternativ kannst du überprüfen, ob die Installation erfolgreich war, indem du ein Demo-Spiel startest, das mit PyGame geliefert wird. Du kannst z. B. „python -m pygame.examples.aliens“ eingeben, um das Spiel Aliens zu starten.

Wenn du PyGame bereits installiert hast, kannst du es mit dem Befehl „pip install pygame –upgrade“ auf die neueste Version aktualisieren. Falls du Probleme bei der Installation hast, kannst du dir gerne die Anweisungen auf der offiziellen Website ansehen.

Um PyGame auf einem Mac zu installieren, lade die neueste Version im .dmg-Format von der offiziellen Website pygame.org herunter. Entpacke die Datei und doppelklicke dann auf die mpkg-Datei, um das Installationsprogramm auszuführen. Folge dann den Anweisungen.

Nachdem du die Installation abgeschlossen hast, kannst du die PyGame-Module importieren, indem du „import pygame“ eingibst und sie mit dem Befehl „pygame.init()“ initialisierst.

Fazit: PyGame, ein ideales Tool für den Einstieg in die Entwicklung von Videospielen

PyGame ist ein sehr gutes Werkzeug für den Einstieg in die Entwicklung von Videospielen, insbesondere wenn du bereits mit der Programmiersprache Python und der objektorientierten Syntax vertraut bist. Es gibt viele von der Community erstellte Tutorials, mit denen man sich die Beherrschung dieser Bibliothek aneignen kann.

Um Python zu lernen bist du bei DataScientest genau richtig. Alle unsere Kurse enthalten ein Modul, das sich mit der Sprache Python und ihren Bibliotheken befasst.

In unseren verschiedenen Kursen kannst du alle Fähigkeiten und Werkzeuge erlernen, die du als Data Analyst, Data Scientist, Data Engineer, Machine Learning Engineer oder Data Product Manager benötigst.

Alle unsere Programme werden vollständig im Fernstudium über das Internet absolviert und unsere staatlich anerkannte Organisation ist für den Bildungsgutschein qualifiziert. Entdecke jetzt DataScientest!

DataScientest News

Melde Dich jetzt für unseren Newsletter an, um unsere Guides, Tutorials und die neuesten Entwicklungen im Bereich Data Science direkt per E-Mail zu erhalten.

Möchtest Du informiert bleiben?

Schreib uns Deine E-Mail-Adresse, damit wir Dir die neuesten Artikel zum Zeitpunkt der Veröffentlichung zusenden können!
icon newsletter

DataNews

Starte Deine Karriere im Bereich Data: Erhalte regelmäßig Insiderwissen und wertvolle Karrieretipps in Deinem Posteingang.