Pygbag (2): Nachschlag zu »Pygame im Browser«

Pygame
Spieleprogrammierung
Pygbag
WASM
Autor:in

Jörg Kantel

Veröffentlichungsdatum

6. Juni 2023

Natürlich hat mich das gestern vorgestellte Paket »Pygbag«, mit dem es möglich ist, Pygame-Skripte im Browser auszuführen, nicht in Ruhe gelassen, ich mußte noch ein wenig damit spielen. Dabei sind mir noch folgende Einzelheiten aufgefallen:

Die einfachste Möglichkeit, die Skripte in den eigenen Seiten – wie hier in diesem Blog Kritzelheft – auszuführen, ist die, nach dem Hochladen auf Itch.io das dortige Embed-Widget zu nutzen (unter Widgets -> Embed Game). Wer einen GitHub Pages-Account besitzt, kann sie auch von dort hosten (hier eine Anleitung). Wie man sie ohne einen Dienst dazwischen zu schalten direkt in seine Webseite einbindet, habe ich noch nicht herausgefunden (einfach den Folder web hochzuladen und dann die dortige index.html per HTTP(S) aufzurufen, funktioniert nicht). Hier muß ich noch recherchieren, aber das Einbetten des Itch.io-Widgets hat ja auch seinen Charme (siehe oben).

Ähnlich wie bei P5.js und Trinket gibt es auch bei von Pygbag erzeugten Skripten bei bestimmten Tasten (Pfeiltasten, Space, etc.) Konflikte mit dem Browsern, die diese Tastatureingaben einfach an sich reißen. Ich habe daher für den kleinen Pizzaflieger oben die Tasten a (für aufwärts) und d (für down) als Steuerung implementiert (später soll auch noch s (für shoot) hinzukommen). Es empfiehlt sich, bevor man Tastatur- oder Mauskommandos implementiert, zu testen, ob sie sich mit den Browsern vertragen.

Einer Fußnote habe ich entnommen, daß die Unterstützung der Physikbibliothek Pymunk schon in Pygbag implementiert sein soll. In diesem Zusammenhang ist daher das Video »Physics Simulations With Python and PyMunk« von großem Interesse, denn dann wären nicht nur Spiele, sondern auch Physik-Simulationen mit Pygame und Pymunk im Browser möglich.

War sonst noch was? Ach ja, auch Visual Studio Code möchte in seiner Browser-Version WebAssembly und die Ausführung von Python-Code via WASM unterstützen. Dazu gibt es in dem Beitrag »Run WebAssemblies in VS Code for the Web« so etwas wie eine Roadmap und eine Beschreibung, was aktuell schon möglich ist. Sicher nicht nur für Chromebook-Nutzer eine hochinteressante Entwicklung.