Page 1 of 1

Absurdly primitive question (and maybe documentation suggestion)

Posted: 2016-07-19, 03:46
by Carl

I set up Cafu from Git relatively painlessly on Debian Linux. I am able to load the executables.

I'm a total beginner with Cafu (and Lua, for that matter), so prepare for a stupid question: what file represents a game? The manual starts with "how to build maps" and not "how to create a game" or "how to run a game."

I'd like to try DeathMatch without downloading a three-year-old version of Cafu just for that purpose. The Git source put a DeathMatch directory on my system, but I see no way to launch the actual game. Loading Cafu works, but the GUI has a disabled Load Game button. I can select New Game and choose a map, but then Go does ... nothing at all?

How can I actually launch DeathMatch? Do I have to compile it myself, which would require ... something? I say that because the User Manual here ( doesn't have a section called "compile a game" or "package a game" or "launch a game" anywhere? A search via Google (and its various competitors) also fails to find that information. Maybe a simple document outlining the whole "from concept to packaging the game and letting people play" tutorial would be a good idea?



Re: Absurdly primitive question (and maybe documentation suggestion)

Posted: 2016-07-19, 10:35
by Carsten
Hi Carl,
welcome to the Cafu forums! :welcome:

A game is not represented by a single file, but an entire directory in Games/.

We used to have custom C++ code for each game, but thanks to the entity component system, this is no longer necessary -- the Lua scripting code provides all the glue that is necessary to make a game.

A game is run by running the Cafu executable, selecting a specific game via command line parameter. Run Cafu --help for details, also see this forum post.

The problems that you're experiencing are most likely related to the fact that the Git repository comes with the maps in "source code form" as saved by CaWE in Games/DeathMatch/Maps/*.cmap. The engine however, closely to your supposition, needs "compiled" maps. The first compiler, CaBSP, reads a map from Games/DeathMatch/Maps/ and saves the result at Games/DeathMatch/Worlds/.

You can use the map editor for compiling maps, see Compiling Maps for Cafu for details.

If you have Python installed, you can try running e.g.

Code: Select all

python Games\DeathMatch\ AEonsCanyonTower
for achieving the same result from the command line.

If this works, you should be able to run Cafu and select the previously compiled map (please let me know if it doesn't). :up:

And you're right of course, the docs should be improved...

Re: Absurdly primitive question (and maybe documentation suggestion)

Posted: 2016-07-24, 01:52
by Carl
As mentioned in the other thread, thank you for going out of your way to be helpful.

Re: Absurdly primitive question (and maybe documentation suggestion)

Posted: 2016-07-24, 13:58
by Carl
Amused myself: I tried copy-pasting your code and it failed with the message,

Code: Select all

can't open file ''
Of course not ... you gave the Windows command line, where directories are separated by backslashes. I am of course (as mentioned above) using Linux, where one uses forward slashes.

Not a complaint, to be totally clear. It just amused me.