Four legendary heroes were fighting for the land of Vindinium
Making their way in the dangerous woods
Slashing goblins and stealing gold mines
And looking for a tavern where to drink their gold

Technical documentation

This page covers the rules of the game. If you're looking for the technical documentation take a look at the starter packs page.

Description

Vindinium is a multi-player turn based dungeon crawling game. Each player has one hero that can move across a map. The objective is for players to amass the maximum quantity of gold during a predetermined number of turns. Players must take control of gold mines to produce gold; however, gold mines are protected by goblins. When a player defeats a goblin, he becomes owner of the gold mine and receives one gold per turn. Furthermore, the goblin now defends the mine against other players.

Heroes can fight each other. The survivor gets control of all his opponent's gold mines. The killed hero is immediately respawned with all his gold, but no mine.

When going to the tavern, heroes can buy beers for gold, restoring their life points.

The objective is to create a computer program (a bot) that plays the game of Vindinium as intelligently as possible. It is recommended that you use one of the starter packages as a starting point.

Maps

Maps are generated randomly. Each element of the map is coded using 2 character. Here is an example:

+----------------------------------------+
|######$-    $-############$-    $-######|
|######        ##        ##        ######|
|####[]    ####            ####    []####|
|##      ####  ##        ##  ####      ##|
|####            $-    $-            ####|
|##########  @1            @4  ##########|
|############  ####    ####  ############|
|$-##$-        ############        $-##$-|
|  $-      $-################$-      $-  |
|        ########################        |
|        ########################        |
|  $-      $-################$-      $-  |
|$-##$-        ############        $-##$-|
|############  ####    ####  ############|
|##########  @2            @3  ##########|
|####            $-    $-            ####|
|##      ####  ##        ##  ####      ##|
|####[]    ####            ####    []####|
|######        ##        ##        ######|
|######$-    $-############$-    $-######|
+----------------------------------------+

Legend

## Impassable wood
@1 Hero number 1
[] Tavern
$- Gold mine (neutral)
$1 Gold mine (belonging to hero 1)

Generated maps are symmetric, and always contain 4 taverns and 4 heroes.

Hero

Heroes can move by one square each turn, and have the following attributes:

  • Life points (HP): Starting at the maximum value = 100. If HP drop to zero, the hero dies (see: Death of a hero).

  • Gold: Starting at zero, this is the success indicator of the hero. At the end of the game, heroes will be scored based on their gold value.

Resolution of a turn

A bot must issue one order per turn. Possible orders are: Stay, North, South, East or West. Once the order is executed, the hero stays put, or moves one square in the given direction.

Hero move

If the hero:

  • Tries to step out of the map, or over a tree, nothing happens.

  • Steps into a gold mine, he stays in place, and:

    • If the mine already belongs to the hero, nothing happens.

    • If the mine is neutral, or belongs to another hero, a fight happens against the goblin guarding the mine. The hero loses 20 life points. If he survives, the mine is his.

  • Steps into another hero, he stays in place and nothing happens. Hero fights are resolved at the end of the turn.

  • Steps into a tavern, he stays in place and orders a beer. The hero pays 2 gold and receive 50HP. Note than HP can never exceed 100.

  • Times out, i.e. fails to send an order in the given delay (1 second), he stays in place until the game is finished. Note that he can still win if he has more gold than the other players at the end of the game.

End of a hero turn

After the hero has moved (or decided to stay in place), a few things happen:

Fights

Heroes are quite nervous and never miss an opportunity to slap each others with their big blades. At the end of the hero turn, if there is an enemy at a distance of one square in any direction, the hero attacks the enemy. For instance, in this situation, at the end of Hero 1 (@1) turn:

@1@2
  @3

@1 attacks @2. @1 does not attack @3 because it's 2 moves away.
The attacking hero doesn't lose any life point, the defending one loses 20 life points.
If the defender dies (see: Death of a hero), the attacking hero obtains control of all the loser's gold mines.

Mining

After the the fight's resolution, he gains one gold per controlled mine.

Thirst

Then, the hero loses one HP (because all this action made him thirsty).
Note that heroes don't die of thirst. Worse case, they fall to 1 HP.

Death of a hero

When a hero HP drops to zero, he ceases to live. The hero immediately respawns on the map at its initial position, with HP=100. The hero loses control of all his gold mines, but keeps all his amassed gold. Be careful, when a hero respawns on its initial position, every opponent that may be at this position is automatically killed. So, you should avoid being at the respawn position of one of the heroes…

A hero can't die of thirst. Thirst can put the hero HP to 1, but not to 0.

End of the game

The game ends when the maximum number of turns (usually 300) has been reached. The winner is the hero with the greatest amount of gold. If two players have the same amount of gold, there is no winner.

Rating

The rating system used is the elo one. Basically, it's better to be first than second, better to be second than third, and so on. You got the idea.

Multiple bots

You are welcome to run several instances of your bots at the same time, and more generally to use any measure you see fit to achieve leaderboard domination. Fight!