Zurück zum Hacken mit Code: microStudio, Python, Pygame und/oder Py5

Spieleprogrammierung
microStudio
Pygame
Py5
Simulation
Autor:in

Jörg Kantel

Veröffentlichungsdatum

20. September 2023

Wie gestern schon angedeutet möchte ich für ein paar Tage eine Pause bei meinem Twine- und Ren’Py-Projekt einlegen. Denn die Menge der Tutorials, die ich in den letzten Tagen herausgehauen habe, hat mich ein wenig ausgelaugt, und so möchte ich erst mal etwas anderes anstellen, um danach mit frischer Kraft mich wieder meinen Twine-Tutorials zu widmen.

Angestachelt dazu hat mich auch das Unity-Desaster, das in den letzten Tagen durch die Spieleentwicklerszene geisterte. Die Suche nach freien Alternativen zu Unity hat auch mich erfaßt, doch leider werde ich immer noch nicht mit dem als Top-Alternative gehandeltem Godot wirklich warm. Das liegt auch daran, daß mein räumliches Vorstellungsvermögen anscheinend begrenzt ist und ich Schwierigkeiten habe, ein Spiel in 3D zu konzipieren. Und für 2D-Spiele scheint mir Godot doch ein wenig Overkill zu sein.

Doch in meinen Kommentaren erinnerte mich ein Leser an microStudio. Diese freie (MIT-Lizenz) 2D-Game-Engine hatte ich im Mai letzten Jahres schon einmal im Schockwellenreiter vorgestellt und wollte sie damals auch unbedingt testen. Doch leider ist dies im Alltagsgeschäft untergegangen und in Vergessenheit geraten.

Nun habe ich die Gelegenheit am Schopf gefaßt und das Programm wieder hervorgekramt. Per Default wird die Engine mit microScript programmiert, einer Lua-ähnlichen Programmiersprache, die nach JavaScript übersetzt. Aber auch die Programmierung in Lua selber, JavaScript direkt oder gar Python (genauer: Brython) ist möglich1.

microStudio ist so etwas wie die freie Fantasykonsole TIC-80 (oder das proprietäre Pico-8), nur ohne deren gewollten, konzeptionellen, nostalgischen Einschränkungen. Und ich würde – nicht nur wegen der Beschränkung auf 2D – die Engine nicht unbedingt als Unity-Alternative sehen, sondern eher als freie und plattformübergreifende (Windows, macOS, Linux, Raspberry Pi) Alternative zum in der Indy-Szene immer noch beliebten, aber proprietären Game Maker (und dem in der aktuellen Version nur noch unter Windows lauffähigen GameMaker: Studio).

Das Projekt ist noch recht jung und so ist auch die Literatur und die Anzahl der (Video-) Tutorials etwas knapp. Aber ein paar nette Tutorials habe ich doch für mich und Euch zusammengesucht (sie behandeln als darunterliegende Programmiersprache alle microScript):

Schaun wir mal, was ich mit diesen Informationen anstellen werde …

 

Doch nun noch eine zweite Baustelle: Eher zufällig hat mir YouTube das Video »Forest fire simulation tutorial with PyGame« von Steve’s Coding Lab vorgeschlagen2. Der hat in Al Sweigarts »The Big Book of Small Python Projects« gestöbert und die dort behandelte Waldbrand-Simulation nach Pygame übertragen und die Auswertung mit der Matplotlib vorgenommen. Das hatte ich auch schon einmal im Schockwellenreiter vorgestellt und vor Jahren eine graphische Version auch schon einmal in Processing.py implementiert. Jetzt hätte ich große Lust, die Simulation auch einmal entweder in Pygame oder – noch abgefahrener – in Py5 zu programmieren (im letzten Fall natürlich ebenfalls unter Einbeziehung der Matplotlib).

Das muß doch irgendwie zu machen sein. Auf jeden Fall habe ich mir schon einmal die Bücher von Al Sweigart (neben dem »Big Book of Small Python Projects« auch das »Recursive Book of Recursion« – beide Bücher könnt Ihr online für umme lesen) aus meinen Bücherregalen wieder hervorgekramt und hoffe, daraus weitere Inspirationen zu ziehen.

Abschließen möchte ich diesen Beitrag mit den beiden je etwa halbstündigen Videos »Random Walk in 1D with Python« und »Random Walk in 2D with Python« von Abhijit Kar Gupta. Auch hier juckt es mich in den Fingern, eine (Re-) Implementierung in Py5 oder in Pythons Turtle (die habe ich in den letzten Wochen ebenfalls sträflich vernachlässigt) zu versuchen.

Ihr seht, neben Twine und Ren’Py habe ich noch etliche andere Baustellen zu bearbeiten. Ich habe daher zu tun. Still digging!

Fußnoten

  1. Auch wenn ich testweise mal mit Brython und microStudio herumegespielt habe (siehe Screenshot), werde ich bei weiteren Versuchen mich erst einmal auf microScript beschränken. Die Dokumentation für Brython in microStudio scheint mir doch noch zu spärlich. Aber sollte ich mit microStudio und microScript vertrauter werden, werde ich mich eventuell doch an die Python-Implementierung wagen.↩︎

  2. Das Video ist Teil der Playlist »Python – Intermediate«. Daraus ist im Zusammenhang mit diesem Beitrag auch noch das Video zu Conway’s Game of Life (15 Minuten) interessant.↩︎