This is an interesting form of chess with more possibilities

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

pichy
Posts: 2564
Joined: Thu Mar 09, 2006 3:04 am

Re: This is an interesting form of chess with more possibili

Post by pichy »

Daniel Shawul wrote:If you decide to support games with protruding squares (islands), I use the symbol '*' to represent them. For Omegachess the FEN I use is

a**********a/1crnbqkbnrc1/*pppppppppp*/*10*/*10*/*10*/*10*/*10*/*10*/*PPPPPPPPPP*/1CRNBQKBNRC1/A**********A w - - 0 1

Maybe there is a better solution than this like sending playable squares only. Assuming rectangular board causes unnecessary information exchange . May be it is even better to be straight forward as possible and avoid FEN all in all. At each step, the gui could send the squares where pieces exist. The playbable squares are sent only once so at the start of the game. Such kind of format is used in past google ai challenge (and even before that), so that they won't have to rewrite the code for every game they invent for the competions.
Very interesting, thank you Daniel:
http://www.open-aurec.com/wbforum/viewt ... =2&t=50961
pichy
Posts: 2564
Joined: Thu Mar 09, 2006 3:04 am

Re: This is an interesting form of chess with more possibili

Post by pichy »

pichy wrote:To replay the game you first have to click reload
http://www.omegachess.com/scripts/ltpgn ... etBorder=1
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: This is an interesting form of chess with more possibili

Post by Evert »

It would not be too difficult to hack together a version of Sjaak that can play the game (the board would be 10x10 + 4 off-the-board squares that are entered into the movement tables by hand) but I also don't really see the appeal.

Unless there's to be an "omega chess" tournament later in the year I probably won't bother...

Any upcoming variant tournaments I should be preparing for, by the way?
pichy
Posts: 2564
Joined: Thu Mar 09, 2006 3:04 am

Re: You almost have all the versions of chess except Omega

Post by pichy »

Evert wrote:It would not be too difficult to hack together a version of Sjaak that can play the game (the board would be 10x10 + 4 off-the-board squares that are entered into the movement tables by hand) but I also don't really see the appeal.

Unless there's to be an "omega chess" tournament later in the year I probably won't bother...

Any upcoming variant tournaments I should be preparing for, by the way?
You almost have all the versions of chess except Omega Chess :wink:
http://en.wikipedia.org/wiki/Omega_Chess

http://chess.go.ro/variants/fantasy/omega_chess.html
User avatar
hgm
Posts: 28514
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: This is an interesting form of chess with more possibili

Post by hgm »

Daniel Shawul wrote:If you decide to support games with protruding squares (islands), I use the symbol '*' to represent them. For Omegachess the FEN I use is

a**********a/1crnbqkbnrc1/*pppppppppp*/*10*/*10*/*10*/*10*/*10*/*10*/*PPPPPPPPPP*/1CRNBQKBNRC1/A**********A w - - 0 1

Maybe there is a better solution than this like sending playable squares only. Assuming rectangular board causes unnecessary information exchange . May be it is even better to be straight forward as possible and avoid FEN all in all. At each step, the gui could send the squares where pieces exist. The playbable squares are sent only once so at the start of the game. Such kind of format is used in past google ai challenge (and even before that), so that they won't have to rewrite the code for every game they invent for the competions.
Note that you have not been entirely consistent, because the non-existing squares on the piece row are indicated as empty squares in the FEN you give, rather than as *. This could reflect a true error in your board setup.

The FEN format does present a bit of a problem. For an Omega-Chess user it would be very annoying having to handle all the asterisk every time. OTOH, in the WB setup command the board format has to be specified in detail, as WB will in general will not know which board squares are inaccessible. So leaving out inaccessible squares, or denoting them as empty squares (to allow contraction, ********** = 10, *10* = 12) would not work in the setup command.

Perhaps we would have to introduce a dual standard here. The setup command would have to explicitly indicate inaccessible squares by asterisk, like in the format you propose. But when a FEN is encountered that does not include any asterisks, and for which the length of the ranks is not equal to the current board width, the FEN decoding would skip squares that are currently marked as inaccessible on the internal board. In general it is not possible to decode FENs without prior knowledge (like pieceToCharTable), so FENs in loaded PGNs can only be decoded after the GUI has seen the setup command from the engine, which would load the standard board setup, and thus mark inaccessible squares.

In the setboard command we could then use the format including asterisks, to make life easier for multi-variant engines.
pichy
Posts: 2564
Joined: Thu Mar 09, 2006 3:04 am

Re: This is an interesting form of chess with more possibili

Post by pichy »

hgm wrote:
Daniel Shawul wrote:If you decide to support games with protruding squares (islands), I use the symbol '*' to represent them. For Omegachess the FEN I use is

a**********a/1crnbqkbnrc1/*pppppppppp*/*10*/*10*/*10*/*10*/*10*/*10*/*PPPPPPPPPP*/1CRNBQKBNRC1/A**********A w - - 0 1

Maybe there is a better solution than this like sending playable squares only. Assuming rectangular board causes unnecessary information exchange . May be it is even better to be straight forward as possible and avoid FEN all in all. At each step, the gui could send the squares where pieces exist. The playbable squares are sent only once so at the start of the game. Such kind of format is used in past google ai challenge (and even before that), so that they won't have to rewrite the code for every game they invent for the competions.
Note that you have not been entirely consistent, because the non-existing squares on the piece row are indicated as empty squares in the FEN you give, rather than as *. This could reflect a true error in your board setup.

The FEN format does present a bit of a problem. For an Omega-Chess user it would be very annoying having to handle all the asterisk every time. OTOH, in the WB setup command the board format has to be specified in detail, as WB will in general will not know which board squares are inaccessible. So leaving out inaccessible squares, or denoting them as empty squares (to allow contraction, ********** = 10, *10* = 12) would not work in the setup command.

Perhaps we would have to introduce a dual standard here. The setup command would have to explicitly indicate inaccessible squares by asterisk, like in the format you propose. But when a FEN is encountered that does not include any asterisks, and for which the length of the ranks is not equal to the current board width, the FEN decoding would skip squares that are currently marked as inaccessible on the internal board. In general it is not possible to decode FENs without prior knowledge (like pieceToCharTable), so FENs in loaded PGNs can only be decoded after the GUI has seen the setup command from the engine, which would load the standard board setup, and thus mark inaccessible squares.

In the setboard command we could then use the format including asterisks, to make life easier for multi-variant engines.
You can use this version of Omega Chess using the two extra pieces on the Bipmap, you don't have to reinvent the wheel :wink:
http://www.open-aurec.com/wbforum/viewt ... =2&t=50961
User avatar
hgm
Posts: 28514
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: This is an interesting form of chess with more possibili

Post by hgm »

Yes, butI don't think this version is compatible with the current Nebiyu implementation. (They use different board coordinates to specify the moves.) So you would have to find another engine as well..
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: This is an interesting form of chess with more possibili

Post by Daniel Shawul »

hgm wrote:
Daniel Shawul wrote:If you decide to support games with protruding squares (islands), I use the symbol '*' to represent them. For Omegachess the FEN I use is

a**********a/1crnbqkbnrc1/*pppppppppp*/*10*/*10*/*10*/*10*/*10*/*10*/*PPPPPPPPPP*/1CRNBQKBNRC1/A**********A w - - 0 1

Maybe there is a better solution than this like sending playable squares only. Assuming rectangular board causes unnecessary information exchange . May be it is even better to be straight forward as possible and avoid FEN all in all. At each step, the gui could send the squares where pieces exist. The playbable squares are sent only once so at the start of the game. Such kind of format is used in past google ai challenge (and even before that), so that they won't have to rewrite the code for every game they invent for the competions.
Note that you have not been entirely consistent, because the non-existing squares on the piece row are indicated as empty squares in the FEN you give, rather than as *. This could reflect a true error in your board setup.
I see what you mean. I made a mistake on the 1s on the first row, but my intention wass to use a '*' there too like like the rest of the rows.
The FEN format does present a bit of a problem. For an Omega-Chess user it would be very annoying having to handle all the asterisk every time. OTOH, in the WB setup command the board format has to be specified in detail, as WB will in general will not know which board squares are inaccessible. So leaving out inaccessible squares, or denoting them as empty squares (to allow contraction, ********** = 10, *10* = 12) would not work in the setup command.

Perhaps we would have to introduce a dual standard here. The setup command would have to explicitly indicate inaccessible squares by asterisk, like in the format you propose. But when a FEN is encountered that does not include any asterisks, and for which the length of the ranks is not equal to the current board width, the FEN decoding would skip squares that are currently marked as inaccessible on the internal board. In general it is not possible to decode FENs without prior knowledge (like pieceToCharTable), so FENs in loaded PGNs can only be decoded after the GUI has seen the setup command from the engine, which would load the standard board setup, and thus mark inaccessible squares. In the setboard command we could then use the format including asterisks, to make life easier for multi-variant engines.
Admittedly the solution is a bit of a hack but there aren't many alternatives if FEN is to be used. The dual standard is a bit of a downer because a FEN by itself can not describe a position. But I don't see any other way to remove this state dependence without sending everything all the time. The proposed method does make editing of the board with out a GUI difficult for the user and I overlooked that aspect. But the rectangular nature of FEN is not really a problem despite my fears. In the past ai challenge, the board (map) is rectangular too and quite big at that : 200x200 = 40000 squares with about 40% water (unplayable) on average. And the rest is mostly playable land (50%). So you can imagine the number of time losses people will have if the whole information is exchanged on every move. The tricks used are to send only Visible information (with in a defined view radius). So the terrain information is not necessarily sent at the beginning rather whenever it becomes visible and only _once_. Hence the bot has to remember them as it gets them. Other squares are "refreshed" all the time whenever they become available. It might find remembering some of the squares such as with food ,that have become invisible, to its advantage. It can target motion to those squares even though it could discover that they have been eaten once they become visible again. This by itself was part of the ai challenge. A simple example map where % was used as an island and . empty. I use the same except % is *. It looks much like a FEN with m replaced by / and ofcourse the heading removed. But I like the straight forward kind of info exchange were it not for the damn humans who like contracted FEN.

Code: Select all

rows 43
cols 39
players 2

m %%%%%...........%%%%%%%...........%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%*.......*.....*.....*.......*%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%............*.B.*............%%%%%
m %%%%%.............................%%%%%
m %%%%%..............*..............%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%............%...%............%%%%%
m %%%%%.............%%%.............%%%%%
m %%%%%*...........................*%%%%%
m %%%%%.............%%%.............%%%%%
m %%%%%............%...%............%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%..............*..............%%%%%
m %%%%%.............................%%%%%
m %%%%%............*.A.*............%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%*.......*.....*.....*.......*%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%.............................%%%%%
m %%%%%...........%%%%%%%...........%%%%%
Daniel Shawul
Posts: 4186
Joined: Tue Mar 14, 2006 11:34 am
Location: Ethiopia

Re: This is an interesting form of chess with more possibili

Post by Daniel Shawul »

@Jorge, I think we will be arriving at similar formats in the end. The format used by the engine seems to be a contracted FEN.

Code: Select all

ww/crnbqkbnrc/pppppppppp/10/10/10/10/10/10/PPPPPPPPPP/CRNBQKBNRC/WW w KQkq - 0 1
You can see that the FEN is strictly meant for omega chess not for the alien version we are discussing. Note that I used * to include unplayable land and there is a reason to it. If HG wanted to support this variant , then he only needs to support bigger boards. But the idea is to remove the need to go through this process next time you dig up a variant like this one :)
regards
pichy
Posts: 2564
Joined: Thu Mar 09, 2006 3:04 am

Re: This is an interesting form of chess with more possibili

Post by pichy »

Daniel Shawul wrote:@Jorge, I think we will be arriving at similar formats in the end. The format used by the engine seems to be a contracted FEN.

Code: Select all

ww/crnbqkbnrc/pppppppppp/10/10/10/10/10/10/PPPPPPPPPP/CRNBQKBNRC/WW w KQkq - 0 1
You can see that the FEN is strictly meant for omega chess not for the alien version we are discussing. Note that I used * to include unplayable land and there is a reason to it. If HG wanted to support this variant , then he only needs to support bigger boards. But the idea is to remove the need to go through this process next time you dig up a variant like this one :)
regards
If you make this Omega Chess engine and give me permission to use it in Canada for the first Computer Omega Chess Championship, I will donate to your website $500.00. After I test it and it is capable of beating me (rated 2236) over 21 years ago when I used to compete in normal chess. I just learned the Omega Chess rules two days ago.

PS: I can not tell you what the winning prize will be for the winner Omega Chess Engine in Canada, that is up to you to find out :wink: