1. Hardware
Borgen Sie sich (wenn noetig) Hardware vom Institut aus um ihr Level zu implementieren und zu testen. Lesen sie dazu die Details zur Hardwareausleihe durch das Sekretariat des Instituts. Um ihr Level auf Hardware zu debuggen müssen sie (eventuell) einen USB driver installieren und das debugging am Smartphone (Settings->Applications->Development->USB Debugging) aktivieren. Lesen sie wenn noetig die detailierte Anleitung zum Installieren des richtigen USB Drivers und optional die Anleitung zum Entwickeln mit Hardware.2. Targeting und Localization
Das Spiel und damit auch Ihr Level wird mit verschiedenen htc smartphones getestet und soll auf diesen problemlos laufen. Das Spiel soll auf Englisch und Deutsch veröffentlicht werden. Daher müssen Sie alle Texte (also Strings), Grafiken die Texte enthalten und Sounds die Sprache enthalten doppelt erstellen. Externalisieren Sie daher alle Strings (keine Strings im Source Code) und stellen sie die Strings in zwei Varianten zur Verfügung. Englisch (default) im Ordner res/values, Deutsch im Ordner res/values-de. Mehr Details über Localization unter Android können sie in der SDK Dokumentation finden (siehe hier und hier).3. Implementieren Sie einen Platzhalter für Ihr Level
- LevelActivity: Ihre LevelActivity ist der Anknüpfungspunkt, der vom Framework aus gestartet wird. Sie müssen dazu Ihre Activity und die richtigen Intent-Filter (wenn nicht schon passiert) im AndroidManifest.xml File deklarieren (analog zu Level00 im Framework).
- AugmentedRealityRenderer: Implementieren Sie einen einfachen Renderer der von der Klasse AugmentedRealityRenderer abgeleitet ist, der ein Dreieck oder etwas ähnlich einfaches darstellt. Diesen Renderer können Sie als Ausgangsbasis für die weitere Implementierung Ihres Levels verwenden.
4. Mit dem Framework Interagieren
- Icon: Erstellen Sie ein Icon, das Ihr Level repräsentiert und ersetzen sie den Platzhalter fuer ihr Level-Icon im Framework. Das Icon muss in zwei Varianten (66x66 Pixel und 40x40 Pixel) abgegeben werden und nach den schon aus Phase I bekannten Naming Conventions mit lXX_icon.png (wobei XX für ihre Gruppen ID steht) benannt sein. Kopieren Sie das Icon mit der niedrigeren Auflösung in den "res/drawable" Ordner und das icon mit höherer Auflösung in den "res/drawable-hdpi" Ordner.
- Return Werte: Um dem Framework Werte zu übergeben, die den Fortschritt des Benutzers angeben, muessen sie setResult() aufrufen bevor sie ihre Activity mit finish() beenden. Ein Beispiel kann in der Levle00Activity gesehen werden.
- Musik und Sounds verwenden: Der Benutzer wird im Framework einstellen koennen ob er Musik und Sounds abspielen moechte. Ihr Level muss sich an dieses Setting halten. Um herauszufinden ob die Musik/der Sound gerade an- oder ausgeschaltet ist muessen sie eine Funktion des globalen Status (PersistentState.getLetsMakeSomeNoise()) aufrufen. Ein Beispiel kann in der Levle00Activity gesehen werden.
- Verwenden Sie die LauncherActivity (EntryPoint), um Ihr Level und Ihre HelpActivtiy zu debuggen.
Die LauncherActivity startet automatisch immer das Level das in dem Textfeld eingegeben wurde. Um zur LauncherActivity zurueck zu kehren druecken sie die Back-Taste auf dem Smartphone. - Dokumentation: Verwenden sie JavaDoc Kommentare! Das Spiel wird am Ende des Semesters OpenSource veröffentlicht. Eine Veröffentlichung macht allerdings nur Sinn, wenn der Code auch Dokumentiert ist! Die Dokumentation zählt zur Integration in das Framework und wird auch als solches in die Beurteilung einfließen.
5. Implementieren Sie das Level
- Funktionalität: Bis zum Ende von Phase II müssen Sie Ihr Level in einer Rohversion implementiert haben. Achten Sie dabei auf korrekte Zusammenarbeit mit dem VU-Framework und mit dem Android Framework (Persistence, LifeCycle, etc.) sowie auf die Funktionalität Ihres Levels.
- Zwischengespräch: Das Ende von Phase II bildet das Zwischengespräch. Hier bekommen Sie Feedback zu Ihrem Level und der Implementierung.