User Tools

Site Tools


This is an old revision of the document!


Running Ca3DE

In order to start Ca3DE, simply double-click on the Ca3DE.exe executable file. This file is in the Ca3D-Engine folder that was created during installation.

The Options Dialog

(The Options Dialog is not yet implemented on Linux. Ca3DE will skip it and apply the default options. You can select other worlds either from the command line, or via the in-game console (see section Command Console).)

The Ca3D-Engine Options Dialog After starting, the Options Dialog appears as shown in the figure. This dialog allows you to set up Ca3DE in various ways (detailed below). For your convenience, I preconfigured the dialog settings so that you can, almost always, leave them as they are and simply press the OK button. For a more sophisticated setup, please read the rest of this section. It explains the dialog details in greater depth.

Run-Mode

The upper part of the dialog asks you to choose which role Ca3DE should play in the network (i.e. your LAN or the Internet). I call this role the Ca3DE run-mode. There are three choices:

  • [Client only] Ca3DE acts as a Ca3DE-client only. This means that it will connect to a Ca3DE-server, reachable from within the accessible network: usually a LAN or the Internet.
  • [Server only] Ca3DE acts as a dedicated server only. Other players can run Ca3DE on their computers in “Client only” run-mode and connect to this server. This is the preferred method of setting up an Internet server for Ca3DE.
  • [Both Client and Server] This is the dialog's default choice, where Ca3DE starts up both a server and a client which communicate via the systems localhost. This run-mode is used both for single-player games and for typical multi-player LAN games, where one doesn't want to operate an extra computer as the dedicated server. The current release of Ca3DE actually doesn't differentiate between these two cases. Consequently, when you start a single-player game, you are actually starting a multi-player game with only one participating person. That game is hosted on your machine, and if your network is configured properly, other players can join you in the game. In this mode, some of the other dialog fields are overridden and therefore grayed-out.

Client Options

This part lets you configure Ca3DE in its role as a Ca3DE-client. Depending on your choice of run-mode, not all fields will be available here.

  • [Player name] Your player name. Other players see this name when you talk to them.
  • [Configure] This button does not work yet. Later, one will be able to configure, load and save player profiles here.
  • [Model name] The name of your model. This defines what you look like for others in multi-player games.
  • [Client port number] The local network port number that this client will use for network communication.
  • [Remote hostname or IP] The name or the IP of the server that you wish to connect to.
  • [Remote port number] The port number at which the server is listening on the remote host.
  • [Get Server Info] Retrieves information from the server: such as current world, number of connected players and so on. Not yet implemented.
  • [Ping Server] Pings the server. Mostly for development purposes, but also interesting as long as there are no other (or automatic) ping indicators.
  • [Send NOP] Sends a “NOP” packet to the server (essentially instructing it to do nothing). For development purposes.
  • [Other options] Currently unused.

Server Options

This part lets you configure Ca3DE in its role as a Ca3DE-server. Depending on your choice of run-mode, not all fields will be available here.

  • [Server port number] The local network port number at which the server is reachable when it is running.
  • [World name] As several interesting worlds are included with each demo release, this is usually the most important field when trying out Ca3DE: The combo-box lists all included worlds and lets you easily choose which one you wish to enter.
  • [Other options] Currently unused.

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 the Ca3D-Engine. 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.

Technically, the console interpreter is actually an instance of a Lua program in interactive mode. The Ca3D-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 Ca3DE in-game console provides great customizability and flexibility for both game developers and users.

Nonetheless, the Ca3DE 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 Ca3DE 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.

    rc("passwd ca3d")
    rc("cl <filename>")

rc 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. cl is the short form for “change level”. Therefore, the first line introduces you as the super-user at the server. The second line instructs it 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 the Ca3D-Engine starts up, it automatically processes the config.lua file. The config.lua file is located in the Ca3DE 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 game 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 even define new functions or convenient abbreviations, just have a look into the config.lua file to see some examples.

usermanual/running.1193483093.txt.gz · Last modified: 2013-01-07 12:07 (external edit)