How components resolve their dependencies

In this article we will learn how components resolve their dependencies with other components and how the custom attribute [RequiredComponent] works.

Entity and Components

As you know, an Entity represents a logic element of our game and it is an empty box where you can put component insides which define what the entity can do.

The logic hierarchy is handle by the EntityManager which stores the struct of all the entities in our scene. For example:

Continue reading How components resolve their dependencies

WaveEngine is now totally free on iOS and Android

We started developing WaveEngine more than 4 years ago with the idea to make live easier for game developers in their mission to create games for the current mobile ecosystem (fragmented into many devices, languages, APIs and operating systems) simplifying cross-platform development difficulties.

We love C# and we focus all our efforts in building an easy and fast Framework to create native games and apps on mobile devices using the latest .NET version. To achieve this we used the .NET Framework on Windows Phone and Mono through Xamarin on iOS and Android. Currently WaveEngine supports more than 8 platforms and developers can use our Wave Visual Editor and Visual Studio, Xamarin Studio or Monodevelop on Windows, Linux or MacOS to create games for all supported plataforms.

Continue reading WaveEngine is now totally free on iOS and Android

Tips to create your custom image-effect in WaveEngine

Image Effects are very often used to enhance the final look of our games, in WaveEngine we have worked to create an Image Effect extension with the common image effects used in games and optimized for mobile devices. So the default values used for each of these effects are tested in iOS, Android and Windows Phone devices, but you can change these to get more quality results if you target other platforms like Windows, MacOS or Linux.

Continue reading Tips to create your custom image-effect in WaveEngine

New Deferred Rendering System on WaveEngine 2.0

For WaveEngine 2.0 we decided to change our render to allow users to have more control on lighting. The big challenge here was how to offer a better lighting system and still support old mobile devices with OpenGL 2.0.

The render system in WaveEngine 1.4.2 is known in computer graphics as Forward Rendering. It is fast, simple but limited since you cannot use for example more than 4 to 8 lights per object (there are some techniques that try to simulate more lights but do not give good quality), and you need to write a large amount of shaders to support some combinations efficiently.

Continue reading New Deferred Rendering System on WaveEngine 2.0