Boids – mein nächstes Python-Projekt?
Da mein Umzug mit Quarto nach GitHub Pages ja erstaunlich problemlos über die Bühne ging, habe ich jetzt wieder Zeit für ein paar Projekte mit Python, genauer: Ich möchte meine Erkundungen von Py5, dem Python3-Port von Processing fortführen. Und da bei mir ja immer noch Experimente in Richtung von »The Nature of Code« anstehen, habe ich mir als Projekt eine Implementierung von Craig Reynolds Boids ausgesucht.
Wegen der Popularität des Themas gibt es Video-Tutorials zu »Boids« wie Sand am Meer. Ich brauchte daher nicht lange zu suchen, bis ich fündig wurde:
Besonders gefallen hatte mir die zweiteilige Flocking-Simulation (Teil 2) von Stray Basilisk. Die Videos weisen zwar mit je mehr als anderthalbstündiger Laufzeit eine beträchtliche Länge auf, aber sie sind nicht langweilig. Und sie sind in Processing programmiert.
Als besonderes Schmankerl nutzt Stray Basilisk für die Darstellung der Boids dieses freie Tileset mit fünfzehn animierten Vögeln aus dem Liberated Pixel Cup von OpenGameArt.org. Die geben dem Programm doch gleich eine ganz eigene Anmutung.
Die beiden Videos sind Teil einer Playlist »Game Coding From Scratch« mit insgesamt 42 meist anderthalb bis zweistündigen Videos mit vielen weiteren Projekten (auch in Go und Unity), die mich sicher noch über Tage, wenn nicht gar Wochen beschäftigen wird.
Wer es etwas kompakter mag, dem sei das Video »Coding Boids in 15 Minutes« empfohlen (ebenfalls in Processing). Der Autor hat sich reichlich bei Daniel Shiffmans »Flocking Simulation« bedient, aber auch dessen Video (Webseite auf Coding Train) ist 45 Minuten lang. Kompakter als in obigem Video geht es also kaum noch.
Und last but not least gibt es noch die fünfteilige Coding Challenge »Evolutionary Steering Behaviors« (ebenfalls von Daniel Shiffman) mit einer Gesamtlaufzeit von etwas über zwei Stunden. Genug Material also, um meine Experimente vorzubereiten. Still digging!