Schlangenfraß: Video-Tutorials zum Wochenende

Spieleprogrammierung
Python
Pygame
Pymunk
VPython
Trinket
Nature of Code
Autor:in

Jörg Kantel

Veröffentlichungsdatum

21. Februar 2025

Da mein Programm für die nächsten Wochen oder gar Monate darin besteht, mindestens die ersten drei Kapitel aus Daniel Shiffmans »The Nature of Code« nach Python und Pygame zu portieren und um eigene Beispiele zu erweitern, habe ich mir zur Vorbereitung erst einmal ein paar Video-Tutorials herausgesucht, die ich Euch nicht vorenthalten möchte:

Pymunk

Pymunk, die nach eigenen Angaben leicht zu erlernende, freie (MIT-Lizenz) Physik-Bibliothek (Quellcode auf GitHub) steht zwar frühestens erst dann auf meinder Liste, wenn ich mich auch an das Kapitel 6 über Physik-Bibliotheken heranwage. Aber da ich schon lange mal etwas mit Pymunk anstellen wollte, habe ich mir das obige Video vorab schon einmal reingezogen.

VPython

Anders sieht es mit dem Kanal »Dot Physics« von Rhett Allain aus. Der überaus fleißge Physik-Professor und YouTuber deckt viele der Themen (und noch weit mehr) ab, die auch in The Nature of Code behandelt werden. Das fängt mit seinen beiden Videos über ein- und zweidimensionale Random Walks an (die bei Shiffman im Kapitel 0 behandelt werden) und setzt sich in vielen weiteren physikalischen Themen fort. Rhett Allain, der auch ein fleißger Autor auf Wired und auf Medium.com ist, nutzt für seine Skripte VPython, eine Bibliothek, mit der man in Python einfach zwei- und dreidimensionale physikalische Probleme lösen kann (und zwar in der Online-Trinket-Version). Ich hatte ihn Ende Januar schon einmal kurz auf dem Schirm, aber wegen meiner aktuellen Interessen möchte ich noch einmal ausführlicher auf ihn eingehen:

  • Die Playlist »Physics Python Tutorials« besteht aus 35 im Schnitt etwa zwanzigminütigen Videos. Danach dürften in Bezug auf VPython keine Fragen mehr offen sein.
  • Die kurze Liste »Pi« (vier Videos) ist etwas für den Pi Day.
  • Die aus drei Videos bestehende Liste »Double Pendulum« behandelt einen Bereich, der ein beliebtes Physik-Problem mit Bezug zur Chaos-Theorie und dynamischen Systemen ist.
  • Wieder Bezug auf Kapitel 0 (und weit darüber hinaus) hat die Liste »Monte Carlo« die aus 11 Videos (mit ein paar Überschneidungen zur Liste »Physics Python Tutorials« siehe oben) besteht.
  • Ganz aktuell sind die Listen »Introduction to Astrophysics« und »Classical Mechanics 2 - Spring 2025«. Sie bestehen zur Zeit aus je vier etwa halbstündigen Videos, werden aber noch ständig aktualisiert.

Pygame

J. Brandon George (aka GameElementGuy) hat ein How To geschrieben: »Easily Implement Sprite Sheets In Your PyGames«, aus dem auch das obige Video stammt. Inspiriert wurde er unter anderem von dem siebeneinhalbstündigen (sic!) Tutorial »Creating a Zelda style game in Python [with some Dark Souls elements]«, das man sich nur häppchenweise reinziehen kann.

Zum Thema »Spritesheets in Pygame« gibt es auch von Coding wiith Russ die zwei Tutorials »Pygame Sprite Sheets« und »Pygame Sprite Animation«, die unbedingt auch in dieser Reihenfolge konsumiert werden sollten.

Daneben gibt es auf diesen Kanal eine Reihe weiterer Playlisten, die jeweils die Programmierung eines Spieles in Pygame zeigen. Meine Favoriten sind:

Dann sind mir noch (völlig unsortiert und ungeprüft) diese Playlisten aus diversen Kanälen untergekommen:

Das schafft natürlich niemand, das kann man sich bestenfalls nur sehr selektiv reinziehen.

War sonst noch was? Ach ja, der User Leaflet hat eine von Elden Ring« inspirierte interaktive Geschichte oder Visual Novel in Pygame realisiert. Dazu gibt es auch noch eine andere Geschichte »Royal Ordains« auf YouTube und den Quellcode für seine Elden Ring Variante (MIT-Lizenz) auf GitHub.

Mir ist nicht ganz klar, ob und wie die Geschichten zusammengehören, fertiggestellt scheinen sie beide auch noch nicht zu sein. Aber es ist eine interessante Frage, warum der Autor für seine (Pseudo-) Mittelalter-Fantasy-Geschichten Pygame und nicht Ren’Py verwendet. Weil es geht …? Auf jeden Fall ist es interessantes und inspirierendes Projekt (und auch den Quellcode für Rocal Ordains (GPL) gibt es auf GitHub).


Bild: Python sits on a sofa and watches TV, erstellt mit OpenArt.ai. Prompt: »colored french comic style, a large python with horn-rimmed glasses sits on a sofa in a living room in the evening and watches television, next to the sofa an old-fashioned floor lamp is lit, on the walls there are shelves with many books, the moon shines through a window«. Modell: Flux (Pro), Style: None.