Tuxracer

Neben "ernsthaften" Anwendungen sind Spiele für viele Menschen die zentrale Anwendung von Computern. Natürlich kann man auch mit FullCircle spielen: Aus einer Runde TuxRacer wird eine Visualisierung generiert, genau genommen aus dem Punktestand einer kleinen Bergabfahrt.

Gesteuert wird diese Dialogstation über eine Wiimote. Der Spieler steuert über das Steuerkreuz einen Pinguin, der auf dem Bauch einen verschneiten Berg herunterrutscht. Dabei können Fische aufgesammelt werden (Bonuspunkte), und die eine oder andere Bodenwelle bringt dem Pinguin das Fliegen bei. Nach dem Durchfahren der Ziellinie generieren wir aus dem Punktestand eine Visualisierung. Diese wird dann kurze Zeit später auf der Lightwall angezeigt. Gleichzeitig bekommt jeder Besucher einen Zettel, auf dem eine Interaktionsnummer aufgedruckt ist. Diese wird dann vor dem Anzeigen der Visualisierung dargestellt.

Technisch funktioniert die Dialogstation wie folgt: Das Spiel TuxRacer ist als Open Source-Software im Quellcode frei zugänglich. Wir haben den Quellcode so modifiziert, dass

  • einerseits immer nur ein Level spielbar ist (sprich: Man kann nicht mehr ins Menü zurück) und
  • andererseits beim Beenden eines Levels ein kleines Script ausgeführt wird, welches sich um die Visualisierung und das Drucken des Zettels kümmert.

Die Details der Softwaremodifikation finden sich in unserem Projektwiki. Im Hintergrund benutzen wir unsere Softwarebibliothek libfullcircle, die sich um das Berechnen der Visualisierung kümmert. Für diese Dialogstation benutzen wir sogenannten "Perlin-Noise". Dabei handelt es sich um eine Zufallsfunktion, die sogenanntes konsistentes Rauschen generiert. Konkret bedeutet das: Die Funktion verändert die Werte nur wenig, wenn zwei Pixel nebeneinander liegen. Daher entstehen eher größere, einheitliche Flächen. In Filmproduktionen wird Perlin Noise zur Simulation verschiedener Materialtexturen verwendet - von Stahl über Stein bis hin zu Holz. 

Obwohl Ihnen die Farben und Formen also eher zufällig gewählt erscheinen, steckt ein genauer Zusammenhang hinter der Visualisierung. Ein Beispiel für eine Darstellung können Sie hier sehen: