News: Gigamic seems to accept PBeM version of the game so I republish my code (end of the page).

# Yet another Hexagonal abstract board game

Obviously, Hexagonal board has inspirate a lot of abstract games between 1990 and 2000. This one seems to reuse some old trick like gravity, but introduce an interesting goal: Make the longuest chain of your piece.

## Description of the game

Each player own 12 pieces of his color and six neutrals pieces. Each player play at his turn, eiter a color or a neutral piece. That piece can hold on the lowest row or on top of two other, respecting gravity. When all the 36 pieces are on the board, the player with the longuest chain of his colour win the game. A chain cannot count or use twice the same piece. There could be a draw/tie too if both chain are of the same lenght.

This is the end of the game:

Now this is counting time and White win:

## Complexity of the game

As for every game I am interested to know if it is easy to play the game for a computer. I also want to check what is or could be the theoretical value of the game. And if the game seems to be a win or not to difficult to prouve.

The most interesting problem with Zenix is to determine who is the winner. It might be obvious for a human, but for a computer it is not so easy. Let say that finding the winner is equivalent to finding the longuest path in a graph. And finding the longuest path in a graph is a complex problem with no good algorithme to find the solution. So a silly algorithme like a recursive search with back-tracking might be the best one we have. Now given the size of the board, it is not too long to compute, but however exponential in time.

Now for a computer to play the game, we might want to have an evaluation function that can evaluate the longuest chain possible for each player or the current longuest one. Even if the lenght of the game is rather short (only 36 moves) and the number of possible legal move is small too (16 for the first move then droping to 14 and below)... The cost to find who is winning might be the biggest challenge for prouving of evaluating the game.

If finding the longuest path for a player is difficult. But we can find an upper bound for the longuest path is easy. At the maximum we have 12 because that's the number of pieces available for each. Then the maximum is also the number of adjacent piece (+ all the piece remaining) this mean if a few pieces are isolated from the rest, they don't count as part of the maximum.

## Play with paper and pen

Because the pieces are nor moving nor removed, it is easy to play that game on paper. You just need to have hexagonal paper. Even better you can print the following picture to have it ready to play. The major diference with the physical game is that in the real game you need to visualise the hexagonal structure of the game, where here it is visible. I would suggest if you really like the game to make the aquisition of the board from Gigamic. I can guarantee that it is perfect from a visual and touch feeling point of view. More than a game it is something you want to display in your home.

## Play with the computer

Since I have discover zillions-of-games, I try to implement new game I encounter using that system. Zenix was not a piece of cake. Obviously the biggest challenge was to explain the winning coundition of the game. I manange to use the 'count' condition of Zillion to explain Zillions who is winning. At the end of the game you need to mark your longuest chain, and Zillions engine or your opponent will do the same. Because from Zillions point of view, the marking piece are the only one you really own, if you mark more than your opponent, you win.

So if you own Zillions-of-Games you can now freely use my own version of xineZ for it. Well I call it xineZ to avoid any copyright/trademark/patent on the game. But xineZ is abviously a clone of the game we are talking about. You will be able to play with a friend, localy or accross the internet. You can even play against the computer, but don't expect too much. In fact Zillions don't know how to play and play almost randomly. At the end of the game, Zillions start to see the goal of the game, but it is already too late. If anybody find a better way to implement this game for Zillions, let me know.

## Play by email on a PBeM server

Something like 10 years ago I was playing Diplomacy by e-mail, and this was great since a computer was the adjudicator of the game. Given the lenght of a Diplomacy game and the difficulty of have seven peaple together in the same place for the game to take place.

Less than a year ago I have discover Richard's PBeM server. This is a also a lot of fun since you can play a lot of abstract game with other abstract game addicted. Have some months of contemplation, I choose to give it a try and implement a few game for it. Noone of those game are already available or install on the server, but I hope to convince Richard to have a look at the code and see if he like it, and maybe you will be able to play this game by e-mail.

Bellow you will find the source code (release under the protection of the GPL) of the game. This code cannot compile/execute without Richard's PBeM server code (wich is not release under GPL licence). Because I know no other PBeM environment that would be compatible with Richard's one, the only way to have this game work is for Richard to accept this code and let it run on it's server.

If you are a troll from Slashdot you may think... Hey, linking non-GPL to GPL code, this is breaking the GPL. In fact NOT, Richard does not distribute any binary version of his code. If he choose to link his great PBeM server code to my small little game code, it will only make a private modification (link) to GPL code. And of course he is free to do so (you too). Because this GPL+NON-GPL mixture is running on a server rather than distributed in binary form, this is perfectly OK. This might be a GNU GPL loophole, but hey nobody is perfect, Linux binary loadable module are also loophole AFAIK.

By the way, if you are from Gigamic, or the author of the game, please download the zip file and read the documentation as it explain why I feel OK to distribute this, and why you should contact me if you don't feel OK with it.

Here you can download the source code (under GPL) of my version of the game for Richard's PBeM Server: click here(not working on freeserver).

Writing the line above I just have discoverd that the clone name I have use for the ZRF version and for the PBeM version are different. I hope to fix the ZRF one since it is a lot more eassyer to do. However, my real hope is to have Gigamic (or author of the game) notice this page and authorise me to call it Zenix as this is the name of the original!

Ok, it seems that Gigamic gave the authorisation to publish any of their game in PBeM version. So I took my code and renamed any xeniz in zenix and Xeniz in Zenix and guess what it does compile and work. I also changed the "documentation" or help file and cleaned some comment in the code. This code contain my optimisation for faster computation of the winner... and it also seems to work.

Here you can download the source code (under GPL) of my version of the game for Richard's PBeM Server: click here for the tgz(not working on freeserver) or here for the zip. Those package contain a strange makefile and makelink.sh script. But if you have the PBeM source code or if you are Richard you should be able to manadge that. It just compile like the "game of Y".