cafu/Games/DeathMatch/Code folder missing on GIT

Get help with installing and running the Cafu Engine here. This forum is also for general questions and discussion of all aspects regarding the Cafu Engine.
Post Reply
eadthem
Posts:1
Joined:2014-07-15, 04:27
cafu/Games/DeathMatch/Code folder missing on GIT

Post by eadthem » 2014-07-15, 04:42

So am just starting out evaluating Cafu as a game engine.

I was reading multiple sections that said the code for the deathMatch demo is located at.
cafu/Games/DeathMatch/Code/

I am unable to find this folder on the SVN. master branch, is there a restructure in progress or was it moved?


I also read talks about how normal the game is a DLL included by the engine. Is it possible to use the engine in a normal header + library fashion?


Thanks
ead
User avatar
Carsten
Site Admin
Posts:2170
Joined:2004-08-19, 13:46
Location:Germany
Contact:

Re: cafu/Games/DeathMatch/Code folder missing on GIT

Post by Carsten » 2014-07-16, 00:14

Hi eadthem,
welcome to the Cafu forums! :welcome:
eadthem wrote:I was reading multiple sections that said the code for the deathMatch demo is located at.
cafu/Games/DeathMatch/Code/

I am unable to find this folder on the SVN. master branch, is there a restructure in progress or was it moved?
Yes, indeed a very big one: we're in the process (and already got very far) of switching the Cafu Engine's game system from C++ class hierarchies to a component system. Please see these two threads for more details:

More about Component Systems
Progress on the Entity Component System

I'm currently focusing my efforts on finishing the last remaining details in the Map Editor regarding the entity component system (all other parts, especially regarding the game code and the engine itself, are done already), and will then also thoroughly revise all related documentation.
I also read talks about how normal the game is a DLL included by the engine. Is it possible to use the engine in a normal header + library fashion?
Game DLLs were an idea of pre-component-system times. With the new entity component system, we no longer need them, as all or most game behavior is now implemented in Lua scripts (but adding features or implementing behavior in C++ is of course still possible). This is a great technical progress, because it eliminates a ton of complicated details that were required to get game DLLs right, especially when accounting for all the necessary cross-platform considerations.

Doing the "inverse", using the Cafu Engine as a library from a main program that you write yourself is generally possible, too. In fact, you should consider the Cafu Engine not as a single library with a header, but, for proper modularity, as a set of libraries with one or sometimes several headers each.

You find these libraries in the Libs subdirectory (the reference documentation is at docs.cafu.de/c++/), and if you consider the Cafu executable (in directory Ca3DE) as an "example" application for these libraries, or as a guideline, "template" or starting basis, you can see how your own programs can use the libraries as well.

In summary, the Cafu Engine is currently undergoing massive changes, and I'm very sorry that the documentation currently does not properly reflect this. I'm working on the remaining tasks and items as quickly as possible. In the meanwhile, please let me know if you have further questions, I'm happy to help! :up:

(As a side note, I'm currently absent, and back home only near the end of July. I'm checking forum posts and reply whenever I can, but it may happen that I have to defer one issue or another until I'm back at my proper desktop PC.)
Best regards,
Carsten
Post Reply

Who is online

Users browsing this forum: No registered users and 26 guests