Was bisher geschah – Der Ameisenspaß
Als technischer Auftakt meines neuen Blogs macht es immer Sinn, von vorherigen Projekten zu erzählen – in meinem Fall geht’s da um zuckersammelndes Ungeziefer. Wer in den vergangenen 2 Jahren mal versucht hat, sich in Programmiersprachen wie C# oder VB.NET einzuarbeiten und im Netz nach geeigneten Konzepten gesucht hat, der hat sicher schon mal von „AntMe!“ gehört.
Bei AntMe! – für alle, die das gute Stück noch nicht kennen – handelt es sich um ein kleines Programmierer-Spiel, bei dem der Spieler die Aufgabe hat, das Gehirn von Ameisen zu programmieren, sodass diese in einer anschließenden Simulation eigenständig Nahrung suchen und sich gegen die natürlichen Feinde wehren zu können. Ein ausgeklügeltes Framework sorgt dafür, dass jede Ameise nur einen kleinen Satz an trivialen Befehlen versteht und auch nur einen eingeschränkten Wahrnehmungsradius hat. Reden und zuzwinkern kommt für Ameisen schon gar nicht in Frage. Was Kommunikation angeht, orientiert sich das Spiel ganz an der echten Natur – dort wird nämlich Duft gesprüht was das Zeug hält. Und auch bei anderen, liebevollen Kleinigkeiten verhält sich eine solche Ameise wie im echten Leben. Mit 4 Zeilen Code wuselt’s schon ordentlich, die Ameisen sehen knuffig aus und entpuppen sich, wenn der Quelltext mal ein paar Zeilen komplexer wird, als echte, eigensinnige Wesen die eine interessante Eigendynamik entwickeln.
Von Profis gerne belächelt, hat das Spiel dem einen oder anderen schon den Weg in die Programmierung durch ein verständliches Szenario und einem gewissen Anreiz für den eigenen Kampfgeist geebnet. Doch ein genauerer Blick in die Architektur lässt erkennen, was bereits viele Lehrer und Professoren bereits für sich gefunden haben: Im Projekt steckt noch viel mehr Potential für anschauliche Software-Entwicklung. Viele Patterns der „echten“ Softwareentwicklung haben Anwendung gefunden und sind direkt an einem verständlichen Beispiel zu bewundern. Wirft man beispielsweise einen Blick auf die Art und Weise, wie AntMe! externe Bibliotheken zur Laufzeit einbindet, so hat man bereits begriffen, wie klassische Plugin-Konzepte funktionieren.
Innerhalb des Spiels wimmelt es von solchen praktischen Anwendungen sonst so theoretischer Dinge, weshalb sich ein genauerer Blick auch für Profis und alteingesessene Coder lohnt.
Das Projekt ist unter https://www.antme.net zu finden. Ein Forum gibt es dort auch, damit konkrete Fragen schnellstmöglich beantwortet werden können.