Nachdem meine neueste App nun schon seit zwei Wochen im App Store ist, ist es höchste Zeit, etwas darüber zu schreiben.
Rina - die kleine Ballerina ist ein interaktives Kinderbuch für das iPad für Kinder ab 3 Jahre. Hier ein Video von Rina in Action:
Rina ist als Kooperation von Kerstin Rajnar_frau mag rosa pink (Konzept, Text, Illustration), @ogi_it (Produktion, Entwicklung) und mir (Entwicklung) entstanden.
Die App bietet folgende Funktionen:
- Vorlesefunktion mit Highlighting des aktuellen Wortes.
- Wimmelbuchfunktion: Die Suchbilder am rechten Rand müssen vom Kind im Bild gefunden werden. Als Belohnung gibt es jeweils eine kleine Animation.
- Physikalische Simulation: Gegenstände fallen unter Einwirkung der Schwerkraft zu Boden und können herumgewirbelt werden, die Gliedmaßen der Puppe Rina können bewegt werden. Kippen des iPads ändert entsprechend die Richtung der Schwerkraft.
Um die physikalische Simulation realisieren zu können, mussten wir eine 2D-Grafikengine in Kombination mit einer Physics Engine einsetzen, wie sie auch für die Spieleentwicklung für iPhone und iPad verwendet werden.
Für die Positionierung der Grafiken und Animationen auf den einzelnen Seiten, die Zuordnung der physikalischen Eigenschaften und der Gelenkverbindungen für die Puppe Rina benötigten wir einen geeigneten grafischen Editor.
Und dann war noch das Textrendering inklusive Highlighting der einzelnen Wörter zu realisieren.
Letztendlich haben wir uns für den folgenden “Technologiestack” entschieden:
- Grafikengine: Cocos2d
- Physics Engine: Box2d
- Level-Editor: LevelHelper
- Text-Rendering: Core Text
Auf dieser Basis ist nun eine wiederverwendbare Page Engine entstanden, mit der wir in Zukunft weitere Kinderbuchprojekte realisieren können.
Die Arbeit mit Cocos2d und Box2d wurde uns übrigens durch die exzellente Distribution Kobold2D von Steffen Itterheim wesentlich erleichtert. Die für uns wesentlichen Vorteile von Kobold2D waren folgende:
- Alles funktioniert “out-of-the-box”, man muss sich nicht mehr selbst die passenden Versionen der verschiedenen Bibliotheken zusammensuchen.
- Fertige Vorlagen für verschiedene Projekttypen.
- Automatic Reference Counting: Ein Buildsystem, bei dem Cocos2d, Box2d und alle sonstigen Bibliotheken als Static Libraries gebaut werden, ermöglicht die Verwendung von ARC im eigentlichen Applikationscode und vereinfacht somit das Speichermanagement dramatisch.
- Kobold2D inkludiert verschiedenste praktische Erweiterungen für Cocos2d, z.B. den Videoplayer aus den Cocos2d-Extensions, der zum Abspielen des Schlussvideos in der App verwendet wird.
An dieser Stelle ein großes Dankeschön an Steffen! :-)