Technology
Our technology multiplatform framework
Raylight’s BlueRoses technology is the multiplatform framework on which our core team develops games. This technology was born originally with the goal of making 3D games on hardware platform with very limited technical capabilities and absolutely no 3D support such as Nintendo’s Game Boy Advance.This means its first and basic feature has a very low resources requirement, both in memory and in processing time. The important side effect of this feature is the intrinsic capability to easily push to the limit the hardware on which we are developing, because when hardware resources requirement for engine technology are low, there’s more processing time to run more things! Our experience with Game Boy Advance’s resource limitations, gives to the sentence “go over the hardware limits” the new meaning of approaching projects from even unusual points of view, and find new way to overcome technical problems. Our technology is the results of this approach.
It’s easy to understand that BlueRoses fits very well on (but is not limited to) handhelds hardware. Indeed actually our technology has already been ported on Game Boy Advance, Nintendo DS, Sony PSP, Nintendo Wii, Sony PS4, Sony PSVita, Microsoft XBox One, Nintendo Switch, PC. It also support mobile platform: Android, iOS and Windows Mobile.
BlueRoses technology features can be explained by describing its core engines:
The 3D Engine
BlueRoses 3D engine code layer is conceived with “modularity” and “versatility” words in mind. Fit our 3D engine into a new hardware platform, an operation notoriously not easy to achieve, means simply to adapt a small set of basic screen drawing internal functions, and hardware specific features can be implemented with the add of low level special functions. So when multiplatform development is required, the upper level code is basically the same, but we have enough degree of freedom to take advantage of the hardware specific features, whenever it needs. The concrete result of this approach is that our core development team, can achieve fast development without lacks on product quality. We use our own 3D objects format which is built on target hardware specifications to allow our graphic department to benefit of all graphic hardware features available, and ensure the best visual result since initial modelling phases. Graphic artists need only to export data into the target platform format, directly from 3D Studio Max, and the 3D objects they create, as result, are ready to be used. This feature is further improved by the capability to export full motion video data, so that real time cut scene implementation is a very easy task.
The Physics Engine
Following the philosophy described above, BlueRoses has a small but efficient implementation of a racing physics engine which even runs on Game Boy Advance. This tremendous feature is a gameplay foundation stone on which we can add and tune the realism level needed in nowadays game products, and racing game are especially affected by this need. But criteria behind our physics engine code is the very same of the 3D engine code layer: modularity and versatility. The engine is based on a set of physics behaviors actually shaped on racing game needs, such as engine’s torque, gears and hp, wheels rotation velocity, brakes and so on, but also include a more generic set of collision functions with a much larger range of use. In less technical words, our physics engine is not only capable of racing game simulations, but its use can be easily extended to any game gender or specific features the gameplay requires. We can tune physics to keep the realism level high enough, but the gameplay and fun factor are always the final goals.
The Event Engine
The real core of any game is based on what the player is able to do in the “virtual world”, and on those things that makes the virtual world “real enough” for players. Any bonus to catch, platform to pass through, enemy to fight, door to open, vehicle to race, trap to avoid, indeed any object on the screen related to an action to achieve, is moved by this simple but efficient event engine, which permits almost any kind of game to be developed.
Scripting Engine
We can develop games interely inside XProton Editor without the need to code in c/c++ thanks the full support of all low level modules through scripting system. We use LUA as scripting languange which lightweight and solid. We have full debugging support and AI changes can be verified on target platforms in matters of minutes.
Xproton V2.0 Blueroses Editor
Following the data driven development criteria, this engine “simply” process level data and nothing else, but it concretely gives life to the running game, making the virtual world “real enough” to be played. Of course this engine is useless without data coming from XProton, our own project editor. Our editing tool is the ambient where graphics, code, data and gameplay merge themselves and where the game is shaped. XProton editor is a kind of safe ambient where it’s possible to create and make real time tests on any part of the game we are working on.Enhancing or tuning any level is an easy job in the production chain, and the automatic export functions simplify in a mouse click the hard and annoying task of collecting all data for a specific hardware platform.