Multi-platform Framework for Casual Games DevelopmentMulti Platform Framework for Casual Games
 

cerasus.media

Customer: alfa Media Partner GmbH
Technologies: C++, DirectX, OpenGL, XML, LUA, Xcode.
Workload: 30 MM

Problem

Customer develops casual games for different platforms. It was necessary to design a framework that simplifies process of game development.

Solution

According to specification we created a multi-platform framework for casual games development. The framework was developed in several phases. The first version based on C++ was released for PC and Mac platforms. We used that version to develop several games. That process optimized and improved the framework. Further we ported the framework for mobile platforms (iOS, Android). Now we use updated framework for development of desktop and mobile games.

Currently the framework appears to be a mature system that sufficiently reduces game development time. Resulting products have low memory consumption and can function on rather low-performance devices. Our games successfully run on mobile devices.

The framework supports the following platforms:

  • Windows;
  • Mac OS;
  • iOS;
  • Android.

Process of porting a game to a new supported platform needs minimal efforts. Game is developed in C++ language using capabilities of the framework. Game logics do not directly depend on OS, so usually it’s necessary just to re-compile a project to create a game for different platforms. Also there is no need to know other programming languages (Objective C, Java, etc.).

The framework encapsulates I/O operations on different platforms and provides the most common functionality needed in game development:

  • 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);

For rapid development of standard screens (e.g. game main menu) we designed a special editor ScreenBox. The tool creates game screens on WYSIWYG principle.

The framework was used in development of libraries and instruments for different genres of games:

  1. Time Management Strategy games.
  2. Hidden Objects Adventure games.
  3. Match 3 games.

These libraries simplify delivery of similar games. It’s necessary to change graphics and plot only.

The framework is being successfully used in development of games for cerasus.media.

To top