Pipemania: Die Entstehungsgeschichte
Einige meiner Leser werden es vermutlich schon wissen, dass ich seit geraumer Zeit an einem kleinen Projekt arbeite: Pipemania. Ein paar Worte zu Pipemania, bevor ich die Ziele des Projektes näher beschreibe:
Pipemania ist ein klassisches, sehr einfaches Strategie- und Puzzlespiel. Ziel des Spieles ist es, zufällig vorgegebene Rohrstücke auf der Spielfläche so zu verlegen, dass eine Pipeline entsteht. Der Witz dabei ist, das die Zeit zum verlegen der Rohrstücke automatisch durch den einsetzenden Wasserfluss begrenzt wird.
Die Idee zum Schreiben des Spiels entstand einige Monate bevor ich mich zur eigentlichen Entwicklung durchgerungen habe. Ich fand es schlichtweg zu sinnfrei, das Spiel nur um des Spieles willen zu entwickeln. Doch kaum hatte ich mich versehen, schon gab es ein paar Gründe mehr, das Spiel endlich in die Tat umzusetzen:
Einer meiner Coding-Freunde beschäftigte sich unlängst mit der neuen WPF. Als gestandener Windows-Forms Entwickler staunte er nicht schlecht, als er feststellen musste, dass sich doch viele neue Konzepte vor ihm auftaten. Ganz besonders verwundert war er über die neuen Commanding- und Event-Konzepte von WPF.
Als wir in einer ruhigen Minute uns darüber unterhielten, fragte er mich, wieso denn überhaupt diese neuen Techniken eingeführt worden sind – Schliesslich hätten Events und Backend-Binding wenig mit Animationen und Vektorgrafiken gemein. Ich entgegnete ihm, dass die in WPF sehr presenten Konzepte sehr wohl nichts Neues seien. Ausserdem behauptete ich dreist, die Konzepte würden endlich weiterhelfen, eine klare Trennung von UI und Logik zu gestalten. Als Antwort darauf erhielt ich ein trockenes ‘Beweise es mir, am Besten mit Windows Forms’. Tja, das hat man davon, wenn man sich weit aus dem Fenster lehnt.
Ein paar Wochen später hatte ich ein kurzes Gespräch mit einem Kollegen über Microkernels. Er verwende derzeit einen einfachen Microkernel von Westphal und sei damit im Großen und Ganzen ganz zufrieden. Er frage sich warum dieses Konzept nicht von Haus aus im .NET Framework verankert sei. Ich erwiderte ihm, dass das .NET Framework ein im Prinzip gleichwertiges Dependency Injection Modell schon seit Version 1.0 an Bord hat. Das sei ihm neu und er wüsste nicht, wie er es einsetzen könne. Noch ein Grund mehr für Pipemania.
Kurzum finden sich beide Fragestellungen – und deren Antworten – in Pipemania wieder. Neben diesen ‘Initialzündungen’ habe ich noch einige weitere Designs und Patterns in den Quellcode gepackt, um vielleicht an einem späteren Zeitpunkt ein paar konkrete Beispiele zu haben, wenn es mich dazu hinreißen sollte, darüber zu schreiben.
Trotz diesem ‘tieferen Sinn’ des Projektes habe ich so gut wie es mir möglich war versucht, das Spiel so zu entwickeln, dass es auch spielenswert ist oder zumindest ein netter kleiner Zeitvertreib ist.
Interesse an Pipemania und dem, was dahinter steckt? Falls ja, dann kann ich beruhigend auf die nahe Zukunft hinweisen, denn bald werde ich das Projekt und dessen Konzepte hier näher vorstellen. Stay tuned!








Ihre Meinung ist gefragt!