DEFR

Swiss Open Systems User Group

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.

Letzte Änderung:  23.08.2013

/ch/open is Member of ICT Switzerland
Swiss Open Systems User Group • /ch/open • Postfach 2322 • 8033 Zürich • http://www.ch-open.ch