1. Setzen Sie die Entwicklungsumgebung auf (Einzelaufgabe)
Sie können sowohl
auf Linux, Mac, als auch Windows entwickeln.
- Machen Sie sich mit Android vertraut: Schauen Sie sich dazu
die Informationen auf der Android Developer
Seite an.
- Installieren Sie Android: Ein guter Ausgangspunkt dafür ist Google's
Installationsseite. Wir empfehlen sehr die Eclipse Entwicklungsumgebung zu verwenden. Bitte achten Sie ganz genau auf die Version
von Java, Eclipse und Android, die Sie (laut Google's Installationsanweisung) installieren sollen.
- Installieren Sie die Android Plattform 2.2: Die Uebung verwendet Android Version 2.2. Sie muessen diese Plattform daher im Android SDK und AVD Manager herunterladen.
2. Laden Sie den Source Code von 'Inverse Treasure Hunt' herunter und probieren Sie das Framework aus (Einzelaufgabe)
- Wenn Sie mit Version Control (hier im speziellen SVN) nicht
vertraut sind, machen Sie sich damit kurz vertraut. SVN übernimmt alle
Aufgaben, um die gemeinsame und gleichzeitige Entwicklung an unserem Spiel
für alle Gruppen zu ermöglichen. Sie werden SVN verwenden, um den
Source-Code des Frameworks herunterzuladen und dann ihr integriertes
Level wieder hochzuladen.
- Installieren Sie einen für ihr System passenden SVN client.
Hier ein paar hilfreiche Links dazu:
- Der Source Code ist auf der Google Code Projektseite verfuegbar.
Machen Sie ein SVN checkout von:
http://armd2011.googlecode.com/svn/trunk/
- Sollte das Projekt Fehler haben und der Build fehlschlagen kann das mehrere Gruende haben (das Android SDK ist nicht richtig installiert, das JDK ist nicht richtig installiert, die richtige Android Plattfrom ist nicht installiert, etc.).
Die Probleme lassen sich im Normalfall schnell loesen.
Versuchen sie zuerst das Projekt zu cleanen (in Eclipse 'Project->Clean').
Schauen sie sich dann die Liste der Fehler an und suchen sie im Android Forum oder dem Forum der LVA um Hilfe.
- Starten Sie das Framework im Emulator und machen Sie sich mit
dem Source Code vertraut.
3. Werden Sie Mitglied des Entwicklerteams von 'Inverse Treasure Hunt' (Einzelaufgabe)
- Legen Sie einen Google Account an und tragen sie
Ihren Namen, Matrikelnummer, Studienkennzahl, Emailaddresse (Gmail) und den Namen ihres Gruppenkollegen im Formular am Ende dieser Seite ein.
Optional koennen sie auch eine weitere Emailaddresse angeben, an die Updates (kurzfristige Terminaenderungen, updates der Homepage, etc.) bezueglich der VU gesendet werden.
Sie werden anschließend (haendisch von der Uebungsleitung) zu dem Google Code Projekt hinzugefügt (das kann schon mal einen Tag dauern), und können dann den Source Code bearbeiten.
Das Ausfuellen des Formulars gilt noch nicht als Anmeldung zur VU! Um sich anzumelden müssen Sie alle Schritte der Phase I durchlaufen!
- Wenn Sie zu der Gruppe der Entwickler hinzugefügt wurden, machen Sie erneut ein SVN checkout; diesmal von:
https://armd2011.googlecode.com/svn/trunk
Beachten Sie bitte, dass Ihr Google Code Passwort nicht Ihr Gmail Passwort ist. Sie finden Ihr Google Code Passwort im "Settings"-Tab Ihrer Profilseite.
4. Entwerfen Sie ihr Level und beachten Sie dabei die folgenden Punkte (Gruppenaufgabe)
- Ihr Level soll auf witzige Art und Weise dem Spieler die
Möglichkeit geben Gold zu verlieren. Der Spieler sollte
in der Lage sein in ein bis zwei Minuten bei gutem Erfolg 100 Goldstuecke
zu verlieren. Der Spieler muss aber auch bei schlechterem Erfolg etwas
Gold verlieren können. Ihr Level sollte also nicht nur die Zustände
geschafft/versagt kennen, sondern auch einen teilweisen Erfolg kennen.
- Das Level sollte nicht zu komplex sein.
Erstens soll der Spieler es in sehr kurzer Zeit verstehen können und
zweitens sollten Sie in kurzer Zeit in der Lage sein das Level zu
implementieren. Einfaches aber witziges Gameplay ist also gefragt.
- Sie sollten alle Ressourcen besitzen um das Level umzusetzen.
Planen Sie nicht ein voll animiertes 3D Model, aufwendigen Sound,
komplexe Modelle und Texturen, etc. wenn Sie dafür nicht die
Ressourcen haben dieses umzusetzen. Halten Sie alle integralen
Bestandteile Ihres Levels einfach!
- Erstellen Sie eine Beschreibung von Ihrem Level. Die Beschreibung soll ausführlich sein, einen Überblick geben worum es in
Ihrem Level geht und alle Details (Aufgabe, Gameplay, Interaktion,
etc.) des Levels genau beschreiben.
Beim Durchlesen der Beschreibung sollte klar werden wie und warum in Ihrem Level Gold verloren werden kann und wie die Bedienung und Interaktion funktioniert.
5. Integrieren Sie ihr Level in das Framework (Gruppenaufgabe)
- Holen Sie sich Ihre Level/Group ID: Um ihr Level im Framework
zu integrieren ohne es mit anderen Gruppen kollidieren zu lassen
brauchen Sie eine Level ID. Sie bekommen Ihre ID, wenn Sie Mitglied des
Entwicklerteams (siehe voriger Punkt) geworden sind. Sollten Sie Ihre
ID noch nicht haben senden Sie bitte eine Email an
rautek#cg.tuwien.ac.at.
Diese ID müssen Sie bei den Namen von Ressourcen (wie z.B., Bilder, Soundfiles, usw.), Layoutfiles, Values, etc. verwenden, in denen es ansonsten zu Konflikten kommen könnte (siehe "Beachten Sie Naming Conventions").
- Legen Sie im Projekt ein neues Package mit dem Namen
at.ac.tuwien.cg.armd2011.levelXX an, wobei XX für Ihre ID steht.
- Legen Sie in Ihrem Package eine Activity namens HelpActivity
an, die sich von der Activity Klasse ableitet.
- Fügen Sie ein Layoutfile für Ihre HelpActivity hinzu. Beachten Sie dabei die Naming Conventions (siehe unten)!
Integrieren Sie die Beschreibung Ihres Levels in die HelpActivity. Fügen Sie dazu nötige Layouts, TextViews, ImageViews, etc. in ihr Layoutfile hinzu.
- Deklarieren Sie Ihre HelpActivity im AndroidManifest.xml file und fuegen sie einen intent-filter
<intent-filter>
<action android:name="at.ac.tuwien.cg.armd2011.levelXX.LAUNCH_HELP" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
hinzu (wobei sie XX mit ihrer Level ID ersetzen). Dadurch kann ihre HelpActivity vom Framework gestartet werden.
- Beachten Sie die Naming Conventions: Android organisiert gewisse Files in einer vorgegebenen Ordnerstruktur.
Da in der VU alle Gruppen an einem Projekt arbeiten, müssen wir eine Naming Convention einführen.
Also wenn Sie zB. ein File icon.png für ihr Level benötigen müssen Sie es vorher umbenennen, da ansonsten jemand anders ebenfalls ein File namens icon.png verwenden könnte und ihr File dadurch überschreiben würde.
Die Lösung für dieses Problem ist das Einhalten der folgenden Naming Convention:
Sie müssen Ihre Files, Ressources, Ids, etc. mit lID_ ("kleines L" + Ihre Level/Gruppen ID + Unterstrich) prefixen
(zB. l99_icon.png für das icon.png File der Gruppe 99).
Beachten Sie, dass es nicht nötig ist Ihre Klassen, Methoden, Variablen, etc. umzubenennen
(da diese bereits durch ihr Package eindeutig sind), sondern nur Ressourcen, die in gemeinsamen Strukturen existieren.
- Machen Sie ein SVN commit damit alle anderen ihr Level sehen und die Beschreibung lesen können.
Durch das commit wird ihr Code auch für die VU Leitung sichtbar und Sie gelten als angemeldet!
Registrierung