Progress and plans for 2015

Dear friends,

as every time around the New Year, I would like to briefly summarize the current developments and plans regarding the Cafu Engine.

Entity Component System

Generally, the development of the Cafu Engine progresses steadily and continuously, and the Entity Component System is still at the center of the attention.

In 2014, we have been able to complete the transition of the DeathMatch example game from the old, class-hierarchy based implementation to the new Entity Component System.
This also involved many changes to the Cafu Engine core. In its entirety, this was a complicated task, because many "specialties" that were "somehow" hacked into the code before had to be implemented in a much different (and cleaner) manner in the new code. Another large part of the changes involved the Map Editor, which has undergone a large number of high-quality improvements in order to reflect the new features brought by the Entity Component System.

In 2015, with the bulk of the efforts already achieved, our focus will be on the finishing and polishing of the related details. For example, practical work with the Map Editor will expose areas where the new functionality is not yet properly accessible, some of the above mentioned specialties are in fact still undone or need another revision, and most importantly, the new features of the Component System must not only be implemented, but also be employed and presented. Specifically, one of my very next tasks will be to revise and fix the "moving entities" code, so that the player can actually ride on moving platforms, in lifts, etc.

In short, there is still quite some work to accomplish, but all details are looking very very well, and I'm very much looking forward to it. :up:

You can see additional high-level considerations about previous related work in our News. If you would like to follow the Cafu development progress more closely, you can also register yourself to watch the Cafu Git Repository at Bitbucket, or subscribe to the related activity feed.


In the course of the last year, we have been asked several times about the Cafu Engine licensing model. Currently, Cafu is dually licensed: both as free software under the GNU General Public License (GPLv3) and optionally under a custom, commercial license.

At this time, we're considering to release future versions of the Cafu Engine under an even more liberal license, e.g. under the MIT or BSD license. However, no decision has been made yet and will only be done in the course of 2015. [UPDATE: Put under the MIT license in 2016.]

We will also take the opportunity to clarify and simplify the process of contributing to the Cafu Engine, which should be as easy and straightforward as possible, in the hope to attract more developers.


Also planned is a redesign of the primary website. The current website has served us well for many years, but as new design aesthetics and web technologies have changed the way how websites are built, I have been planning to modernize it for a long time, e.g. to make it "responsive" so that it works well on mobile devices, and to update and clean-up its contents.

This endeavor is complicated by the fact that we use several sub-systems that are actually independent of each other (main www website, support forums, documentation wiki, issue tracker, reference documentation), but should still present themselves in a common, consistent theme as much as possible. However, as always the Cafu Engine programming has higher priority than updates to the website, so please don't expect results anytime soon! ;-)

Game Assets

Finally, another change that I would like to see happen is a modernization of our DeathMatch example game assets, especially more recent and more detailed game maps, models, textures, etc. I already have quite concrete ideas and plans for how this can be achieved, but it is really still to early to say more about it at this time. ;-)


I wish you all a lot of fun with the Cafu Engine, and above all that 2015 may be a happy and peaceful year for everyone!