XBattle documentation

doc français

Game presentation


The basic game is a 2 players (or more) confrontation on a map. Each player (here, black or magenta) controls its own cells. The cells are filled with a kind of colored liquid. You can set flow directions; when colors meet in a cell, a fight starts.

As a starter, here's a snapshot of a running game :

Ecran général

Just launch the server, a bit of setting to add players and go ! When all clients (players) are connected, the game starts.

With keyboard or mouse, you can set a flow direction of a cell :

set direction

The colored "liquid" flows in the given direction and fills the next cell. It is a plumbing game :-)

You can set up to 4 directions to the cell flow, and fill its neighbor cells :

cell with multiple

When different colors flow into the same cell, a fight occurs :

cell fight

The fight is displayed as a two-color "X".
Struggle may last more or less, but ownership is taken by the player who supplies more liquid than the other. Here, magenta player is not sure to get the cell :-)

In case of mutual attack, flow directions are displayed with dashed lines :

mutual attack

Game ends when a player eliminates all other colors. There can be only one...

Game map

Cell can be of different types.

Flat land (green) :
flat cell

Hill (brown) :
hill cell

Difference, of course, is height : it is more difficult to climb the hill than flow from hill to flat land.

Sea (more or less blue, ie. deep, but in any case, you cannot occupy it) :

sea cell

A deeper sea cell looks like this :
deep sea cell
Well, what the hell if I can't occupy it ?
Hold on ! You can fill a sea cell and turn it to flat land; a deeper cell will be longer to fill because it's a step by step process.

A useful cell is the "base" cell (colored liquid generator) :

base cell

These bases ("pumps") create colored liquid and help you to occupy the game map, or supply a fighting cell with a important flow.

At game start, some bases are owned by players, some are empty; they belong to no one, and just wait for you :

empty base cell

To grab a base, just occupy it as you would do with a plain cell. Then it generates liquid for you :-)
Base diameter tells about the generation rate. The bigger, the higher.


Various actions can be done with keyboard or mouse.

Keyboard directions

Just place the mouse cursor anywhere inside a cell and hit a key.

numpad directions
        "5" key cancels all exiting directions in a cell.


        "J" key cancels directions, just as "5" does.

In any of those cases, <Enter> key repeats last given command.

Mouse directions

Setting flow directions with mouse requires accuracy : direction depends on the location of mouse cursor inside cell when you click :

mouse directions
click zones determine different directions

Click in the circular zone (in the middle) to cancel directions.

Mouse buttons

Middle mouse button (or mousewheel) cancels all directions before setting new ones.
For example, clicking in the south-west zone of the cell set "left" and "down" directions, and removes "up".
mouse directions
          (middle button)

Left mouse button inverts direction : it is set if not existing, and removed otherwise. Other directions remain unchanged.
Applied to previous example :
mouse directions
          (left button)

Here, directions "left" and "down" are added and "up" direction is unchanged.

Something useful : right mouse button (anywhere inside a cell, no need to point) repeats last command. In case of emergency...


You give commands with keyboard; just place the mouse cursor anywhere inside a cell to command to and hit a key.
All build/cost operations have a cost !. For example, filling sea will empty the cell from which you send the command.

build cost
fill the sea will cost you energy

Cell will then refill normally (to start again, for example :-) ).
Part of the liquid in a cell can be moved to a remote (non adjacent) cell.
Move mouse to the cell to take the liquid from; distance and direction of teleportation are determined referring to the center of this source cell.
A small parachute will appear in the destination cell and a small amount of liquid moved to it. If a enemy is present in this cell, a battle begins.

A remote cell can be attacked.
The idea is the same as for teleportation : move mouse to the attacking cell; distance and direction are determined referring to the center of this cell. A small spot will show the hit cell, a small amount of liquid being taken from the source cell to attack.
This action has no effect on a empty or friend remote cell.

Various window snapshots

Main menu

Game window

game window

Client window

client window

Server window

server window

Game parameters : map

map configuration

Game parameters : game play

Server configuration window

server configuration

How networking works

To run the game, you must launch a server and at least one client.
A client represents one player; server animates the game and synchronizes clients.

Before running the game, you must enter server IP or hostname (of course, the same across all clients).

Basic networking is to launch server and clients each on different computers; they all communicate, often through internet, or a local network (router/modem if you play at home).


To ease things, the computer hosting the server can also run on of the clients.

networking (common

You can host all players on the same machine (as well as the server).

solo networking


Map parameters

Board        Screenshot

Set map size (width and height in terms of cells).

Map initialisation        Screenshot

These parameters control the map creation.

Terrain modification        Screenshot

All these settings are about ground modification and base construction.

Gameplay parameters

Moving        Screenshot

Invisibility        Screenshot

Set the map discovery mode.

Resupply        Screenshot

Inhibit key repetition          Screenshot

Interdit la répétition d'un ordre quand on garde une touche appuyée.
Evite l'effet de "spam" et de "peinture" de la carte et rend l'envoi d'ordres plus laborieux.

Surrounding attack          Screenshot

Permet de lancer une attaque sur une cellule encerclée.
Après avoir occupé les cellules entourant une cellule adverse, la touche a permet de lancer simultanément une attaque sur cette cellule depuis les cellules voisines.

Reset to defaults           Screenshot

Emergency button if you played too much with settings :-)
Returns all settings to built-in values.

Profiles        Screenshot

A profile is a set of settings values with a name. You can switch to, copy and delete profiles.
There are preset profiles; you cannot modify or delete them, but copying is ok. You can then do anything with the copy.

Server settings        Screenshot

Game strategy

If you want to discover the game by yourself, do not read this section ! :-)

Depending on configuration, strategies can vary, but there are 2 main types : stress on defense or on attack.
Settings with fast moves privilegies attack, to head quickly to enemy to neutralise it. On the contrary, slow moves drive to stock up, build protection, wait for enemy.
In any case, unless settings forbid it, you should invade as much cells as you can, as cell generate a little liquid.
Terrain modification (base building, fill or dig ground and/or sea) is a key point to improve defenses (and ability to win battles).
Try to settle on high points, create blockings, dig sea to prevent enemy to make its way, build bases at the back or on high points, ...
You also can attack through sea (filling it) and try a lightning attack.