| Object: eliminate your opponent Pieces in the game consists of stacks of stones (a single stone being a stack of 1). All stones in a stack belong to the same player. Player take turns in moving one of his stacks. A stack moves exactly as far as it's high in a horizontal or vertical direction. It is allowed, however, to split the stack in accordance with the move distance. E.g. if the piece to move is a stack of 3 and you want to move 2 squares, the top 2 stones will be taken to the destination cell and 1 stone will remain on the old position. A stack may land on top of another stack, friend or foe, creating a larger stack (the sum of both). All stones in the resulting stack are then owned by the moving player. The capacity of a board position is defined as the total number of horizontally or vertically adjacent positions. So, the corners have a capacity of 2, the remaining border positions have a capacity of 3 and the rest have a capacity of 4. When a stack's height is at or over the capacity of the position it stands on, it'll 'explode' (hence the game's name). I.e. each orthogonal neighbour receives 1 additional stone on top of the stack standing there and the exploding stack is reduced by the position's capacity. Explosions will cascade until all stacks are below capacity. The name Explocus is a contraction of 'explosive' and 'Focus', the latter being a game by Sid Sackson (see http://en.wikipedia.org/wiki/Focus_(board_game) ) that provided the basic stack movement rules (stack height = move distance). The same stack movement is used in Dipole by Mark Steere. Explocus was the precursor to Atlantis, a multi-player game on a hexagonal board of arbitrary size and shape (see http://www.spelmagazijn.nl/nl/intvw16.html), which has become popular among the students of the Dutch "University Twente" in particular the members of board game club "Fanaat" (see http://www.fanaat.utwente.nl/) of which I once was a member. This implementation deploys the (very simple!) evaluation function that Christian Freeling and Anneke Treep developed a long time ago, partly to demonstrate that complex movements (explosions) don't bother a computer player but is very difficult to envision by humans. Being able to look ahead a couple of ply makes the computer virtually unbeatable in this game. This in contrast to a game like Havannah, which has very simple movement rules yet deemed unprogrammable by the inventor. Please note: When a game has ended, ZoG will display a dialog that announces the correct outcome of a game. However, after that dialog is dismissed, another extraneous dialog pops up that always calls it a stalemate. This dialog is not a serious problem, it's just an annoyance - simply ignore it. This implementation uses the "Axiom" Meta-game engine. |