ClappyBird

Aus toolbox_interaktion
Wechseln zu: Navigation, Suche


Eine interaktive Abwandlung des allseits beliebten Handygame Klassikers "Flappy Bird" bietet "Clappy Bird" kurz C-Bird. Bei C-Bird handelt es sich um ein Programm, das über Klatschen und Klopfen die Eingabe für das bekannte Gameplay aus Flappy Bird realisiert.



Gameplay

Mit dem für dieses Spiel neu entwickelten Gameplay-Modus "Clap&Fly" steuern die Spieler einen kleinen Vogel, der durch eine animierte Welt fliegt. In dieser Welt gibt es drei verschiedene Spieloptionen. In der klassischen Option stellen grüne Pipes das Hindernis dar. Berührt der Vogel diese Pipe, ist die Runde verloren. Kann er dem Hindernis ausweichen, erhält der Spieler einen Punkt. In den beiden anderen Optionen stellen nicht Pipes, sondern folgende sich auf dem Spieler bewegende Figuren das Hindernis dar.

Klassischer Modus


Bullets

Sie haben eine klar definierte Höhe und bewegen sich mit konstanter Geschwindigkeit auf die Figur zu. Kann man ausweichen gibt es einen Punkt und das Spiel geht weiter.

Bullets Mode

Paratrooper

Bewegen sich vertikal auf und ab. Um Weiterspielen zu können und Punkte zu Sammeln, muss auch dieser Figur erfolgreich ausgewichen werden.

Paratrooper Mode

Klatschen

Über das Klatschen wird der Vogel in der Luft gehalten. Die Klatschfrequenz regelt dabei die Höhe des Vogels.

Klopfen

Das Klopfen ermöglicht es einen zweiten Spieler Einfluss auf das Gameplay zu nehmen. Während der jeweiligen Runde erscheint in zufälligen Abständen die Klopfaufforderung. Schafft es der Spieler während diesen vorgegebenen Intervall die entsprechenden Klopfimpulse zu übergeben, steigert sich die Spielgeschwindigkeit, was das Gameplay für den "Klatscher" erschwert.


Komponenten

Um die Steuerung von C-Bird umzusetzen dient ein Arduino-Leonardo. Dieser Baustein erhält mittels Mikrofon und Piezo die Klatsch- bzw. Klopfsignale. Werden diese Signale dann richtig erkannt, übergibt der Leonardo, als eine Art zusätzliches Keyboard, Tastaturbefehle an das C-Bird Programm. Damit werden durch das Klatschen und Klopfen die sonst notwendigen Tastatureingaben ersetzt.

Arduino Leonardo Piezo Mikrofon



Testphase

Während der Testphase wurden akustische Aufzeichnungen der Klatsch- und Klopfsignale durchgeführt. Dabei zeigte sich das beide Signale ein ähnliches Frequenzspektrum erzeugen. Da jedoch nur das Klatschen über das Mikrofon detektiert werden soll, muss eine klare Abgrenzung der beiden Signale erfolgen. Eine Überlegung führte dazu das Klatschsignal mit dem hochfrequenten Ton einer Hundepfeife zu ersetzen. Damit konnten zwar deutlich höhere Frequenzen erzeugt werden, jedoch erwieß sich das Pfeiffen für den Spieler als zu unangenehm und die Methode wurde nicht umgesetzt. Abhilfe schaffte dann eine Bandpassfilterschaltung, die im Kapitel Implementierung genauer erklärt wird.

Klatschspektrum Klopfspektrum


Implementierung

Aufbau

Um die Frequenzen von Klopfen und Klatschen zu trennen und die Signale eindeutig zu erkennen, wurde eine Bandpassfilterschaltung am Ausgang vom Mikrofon aufgebaut. Diese ist so konzipiert, dass die in der Testphase zuvor ermittelten Frequenzen vom Klatschsignal (ca. 1,4 kHz) durchgelassen und die niedrigeren Frequenzen vom Klopfen unterdrückt werden.

Die verwendeten LED`s signalisieren die Erkennung des jeweiligen Signals. Über den Taster wird die Detektion aktiviert.


Ergebnis

In der folgenden Abbildung ist die fertige Schaltung auf der Lochrasterplatine dargestellt.

Lochrasterplatine


Nachfolgend können der Arduino-Code und das modifizierte FlappyBird-Projekt herunter geladen werden.

Die unveränderte Version ist unter github.com/Sranshaft/FlappyBird zu finden.

ClappyBird: Visual Studio C#-Projekt

ClappyBird: Arduino Source Code