OpaliumOur powerful multi-platform 2D&3D engine

  • To date, the Opalium technology has enabled the publication of 12 titles and 24 versions on all supported platforms. Regardless of the type of project to be developed, Opalium is the solution to consider as a complete, reliable, and very affordable technology for your productions.

    Didier Poulain, Technical Director & Opalium Designer

Opalium is a multi-platform 2D&3D game engine, the development of which started in 2004, enabling it to become a robust, efficient and productive tool. Its architecture was designed to work at a high level of abstraction, enabling the development time of fun applications to be significantly shorter, without sacrificing the performance of a low-level engine.

A large part of the engine is independent of the machine on which the application runs. This allows both a fast porting of the engine on new platforms and easy updates from the engine. The core of the engine was developed in C++, with a small part in assembler. Opalium is currently available for the following platforms:

  • Apple iOS (iPhone 5 & iPad 3 included)
  • Google Android
  • Microsoft Windows
  • Nintendo Wii
  • HP WebOS
  • Samsung Bada
  • Windows Phone 8 (in the process of porting)
  • BlackBerry 10 (in the process of porting)

Opalium is made up of various elements, the two main ones being the editor and the player. Both these parts are very similar and share at least 90% of the code. The editor, as its name indicates, adds advanced editing features in real time, enabling all the game items that make up an application to be quickly built and tested.

The player simply reads and plays all the construction files generated by the editor and is available on all the supported platforms, while the editor only works on Windows.

The game elements are called units and represent all of the constituent entities that may be found in an application: a sound, a 2D element of a menu, a 3D mesh, a video, etc. Each unit has a list of attributes that defines it, and that can be manipulated in real time in the editor or through programming (see below regarding scripting).


For the script programming aspect, Opalium incorporates a Lua interpreter. This programming language, created in 1993, is currently widely used in video games, particularly by the largest studios around the world.

Its qualities include its simple syntax, its performance, in terms of speed of execution and memory usage, and its capacity to integrate easily with another application. Additionally, it allows for great productivity in development, compared with other programming languages.

Lua is highly integrated with Opalium; all unit management, as well as many game parameters are managed through the use of this language. In addition, Opalium adds extensions to Lua’s syntax in order to better integrate it with Opalium’s architecture and to further improve its productivity.

The editor contains many features for managing Lua within Opalium. In addition to an integrated Lua editor, the engine integrates a Lua debugger, as well as the documentation of all the engine’s functions that are exposed by Lua.

In addition to its editor and the standard characteristics of a 2D/3D game engine, Opalium is at the heart of a whole ecosystem, particularly an asset builder that enables all resources (3D mesh, textures, sounds, texts, etc.) to be automatically converted. This enables the resources to be optimized and adapted to the constraints of each platform.

The editor also uses the asset builder internally so the user can use the raw resources that are both easy to manipulate and work with. These resources are converted on the fly by the editor in a transparent manner. For example, most image formats can be used by the editor, but internally, only JPEG and PNG formats are supported.

The engine is continually evolving. Its modular architecture enables new features to be added without impacting the existing code. In this respect, the development of Opalium follows an established roadmap, and, among others, advanced possibilities will be added to its debugger (remote debugging on non-PC platforms, a better overview of variables, etc.) and to its editor.


Stay connected with us