Android App – Radiation Runner

Android App – Radiation Runner

In Zusammenarbeit mit David Hadizadeh ist im Studienschwerpunkt „Technik mobiler Geräte“ die Android Applikation „Radiation Runner“ entstanden. Diese bündelt die klassisch Gesellschaftsspiele Schnitzeljagd, Topfschlagen und Verstecken in einer Android Anwendung mit dem Fokus auf aktuelle mobile Technik. Hierzu gehören WLAN, NFC, Bluetooth, SQLite und OpenGL ES.

Unter „(WEITERLESEN)“ findet ihr technischen Details und eine ausführliche Beschreibung des Radiation Runner. Für detaillierte Code-Ausschnitte besucht bitte David Hadizadehs ähnlichen Artikel.

Die Android App kann bereits über „Google play“ installiert werden.

Radiation Runner QR CodeAndroid app on Google Play

Technische Details “Radiation Runner”

Wie schon im Teaser angesprochen nutzt der „Radiation Runner“ viele verschiedene Technologien eines modernen Smartphones. Diese werde wie folgt eingesetzt.

WLAN-Feldstärkenmessung
Im „Radiation Runner“ ist die WLAN-Technologie ein entscheidendes Spielelement. Die Feldstärke ausgewählter WLAN-Router/Accesspoints dient als Indikator für Schildstärken, die den Spieler vor schädlicher Strahlung schützen. Verlässt der Spieler ein festgelegtes WLAN bzw. fällt die Feldstärke unter einen bestimmten Wert, ist er dieser Strahlung ausgesetzt und verliert kontinuierlich, je nach Stärke des WLANs, Leben. Fällt der Wert unter null, stirbt der Spieler und das Spiel ist verloren.

NFC (Near Field Communication)
NFC-Tags sind in „Radiation Runner“ als Checkpoints zu verstehen. Der Spieler hat die Aufgabe die angegeben NFC-Tags zu finden und „einzuchecken“. Hat der Spieler alle NFC-Tags gefunden und gescannt, hat er das Spiel gewonnen, wenn sein Leben bis dahin nicht unter null gefallen ist.

OpenGL ES (OpenGL for Embedded Systems)
OpenGL ES wird zur Echtzeitdarstellung des Lebensbalkens verwendet. Der Lebensbalken wird als eigenständiges Element in die bestehende Ansicht integriert und nimmt nicht wie bei vielen anderen Anwendungen den kompletten Bildschirm ein.

Bluetooth
Bluetooth wird verwendet, um aufgezeichnete Tracks zu teilen. Dabei gibt es die Möglichkeit Tracks zum Im- oder Export.

Das Spiel “Radiation Runner”

1 Voraussetzungen

Um die Anwendung „Radiation Runner“ im vollen Umfang nutzen zu können, muss das verwendete Smartphone über GPS, WLAN, NFC und Bluetooth verfügen.

2 Menüpunkte und Funktionen

2.1 Spielen

Zum Spielen von Radiation Runner ist es notwendig mindestens selbst einen Kurs zu erstellen oder diese per „Teilen“ zu importieren. Existieren noch keine Kurse wird man darauf hingewiesen.

2.2 Spielelemente

2.2.1 Titel

Der Titel ist der Name des aktuellen Kurses.

2.2.2 Lebensbalken

Der dargestellte Lebensbalken wird von der WLAN Stärke der eingetragenen Schutzschilde beeinfluss. Sobald der stärkste Schutzschild unter 65% sinkt, sinkt der Lebensbalken. Dieser sinkt umso schneller, desto schwächer das stärkste Schutzschild ist. Sollte eines der Schutzschilde wieder über 65% steigen, steigt der Lebensbalken langsam an.

2.2.3 NFC-Tags

Es werden alle NFC-Tags angezeigt, die beim Erstellen der Kurse angelegt wurden. Wird während des Spiels ein NFC-Tag eingelesen, wird dieser abgehakt.

2.2.4 Schutzschilde

Es werden alle Schutzschilde (WLAN Netzwerke) angezeigt, die beim Erstellen des Kurses angelegt wurden.

2.2.5 Timer

Der Timer zeigt die vergangene Spielzeit und ist ein wichtiger Bestandteil der Punkteberechnung. Je weniger Zeit man benötigt desto höher ist die später ausfallende Punktzahl für die Bestenliste.

2.3 Spielablauf

Sobald das Spiel gestartet wird, hat der Spieler die Aufgabe alle in der Liste angezeigten NFC-Tags so schnell wie möglich zu finden und einzulesen. Hierzu sollte er sich in der Reichweite von mindestens einem Schutzschild (WLAN) befinden. Dessen stärke sollte nicht unter 65% fallen da dies die Lebenspunkte reduziert.

2.4 Spielende

2.4.1 Sieg

Wenn alle NFC-Tags eingelesen und die Lebenspunkte nicht unter null gefallen sind, hat der Spieler gewonnen. Anschließend wird die Punktzahl für die Bestenliste aus der vergangenen Zeit und dem verbliebenen Leben berechnet.

2.4.2 Niederlage

Sobald die Lebenspunkte unter Null fallen und nicht alle NFC-Tags eingelesen sein, ist das Spiel verloren.

2.5 Kursgenerator

Mit dem Kursgenerator können eigene Kurse erstellt werden.

2.6 Kursgenerator Elemente

2.6.1 Kursname

Für die Erstellung des Kurses ist der Name des Kurses zwingend notwendig.

2.6.2 NFC-Tags

Über die Schaltfläche „NFC-Tag hinzufügen“ muss mindestens ein NFC-Tag beschrieben werden.

2.6.3 WLANs

Es muss mindestens ein WLAN ausgewählt werden, damit der Kurs erstellt werden kann. Dies geschieht über die Schaltfläche „WLAN hinzufügen“. In der darauf folgenden Ansicht erscheint eine Liste aller aktuell erreichbaren WLANs und deren Signalstärke.

2.6.4 Einträge Löschen

Sollte ein NFC-Tag oder WLAN falsch ausgewählt worden sein, kann dieses durch einen langen Druck „Long Press“ auf das Element in der jeweiligen Liste entfernt werden.

2.7 Teilen

Über die Teilen Funktion kann der Benutzer erstellte Kurse per Bluetooth exportieren oder importieren. Zusätzlich gibt es die Möglichkeit Kurse zu löschen.

2.7.1 Importieren

Um einen Kurs zu importieren, muss Bluetooth aktiviert sein. Ist dies nicht der Fall wird man darauf hingewiesen und hat die Möglichkeit Bluetooth zu aktivieren. Anschließend erscheint eine Liste aller Geräte mit aktiven Bluetooth. Aus dieser wählt man den Sender. Geschieht das zum ersten Mal, muss man dem „Pairing-Dialog“ zustimmen. Abschließend wird der Kurs empfangen und abgespeichert.

2.7.2 Exportieren

Um einen Kurs zu importieren, muss Bluetooth aktiviert sein. Ist dies nicht der Fall wird man darauf hingewiesen und hat die Möglichkeit Bluetooth zu aktivieren. Anschließend wartet das Gerät 300 Sekunden auf einen Verbindungsaufbau. Erfolgt dieser rechtzeitig, wird der Kurs automatisch versendet.

2.7.3 Löschen

Durch einen langen Druck „Long Press“ auf einen Kurs (in der Liste der zu exportierenden Kurse) kann dieser gelöscht werden.

2.8 Bestenliste

Die Bestenliste zeigt alle Siege und die jeweilige Punktzahl in absteigender Reihenfolge an. Durch die Auswahl eines Ergebnisses erscheinen weitere Details.