Workshop-Tage 2011
15.09. - WS 14: Android Game Development 101
Ganztages-Workshop
[WS1] [WS2] [WS3] [WS4] [WS5] [WS6] [WS7] [WS8] [WS9] [WS10] [WS11] [WS12] [WS13] [WS14] [WS15] [WS16]
[Gesamtprogramm] [Dinner] [Anmeldung]
Referent
Benjamin Berger, Gbanga
Benjamin Berger ist Master of Science in Computer Science ETH mit Fokus Visual Computing. Aktuell arbeitet er als Software Engineer und Spiele-Entwickler bei Gbanga, welche sich auf location-based Games im Mobile-Bereich spezialisiert hat. Der letzte veröffentliche Spiele-Titel war "Pilotifant", im Juli 2011, welchen die Mobiliar Versicherung in Auftrag gegeben hat und der für Android und iPhone Platform entwickelt wurde.
Einleitung
Android bietet die ideale Grundlage um sich schnell und einfach in den Bereich Spieleentwicklung einarbeiten zu können. Mit dem offenen Android Markt steht auch gleich ein Distributionskanal zur Verfügung um die eigenen Kreationen schnell und einfach an Mann und Frau zu bringen.
In diesem Workshop werden wir uns mit den grundlegenden Prinzipien der Spieleentwicklung beschäftigen und diese in Folge mit Androids APIs umsetzen. Im Zuge des Workshops entwickeln wir eine minimales Framework zur Spieleentwicklung mit dem wir abschließend ein kleines Spiel realisieren werden. Technische Grundlage sind dabei das Android Media Framework, Skia (a.k.a. Canvas API) sowie die Touch- und Accelerometer APIs. Den Abschluss bildet eine kleine Diskussion der erhätlichen Spieleentwicklungsframeworks für Android.
Programm
Vormittag:
Android als Spieleplatform (10 min)
- Platform Charakteristika
- Genre Abriss
- Zielpublikum
Game Design 101 (20 min)
- Spielemechanik
- Hintergrundgeschichte und Stil
- Screens und Transitions
Game Programming 101 (30 min)
- Applikations und Fenster Managment
- User Input
- File I/O
- Audio
- Grafik
- Das Spielegerüst
Android für Spieleentwickler (120min)
- Das Manifest entmystifiziert
- Input Handling
- Touch
- Keyboard
- Accelerometer
- File Handling
- Assets
- SharedPreferences
Audio Programmierung
- Sound Effekte
- Musik
Grafik Programmierung
- Wakelocks
- Fullscreen
- Kontinuierliches Zeichnen
- Die Canvas API
- Formen Zeichnen
- Bitmaps
- Verschiedene Bildschirmauflösungen handhaben
Nachmittag:
Droidoid - Breakout für Android (140 min)
- Programmierübung, Implementierung des Spieles
Spieleentwicklungs Frameworks für Android & Diskussion (40 min)
Kursziel
Nach Absolvierung dieses Kurses werden sie folgende Fragen beantworten können:
- Wie sieht der Android Markt im Bezug auf Spiele aus? (Marktpenetration, Zielpublikum, usw.).
- Welche Besonderheiten gilt es zu beachten? (Fragmentierung & Hardwarediversität, Formfaktoren).
- Woraus bestehen Spiele?
- Wie geht man an die Entwicklung eines Spieles heran?
- Welche Android APIs sind zur Spieleentwicklung dienlich und wie kombiniere ich diese? (Audio, Grafik, User Input, File I/O usw.).
- Welche Besonderheiten gilt es zu im Rahmen der Spieleentwicklung für Android zu beachten? (Performancebottlenecks, Handhabung verschiedener Formfaktoren usw.).
- Welche Frameworks und Engines sind zur Spieleentwicklung für Android verfügbar?
Die theoretischen Grundlagen werden Sie im Zuge des Kurses praktisch umsetzen. Der gesamte Code ist unter the New BSD Licence frei zur kommerziellen und nicht-kommerziellen Nutzung verfügbar!
Adressaten
Der Kurs richtet sich an Anfänger und Fortgeschrittene im Bereich Androidentwicklung die einen Einblick in die Spieleentwicklung auf diesem System erhalten möchten.
Voraussetzungen
Erfahrung mit Java, Grundlegende Android und Eclipse Kenntnisse.
Eine Einführung in Java finden sie hier: http://www.mindview.net/Books/TIJ/
Eine Einführung in Android finden sie hier: http://developer.android.com/guide/
Eine Einführung in die Verwendung von Eclipse findet sich hier: http://www.vogella.de/articles/Eclipse/article.html
max. Teilnehmerzahl
20
Infrastruktur
Für den Workshop wird ein eigenes Notebook sowie ein Android Gerät benötigt.
Auswertung der Teilnehmer-Feedbacks
Basis 15 Feedbacks
| kein Lerneffekt < > viel gelernt | überhaupt nicht < > voll und ganz | nie wieder < > jederzeit | ||||||||||||
| Lerneffekt des Kurses | Entsprach der Kurs Ihren Erwartungen? | Würden Sie den Kurs wiederbesuchen? | ||||||||||||
| überhaupt nicht < > voll und ganz | überhaupt nicht < > sehr | zu viel Theorie < > zu viel Praxis | ||||||||||||
| Würden Sie den Kurs weiterempfehlen? | Nützen Ihnen die Informationen bei Ihrer Arbeit? | War das Verhältnis von Theorie und Praxis ausgewogen? | ||||||||||||
| zu kurz < > zu lang | zu hoch < > zu tief | dauernd < > überhaupt nicht | ||||||||||||
| Wie war die Vortragsdauer im Verhältnis zum Inhalt? | Wie war das Vortragsniveau Verhältnis zu Ihren im Vorkenntnissen? | Wie oft haben Sie sich gelangweilt? | ||||||||||||
| zu komplex < > zu einfach | überhaupt nicht < > voll und ganz | überhaupt nicht < > voll und ganz | ||||||||||||
| Waren die Beispiele angemessen? | Hat der Referent den Inhalt verständlich vermittelt? | Ging der Referent auf die Teilnehmer ein? | ||||||||||||
- Weniger auf die Berechnungen der Kollesionen eingehen.
- Bitte mehr Bilder+Skizzen anstatt so viel Code+Text ohne Erklärung. Kommentare im Code? Mehr zeigen und Erinnern, wo man gerade steht, welcher Block wird behandelt. Referent sehr sympathisch und fachkompetent.
- Man merkte, dass Kurs und Unterlagen nicht mit Referent übereinstimmten
- Schwierige Ausgangslage mit fremden Slides. Balance zwischen Coden und Erklären hat nicht gepasst.
