cerasus.media
Technologien und Tools: C++, DirectX, OpenGL, XML, LUA, Xcode.
Aufwand: 30 MM
Problem
Der Auftraggeber entwickelt Casual Games für verschiedene Plattformen. Ein Framework war notwendig, das den Entwicklungsprozess maximal erleichtern könnte.Lösung
Wir haben nach Vorgaben des Auftraggebers ein Multi Platform Framework für Casual Games entwickelt. Der Entwicklungsprozess bestand aus mehreren Etappen. Die erste Version wurde in С++ für die Plattformen PC und Mac erstellt. Diese Version wurde für einige Spiele (Casual Games) verwendet. Mit der Zeit wurde das Framework ausgebaut und verbessert. In der zweiten Etappe wurde das Framework auf mobile Plattforme (iOS, Android) portiert. Eine neue Multiplattform-Version wurde mehrmals für Games-Entwicklung verwendet. Jetzt stellt das Framework ein reifes System dar, das den Zeitaufwand für Game-Entwicklung wesentlich reduziert. Die damit erstellten Produkte brauchen nicht viel Speicherplatz und können auf relativ leistungsschwachen Geräten laufen. Solche Casual Games laufen erfolgreich auf mobilen Geräten.
Das Framework unterstützt folgende Plattformen:
- Windows;
- Mac OS;
- iOS;
- Android.
Eine Übertragung von einer Plattform auf die andere erfordert minimale Anstrengungen. Ein Casual Game wird in C++ mithilfe des Frameworks entwickelt. Das Spiel ist dabei mit einem Betriebssystem nicht direkt verbunden. Deswegen, um die Plattform zu ändern, muss man das Projekt nur neu kompilieren. Man braucht keine zusätzlichen Sprachkenntnisse wie Objective C oder Java..
Das Framework verbirgt alle Interaktionen mit Input und Output verschiedener Plattformen vom Entwickler. Es verfügt über folgende spielübliche Funktionen:
- 2D graphics engine: sprites, animations, quad texture rendering, text drawing, particle effects;
- sound engine;
- image file formats reading: png, jpeg, pvr, bmp;
- windowed and full-screen display;
- mouse input;
- touch input (with support for multiple touches);
- keyboard input (on devices without hardware keyboard, on-screen keyboard is used);
- file system (very limited: reading of game resources and current game state storage);
- standard blocks needed in all games: loading screen, main menu screen, settings, credits, high scores, achievements, etc.;
- support for different languages;
- automatic bug reporting and usage statistics tracking.
- touch input (with support for multiple touches);
Für eine schnelle Standard-Screen-Erstellung (wie z.B. Hauptmenü eines Spiels) wurde ein Spezialeditor Screen Box entwickelt. In diesem Programm werden Screens nach dem Prinzip WYSIWYG erstellt.
Auf Grund des Frameworks wurden Libraries und Tools für verschiedene Spielarten erstellt, wie z.B.:
- Time Management Strategy games.
- Hidden Objects Adventure games.
- Match 3 games.
Beim Gebrauch dieser Libraries kann man ähnliche Spiele sehr schnell entwickeln. Dabei muss man nur Graphik und Scripts ändern.
Das Framework wurde für Entwicklung einer Reihe von Casual Games für cerasus.media erfolgreich verwendet.