In der ersten Woche im August 2021 erklärte die chinesische Regierung Online-Videospiele als „elektronisches Opium“. In Anbetracht dessen, dass einige junge chinesische Spieler bekanntermaßen über acht Stunden am Stück spielen und dabei ihre schulischen Pflichten, ihre Familie und jeglichen Versuch, soziale Kontakte zu pflegen, komplett außer Acht lassen, scheint diese Einschätzung der chinesischen Behörden nicht gänzlich falsch. Spielsucht ähnelt Drogensucht in vielerlei Hinsicht und ist ebenso zerstörerisch. Was heißt das jetzt für dich und deine Abenteuer in Gershin Impact? Wahrscheinlich nichts. Allerdings könnte es sein, dass die Entwicklung verlangsamt wird, um den chinesischen Bemühungen um Schadensbegrenzung zu entsprechen. Das heißt, dass Schlachten und Waffen seltener sind, aber womöglich nur für Spieler und Spielerinnen in China. Genshin Impact wurde in der Programmiersprache C++ geschrieben, der Sprache zur Programmierung von Robotern und zur Bedienung einer Reihe anderer Systeme. Wie schwer wäre es eigentlich den gesamten Code des Spiels in Python zu schreiben? Tatsächlich wäre es gar nicht schwierig.
Was ist ein Computerspiel?
Du denkst vielleicht, was für eine Frage ist das? Wer weiß denn nicht, was ein Computerspiel ist? Ja natürlich kennen wir alle die tollen Grafiken und mitreißenden Geschichten aus Videospielen. Was ist ein Computerspiel nun aber eigentlich genau? Spiele, die auf Mobilgeräten und Spielkonsolen gespielt werden, brauchen eine grafische Benutzeroberfläche. 

Plattformübergreifende Komptabilität
Hast du ein iPhone oder ein Smartphone mit Android? Spielst du Videospiele gern auf dem PC oder lieber Mac? Oder du sorgst dich sehr um den Schutz deiner Daten und hast dich für ein Linux-Betriebssystem entschieden? Diese Betriebssysteme und andere werden als Plattformen bezeichnet. Sie bereiten Programmierer*innen viel Kopfzerbrechen. Für Android-Apps gibt es den Google Play Store, für iOS-Apps den Apple Store und Microsoft hat seinen eigenen App-Store, um Apps für den PC herunterzuladen. In jedem dieser „Läden” findest du dieselben Apps: Facebook, Snapchat sowie viele derselben Spiele. Sie sind identisch bis auf den Code, der ihnen zugrunde liegt. Spieleentwickler und Programmiererinnen im Allgemeinen müssen immer darauf achten, auf welchen Plattformen ihre Anwendung laufen soll. Wenn du ausschließlich für Apple entwickelst, dann verlierst du damit automatisch die Märkte Android und Windows, wenn du ausschließlich für Windows entwickelst, dann ist es andersrum. Da Windows den kleinsten Marktanteil bei Smartphones hat, verlierst du damit nahezu den gesamten Markt für Mobilgeräte. Ältere Programmiersprachen sind nicht auf verschiedene Plattformen anwendbar, hier musst du für jede Plattform einen eigenen Code schreiben, wenn dein Spiel auf verschiedenen Plattformen laufen soll. Neuere Programmiersprachen, die sich besser anpassen lassen, dazu gehört auch Python, funktionieren gut auf verschiedenen Plattformen, was weiter zur Beliebtheit von Python beiträgt. Zugegeben: Python ist keine neue Sprache, sie existiert bereits seit 30 Jahren, sie erfreut sich jedoch neuerlich erneuter Beliebtheit nicht zuletzt aufgrund ihrer Vielseitigkeit. Python ist eine der besten Sprachen für die Webentwicklung, neben Vue.js und Angular.
Spiele in Python programmieren
Python ist zwar einfach zu verwenden und funktioniert gut auf verschiedenen Plattformen, Leistung ist allerdings keine ihrer Eigenschaften. Wenn dein Spiel in den Punkten Grafik und Action viel abverlangt, dann reicht Python allein für deine Zwecke wahrscheinlich nicht aus. Wenn du aber ein Spiel programmierst, das in 2D mit wenig grafischer Leistung funktionieren soll, wie zum Beispiel „Noughts and Crosses“ oder „Snake and Apple“, dann ist Python ideal für deine Bedürfnisse. Pygame ist eine Bibliothek mit Python-Modulen, die speziell für Computerspiele geschrieben und gebündelt wurden. Dazu gehören Soundmodule und Grafiken, die du einfach in dein Spiel einbauen kannst. Wie funktioniert das?
- Setze dich mit Tkinter auseinander, der Standard-GUI für Python.
- Lerne, wie du geometrische Formen mit dem „Canvas Widget“ zeichnest.
- Verwende den „Bind Widget“, um zu definieren, was bei einem Mausklick passiert.
- Plane dein Spiel mit Hilfe eines Diagramms, das den Spielablauf darstellt.
- Programmiere die Anfangsfunktionen deines Spiels.
- Programmiere die Zeichnungsfunktionen deines Spiels.
- Programmiere die logischen Funktionen deines Spiels.
Die logischen Funktionen steuern am Ende das eigentliche Spiel. Sie registrieren die Eingaben des Nutzers, die Phase des Spiels und treiben den Spielfortschritt voran. Sie dokumentieren auch den Spielstand; bestimmen, ob das Spiel beendet ist, und entscheiden über das Gewinnen oder Verlieren. Auch die nervigen Hinweise, dass eine Aktion nicht durchführbar ist, werden von den logischen Funktionen gesteuert. Das war jetzt natürlich nur eine sehr grobe Anleitung dazu, wie du ein Spiel programmierst. In Pythons Code-Bibliothek finden sich viele weitere Optionen, wie du das Spiel ausbauen kannst, mit Farben, Effekten und Vielem mehr. Spiele programmieren ist nur eine Anwendung für Python. Lies über mehr Anwendungsmöglichkeiten von Python. 
Nachteile des Spieleprogrammierens in Python
Der größte Nachteil, Spiele in Python zu programmieren, ist die schwache Leistung. Sieht man sich einige der beliebtesten Spiele an, wie das bereits erwähnte Gershin Impact, dann kann Python in Sachen Grafik und Geschwindigkeit einfach nicht mithalten. So vielseitig Python auch ist, es ist für mobile Endgeräte nicht geeignet. Wenige mobile Geräte nutzen Python, da seine Vorteile in der Entwicklung der Server-Seite liegen und weniger in leistungsbasierten Anwendungen. Smartphones und Tablets werden häufig zum Gaming genutzt, was bedeutet, dass Spiele, die in Python entwickelt wurden, einfach nicht mithalten können. Zu guter Letzt kann es auch etwas mühsam sein, Spiele in Python zu schreiben. Seine Bibliotheken sind zwar umfassend, gut beschrieben und einfach zu verwenden, dennoch ist die Spielentwicklung in Python recht aufwendig. Viele Programmierer*innen sehen deshalb den Aufwand in keinem Verhältnis zum Nutzen. Dennoch gibt es einige großartige Python-basierte Spiele: „Frets of Fire“ und „Save the Date“ zum Beispiel. Wo Python wirklich von Bedeutung ist, ist die Data Science.









