Gameplay related console commands
    map M     
loads a map. if connected to a server, forces a map change for all participants, if you have the rights to do so.
    name yourname     
used for multiplayer
    say text     
outputs text to all players
    saycommand P     
this puts a prompt on screen where you can type stuff into, which will capture all keystrokes until you press return (or esc to cancel). If what you typed started with a "/", the rest of it will be executed as a command, otherwise its something you "say" to all players. default key = t. If P is prefix to insert to the buffer, (default key ` inserts a /).
    connect serverip     
connects to a server, e.g. "connect fov120.com". There is no serverbrowser nor paste yet, so you are adviced to paste ips into a suitable bind into your autoexec.cfg for the moment.
    disconnect     
leaves server
    team teamname     
determines who are your teammates in any team game mode (truncated to 4 characters).
    showscores     
+showscores turns display of scores (name/frags/network) on and -showscores turns it off. Default key = tab
    conskip N     
allows you to browse through the console history, by offsetting the console output by N. Default key keypad - scrolls into the history (conskip 1) and keypad + resets the history (conskip -1000).
    weapon a b c     
Tries to select weapons a, b & c, in that order, if they have ammo (0 = fist, 1 = sg, 2 = cg, 3 = rl, 4 = rifle). If none of the 3 indicated have any ammo, it will try the remaining weapons for one with ammo (in order 3/2/1/4/0) (the fist needs no ammo). You can use the weapon command with 0 to 3 arguments. examples:

    weapon 2 1 0     // close up selection
    weapon 4 3 2     // far away selection
    weapon 3 2 1     // medium distance selection
    weapon 0         // humiliate selection :)
    weapon           // just switch to anything with ammo
    
In any selection, it will skip whichever weapon you have currently selected, so executing a weapon command repeatedly toggles between the two best weapons with ammo within a given selection. default keys 0 to 4 select the corresponding weapons, with sensible default alternatives, middle mouse button is a simple weapon switch.
    gamespeed P     
sets the gamespeed in percent, i.e. 50 is playing in slowmotion at half the speed. does not work in multiplayer. for entertainment purposes only :)
    mode N     
set gameplay mode to N for the next game played (next map load). N can be:
  • 0: "lobby" / "prewar" mode. After each game players return to this mode automatically, then use it to set the mode for the next game, organize teams etc. To start a game once everyone is ready, simply load up the new map, and the game will start immediately.
  • 1: coop edit mode. This simply enables map editing in multiplayer, otherwise identical to mode 0.
  • 2: a standard non teamplay game, meant for FFA and duel games.
  • 3: a standard teamplay game. will work with any number of teams with any number of players: you are allied with all players whose "team" setting is the same as yours. In general, all odd numbered modes (3/5/7/9) are the teamplay variant of the even mode preceding it
  • 4/5: instagib mode. No items will spawn, but everyone will have 100 rifle rounds and 1 health.
  • 6/7: efficiency mode. No items will spawn, but everyone will get all weapons with full ammo, and a yellow armour + boost on respawn.
  • 8/9: arena mode. as efficiency mode, but now when you die you stay dead until one player remains. [note: this mode doesn't fully work yet]
  • -1: single player, see single player mode section below.
Frag counting is the same for all modes: 1 for a frag, -1 for a suicide or a teamkill (no scoring for mode 0 and 1). Timelimit for all games is 10 minutes, or 15 minutes for teamplay, and no timelimit for modes 0 and 1.

    skill N     
Sets the skill level (1-10) for single player modes. Default = 3. Affects number of monsters in DMSP mode, and general monster AI in all SP modes.
    sendmap     
    getmap     
These two commands allow you to send other players maps they may not have while in multiplayer mode, and easily keep maps in sync while doing coop edit. "sendmap" reloads the current map you are on, then uploads it to the server and sends every other player a message about it. Other players can then simply type "getmap" to receive the current map, which is written to their local disk then reloaded. A second variant "sendmap name" is available which is particularly useful for coop editing, which first does a "savemap name" before performing the actual "sendmap". Note that "getmap" operates on the last map send by some other player, whatever it is.
    servermenu     
displays the server menu. The server menu contains the last N servers you connected to, sorted by most recently used. Just select one to connect again. If you connect to a server by typing "connect" manually, the server gets added here automatically. You can also add servers to "servers.cfg".

 

Items / Gameplay
Official game storyline: "You kill stuff. The End."

There are initially 5 weapons:

num name damage reload dam/sec technically similar to
           
0 fist 50 0.25sec 200 quake3 gauntlet
1 shotgun 200 1.4sec 143 doom2 SSG (wide angle)
2 chaingun 30 0.1sec 300 quake LG
3 rocket launcher 120 0.8sec 150 quake RL (splash damage)
4 rifle 100 1.5sec 66 quake2 RG

The player has available all weapons when he spawns, but no ammo for them (except 5 shells), 100 health, and 50 weak armour (20% absorbtion).

Items that can be picked up:

  • 4 types of ammo (10 shells, 5 rockets, 20 bullets, 5 rifle rounds) (to a max of 50/25/100/25, respawn 8/6/4 seconds)
  • health (adds 25 to a max of 100, respawn 20/15/10 seconds)
  • health boost (adds 50 to a max of 200, respawn 60 seconds)
  • light armour (100, absorbs 40% of damage, respawn 20 seconds)
  • heavy armour (150, absorbs 60% of damage, respawn 20 seconds)
  • quad powerup (4x damage for 20 seconds, respawn 60 seconds)
Health and ammo respawn depends on number of players in the game, the numbers given are for 1-2, 3-4, and 5+ player games respectively.

 

Single player modes
There are two single player modes:
  • a classical progress-based monsters-wake-up-when-they-see-you mode which is very similar to Doom & Quake, and is played on maps specifically designed for SP. Items don't respawn.
  • an arena style SP mode (akin to my "DMSP" mod for quake) which you play on DM maps: 10 seconds after the game starts monsters start spawning in (currently about 1 per second), which will immediately be angry at you. The map ends when they all have spawned and they are all killed (either by you or by their buddies ;). The number of monsters depends on the "skill" variable. Items respawn as in DM.
The mode numbers for these are -2 and -1 respectively, but can most conveniently be set over the singleplayer menu. In both cases, the map ends when all monsters are killed. Coop play is not supported yet.

There are currently 5 monsters, with the following properties (sorted roughly in order of "threat" they pose:

gun used model damage stamina speed freq lag rate
           
fireball ogro 5 100 14 4 0 10
chaingun suit 7 70 16 2 70 8
shotgun evil ernie 50 50 8 1 100 20
rifle yellow robot 25 120 12 1 80 30
rocket launcher ratamahatta 30 250 6 1 0 15

The models are just temp until I find some real monster models.

The damage given is for a single shot, where damage is simply a quarter of the equivalent player gun. For the shotgun this is if he hits you at point blank range, but is a lot less at distance. RL guy of course deals out splash damage too.

Stamina is the amount of damage taken before dying, speed is their movement speed in cubes/sec (player = 24), and freq is their relative frequency of spawning in DMSP mode.

"lag" is how long it takes them to press fire after they have decided they will shoot in a particular direction, which means you can out-strafe their bullets (but still get hit when standing still or moving towards them). The number is in msec on skill 0, and half as big on skill 10.

"rate" indicates how often they will attempt to shoot you while they have you in their sights. It is not an absolute fire rate measure, as fire rate is lower with distance. Again, it is also dependant on skill (skill 10 fires twice as often as skill 0).

As you can summise from the above, the keys to surviving in cube SP are: keep moving, preferably perpendicular to the monster line of sight, frequently move behind walls and back (this makes monsters search for you again, which delays them), and use monster infighting to your advantage.

 

Effects of network code on gameplay
You will notice that Cube plays better on a high ping connection than most games out there. The reason for this is that just about everything in cube is done clientside, not just movement (as is common in games today) but also aim (the fat client / thin server model).

The benefits of this are that the effects of lag are minimised, and someone on a 200 ping can compete on an almost even playing field with someone with a 20 ping, the disadvantages are mainly in that its harder to combat cheating. Further advantages for server admins are that cube servers use virtually no cpu, and very little bandwidth for a lot of clients (you can host a 4 player game on a modem!).

It is impossible to completely hide lag however, and these are some of the effects that can still show lag if you or someone you play with has a high ping / bad connection:

  • if the connection has packetloss. There is no direct indicator of packetloss, instead the "packet jump" figure is provided on the hud (use "showscores"). Packet jump says as much as the amount of milliseconds that pass between updates from the indicated player. If it is extremely variable, or is high(>80) then your gameplay may be hampered (players jumping from place to place). Ideally it is a steady 40 or lower. A consistent packet jump is more vital to gameplay than ping.

    Cube uses player prediction based on extrapolation using the physics model, in an attempt to be both as up to date as possible w.r.t. to the game state, and as realistic w.r.t. to physics. However, under packet loss this model breaks down and player movement becomes choppy.

  • if ping is high (either yours or someone you play with), some actions may appear lagged. The effect of ping is generally that the players in a game are effectively playing more and more seperate games, as someone with a high ping is "playing in the past". The local effects of this are masked out by client side movement & aim, but may become noticable across players:

    • you may get hit by someone even though you are already out of his view. This is because he is aiming at your movements of a while ago, and his hits take a while to arrive back at you. You may therefore be hit by gunfire up to his lag + your lag milliseconds after you leave his FOV.

    • item pickup: you may be denied an item if you try to pick it up at virtually the same time as someone else (server decides who was "first"). Item pickup is server side, only when you hear the sound effect have you actually picked up the item.

    • players dying appears lagged. This will improve.

  • if a player is severely lagged (or you are) he temporarily becomes a "ghost" that cannot be hit (if >1sec packet jump).
Network problems are currently worse than need be because cube uses TCP connections, but this should improve when it is moved to use UDP.