Running Cafu¶
In order to start Cafu, simply double-click on the Cafu.exe
executable file. This file is in the Cafu-x.y
folder that was
created during installation.
Keyboard Layout¶
In order to control the player and operate the game, you can use the keys as shown in the table below. The demonstrated layout reflects both keyboard-only player control layout and the popular mouse+keyboard player control layout. The keyboard layout will be made user configurable in future releases.
Action | Key | Alternative |
---|---|---|
Move forward | (Arrow up) | W |
Move back | (Arrow down) | S |
Turn left | ← (Arrow left) | (Mouse left) |
Turn right | → (Arrow right) | (Mouse right) |
Strafe left | A |
, |
Strafe right | D |
. |
Jump | SPACE |
|
Walk | R_SHIFT |
L_SHIFT |
Run (even faster) | R_CTRL |
|
Look up | PAGE UP |
(Mouse up) |
Look down | PAGE DOWN |
(Mouse down) |
Look banked CW | HOME |
|
Look banked CCW | INSERT |
|
Look straight ahead | END |
|
Talk / Chat | T |
|
Toggle Console | F1 |
|
Screen-shot | F5 |
|
Quit program | ESC |
Keyboard layout for player control and game operations.
The Command Console¶
In order to activate or deactivate the in-game console, press the F1
key.
The large upper area of the window shows the console output of any
component or subsystem of Cafu. The “Close” button in the lower right
corner closes the console window again, bringing you back to the game.
Other options to close the console window include pressing the F1
or
ESC
key. The “Clear” button clears the contents of the console
output window.
The text input field in the lower left is used for entering console
commands. Note that the TAB
key command-completion feature is
available to facilitate text entry. The up and down arrow keys navigate
through the command history for repeating previously entered commands.
Technically, the console interpreter is actually an instance of a Lua program in interactive mode. The Cafu engine binds its console variables and functions to that program so that they can be accessed like any other native Lua value. You may want to refer to the Lua documentation to learn more about the language Lua and its possibilities. The fact that you can write entire Lua programs at the Cafu in-game console provides great customizability and flexibility for both game developers and users.
Nonetheless, the Cafu console can also be used without any prior Lua knowledge, or any programming knowledge at all. Here are some getting-started examples that demonstrate the basic usage:
Entering the command
help()
prints out a short help text with instructions on how to obtain more
help and the list of all available commands. Note that help()
is
actually a function call and therefore the brackets are mandatory.
list()
lists all available Cafu console functions, console variables, and
global Lua values. As such, the list()
function is useful to look-up
the available commands. Note that the TAB
key for command-completion
serves a similar purpose, but the list()
function provides more
information about the values and the output is formatted.
help("quit")
list("cl")
The help(“quit”)
function call provides help specific for the
quit
console variable, including a description of its purpose. This
works analogously with any other console command, too. The
list(“cl”)
call works like the normal list()
, but restricts the
output to values that begin with the string “cl”
.
screenSuffix="png"
sets the value of the console variable screenSuffix
to png
. Use
this when you want to save your screenshots in png
image file format
instead of the default jpg
. Enter help(“screenSuffix”)
for more
information about the screenSuffix
console variable.
rcon("changeLevel('filename')")
rcon
is the abbreviation for “remote console”. It means that the
rest of the line is not processed by the local client, but rather sent
to the remote server console. Therefore, this line instructs the server
to initiate a level (world) change.
Pressing the F1
key deactivates the console and brings you back to
the game.
The config.lua File¶
When Cafu.exe
starts up, it automatically processes the
config.lua
file. The config.lua
file is located in the Cafu base
directory. It is run in the context of the in-game console and can
therefore contain any statement that you could also enter interactively
as described above. Because the config.lua
file is processed early
during engine initialization, it is the ideal place to set default
values and to keep any console statements that you find yourself
entering over and over again. You can also define new functions or
convenient abbreviations, and in fact, a complete, full-featured Lua
program can be written into this file, either by the user, the game
developer, or both. Just have a look into the config.lua
file in the
Cafu base directory to see some examples.