| Author |
Message |
Alex (Alex)
| | Posted on Thursday, December 29, 2005 - 4:44 pm: | |
Hi everybody, there exists a really exciting chess variant called Bario: http://www.chessvariants.org/incinf.dir/bario.html It is a the most interesting chess variant I have seen so far. Is somebody able to write a rules file for it? |
Mats W (Kålroten)
| | Posted on Friday, December 30, 2005 - 3:33 am: | |
Correct me if I'm wrong but this seems possible to implement. As one can have an 'add-partial' within a 'drops' statement this implies that a determinate piece can be dropped and then immediately moved. One just needs to verify that the determinate piece is dropped on one of one's own indeterminate pieces. The problem is the re-cycling when the pieces return to the initial state. Possibly, this could be implemented by checking at every move whether every square of the board is empty of indeterminate pieces. If no indeterminate pieces are left then you must drop new indeterminate pieces on the squares that are occupied by your own pieces (just like one would do if one played it on a real board). However, this method will slow down the program greatly. Possibly there exists a more clever way to do the re-cycling. |
L. Lynn Smith (Interrupt27)
| | Posted on Friday, December 30, 2005 - 3:38 pm: | |
You could have a series of dummy positions with dummy pieces which are toggled with the introduction of each of the pieces. When all of these dummy pieces have changed state, the pieces on the field would be rest. When the appropriate piece on the field is captured, one of the dummy pieces would be removed. These dummy pieces could be neutral and initially the number of all the needed pieces. The dummy positions could be linked together in a single direction. When a piece is captured on the field, the last piece in this link of dummy position would be removed. If it is necessary to add a dummy piece, just create the necessary one on a vacant dummy position at the end of the series of dummy pieces. I had worked up most of the the basic code for this game. But at the time there were still questions as to the rules of this game. Has there been clarification? |
Mats W (Kålroten)
| | Posted on Saturday, December 31, 2005 - 2:03 am: | |
But you could always implement it with your own clarifications, couldn't you? I agree with Alex that this is an interesting concept which draws on the modern view of reality in physics (and philosophy). Niels Bohr would have liked this game. But if the engine is going to drop all the determinate pieces then I strongly suspect it's necessary to adjust the relative values of the pieces, like I did with DescentChess, by duplicating the moves. Otherwise the engine will probably only drop the queen and move it around, playing very badly, and then the program is useless. Season's Greetings, Mats |
L. Lynn Smith (Interrupt27)
| | Posted on Friday, January 06, 2006 - 9:08 am: | |
The movement of the quantum is based upon the value of dummy pieces on dummy positions. Each of the players' pieces are represent on these positions. A quantum 'looks' for the appropriate piece on these positions when performing a move. Basically, the quantum can move like Amazons(if the player still has the appropriate pieces 'in hand'). When the quantum moves, it changes and the appropriate piece on the dummy position is toggled. If this piece then becomes captured, so does the appropriate dummy piece. A reset is determined not by the number of pieces which are available for expression but by the number of quantum remaining. Thus there is also a dummy position which maintains the tally of available quantum on the field. When a reset occurs, the pieces on the field are toggled to quantum and the the dummy pieces are toggled back to active. The last quantum to move at the reset does not actually change state, only position on the field. In this version the pieces would remain 'hidden' until introduced and the players would need to remember their captures. My preference. But these dummy positions could be actual positions to the side of the playing field with appropriate graphics. I am working on this implementation right now(with the pieces hidden). The reset will occur when all(both players' pieces) have been expressed. The quantum will be owner-specific, thus making them targets during play. Pawn promotions should offer an interesting dynamic to the overall coding challenge. |
L. Lynn Smith (Interrupt27)
| | Posted on Sunday, January 08, 2006 - 5:10 am: | |
I've started on the Bario implementation and have reached a decision on the potential rules. I believe that the reset should only affect that player's side. In other words, when a player has moved their last quantum their pieces are reset only. This would seem logical with quantum which are owner-specific. This means that each player controls the reset of their quantum, and would greatly impact the play of the game. I can foresee numerous tactical and strategic advantages to controlling one's own reset. |
Mats W (Kålroten)
| | Posted on Monday, January 09, 2006 - 12:30 am: | |
But the impact on the game could be too big. Obviously, you get a huge advantage if the opponent doesn't know what type your pieces are and you can decide it freely, whilst the opponent's pieces are foremostly still defined and visible and can be captured at will by the undefined enemy pieces. This probably means that you always have to keep pace with the opponent so that your own pieces can go into an undefined state immediately after or before the opponent's pieces change state. So then it will be a simultaneous change of state, anyway. So I don't think it will work. And the Zillions engine will never get it. No, I suspect a forced simultaneous change of state is essential to this game. Mats |
L. Lynn Smith (Interrupt27)
| | Posted on Monday, January 09, 2006 - 5:15 am: | |
At this point there appears to be no problem with the Zillions engine 'getting it'. It's just a matter of coding. This has been one of the many areas of contention when defining the rules of Bario. If there is something which was published by the original author which clarifies this, I would be more than happy to comply. But the player being able to control their own reset appears logical with player-specific quantum. And the opponent would just need to be very aware of this potential. And the author did state that Bario was to be the most difficult game in the world. |
Mats W (Kålroten)
| | Posted on Monday, January 09, 2006 - 11:42 am: | |
But it's better to design games that are humanly possible to play. Why don't you implement both versions as different variants. Mats |
L. Lynn Smith (Interrupt27)
| | Posted on Monday, January 09, 2006 - 10:50 pm: | |
Why would having the reset affect only each player's pieces push the game beyond human possibility of play? This is not a complex potential. Each player would need to be aware of the effect as the opponent move their quantum, and would need to take appropriate precautions. For example, though a quantum moves as a Bishop and may be a Bishop for a series the player may need to treat it as a potential Amazon in overall threat. (No different than a 'full' reset.) And the Pawn structure would greatly impact the development of the quantum in the opening and mid-game. (No different than a 'full' reset.) The difference would be the control of the reset is now in the hand of each player equally. The player now determines the impact to their own quantum. And this might deter the capture of quantum if it resulted in a advantageous reset for the opponent. And if a player's quantum are reduced(without their 'in hand' pieces being taken), there is the potential that their last might constantly express itself as an Amazon. |
Mats W (Kålroten)
| | Posted on Tuesday, January 10, 2006 - 1:26 am: | |
I don't know. Maybe neither a full reset or a player's reset is a good solution. To achieve a strategically viable solution it might be necessary with a more elaborate reset rule. The different variants must be tested in real play. I think that the great advantage with Zillions is the ability to test different game rules, until you get something that works both tactically and strategically, and where there are no loopholes, easy ways of destroying a game, forcing a draw, etc. I used the Zillions engine when I constructed my latest piece "Bouncers." I tested several different solutions as to move rules, whether they should bounce perpendicular to the rim or not, etc. When studying the play you can soon decide that this variant lacks depth, or is too brutal, over-tactical, too slow, etc, etc. That's why one is able to develop a game very fast that actually works. This is only thanks to the ease with which one can implement different rules and test them. A slight change in the rules could make a useless game into a very good game. So I say you have to implement both a full reset and a player's reset, and probably other versions, too, and test them properly, before you decide which you like. One cannot decide which rules are the best by reasoning only. This is very qualified work, and exhausting and time-consuming, too. |
L. Lynn Smith (Interrupt27)
| | Posted on Tuesday, January 10, 2006 - 11:01 am: | |
This is the reason that a Bario implementation has not been coded to date. No-one can agree on the base-line rules for the game. And any variant in this game would result in some drastic coding differences. At the Chess Variant website, there is a list of potential Bario games covered in the discussion section of its webpage. Some are rather complex. I do not wish to get involve into an argument about whether or not any of my potential Bario implementations are correct. Therefore I have decided that I will not implement this game at this time. |
Greg Schmidt (Gschmidt)
| | Posted on Tuesday, January 10, 2006 - 1:45 pm: | |
If controversy is a concern, please consider creating the game(s) under a different. Some ideas are: "My Bario" "Bario Inspired Games" "Arobi" (an anagram of "Bario") or perhaps an entirely different name. Then in the description, you could mention that you were loosely inspired by Bario. I would just hate to see a good game not get implemented for such a reason. |
Mats W (Kålroten)
| | Posted on Wednesday, January 11, 2006 - 5:23 am: | |
It is also a matter of how much time and energy one wants to waste on this unpaid work, which in this case is very qualified. But then one could resort to stupid and primitive solutions, as making a brute-force search through all positions to see whether it's time to recycle all the pieces. I am a proponent of Neanderthal programming. If it brings any advantages one could also skip drop-moves altogether and instead use "add-copy" from pieces standing beside the board. One could cascade the add-copy moves. If one keeps it primitive then anybody could implement this game, I suppose. |
Mats W (Kålroten)
| | Posted on Wednesday, January 11, 2006 - 5:32 am: | |
That is, "add-copy" would imply that one catches one's own piece with the piece standing beside the board. If the piece on the board is undefined then one add-copies a defined piece on it by simply lifting and dropping the undefined piece. Then the Zillions engine will ask which of the extraneous defined pieces should be added (I suppose so, correct me if I'm wrong). If it's the recycle case, then it's the reverse, but this could be done automatically by cascaded add-copies from the undefined piece standing beside the board. |
Mats W (Kålroten)
| | Posted on Saturday, January 14, 2006 - 12:26 pm: | |
I took the yoke upon me and have now implemented Bario where I apply the rules from Chess Variant pages. The preliminary version can be downloaded here. I have had good use of Andreas Kaufmann's DescentChess.zrf. I used that "add-copy" strategy which I talked about earlier. I have solved the recycle problem by letting the player press a button when it's time for recycle. This costs a move, something which seems correct while the other player typically initializes recycle by transforming his last Quantum. But then he forfeits his move with the just transformed piece (add-copy-partial) as there are no more Quantums on the board. So when his opponent then performs the forced recycle the turn will go back to the player who forfeited the partial move, which seems fair. Also, adding a new piece on the board should not imply a forced move continuation. Maybe the player wants the new piece to stay exactly where the Quantum just stood. Of course, I cannot introduce "pass moves" in chess, so instead I solve this by letting the player perform a move "on the spot", by lifting and dropping the piece on the same square. It works well. Please test the program and report any bugs and whether my interpretation of the Bario rules are viable. For example, one quirk is that, when a check is given, one cannot transform a Quantum and then go between, because this implies two moves, although they are continuous, and he hasn't got time for that while his king is in check. This could probably be altered, although it seems appropriate to me. It's an intriguing game. Quite fun! The Z engine plays this game much better than I expected. Mats |
Mats W (Kålroten)
| | Posted on Saturday, January 14, 2006 - 2:11 pm: | |
Oops! I discovered a nasty bug which I hope is fixed now. Download Bario again here. |
Mats W (Kålroten)
| | Posted on Sunday, January 15, 2006 - 3:23 pm: | |
Yet another bug is fixed! It's good to have people testing your programs. It's much easier to find bugs. |
Mats W (Kålroten)
| | Posted on Tuesday, January 17, 2006 - 12:26 pm: | |
The final version of Bario is now downloadable from here. It's now become much stronger because I introduced the rule that one must make four piece moves (or drops) before one is allowed to move a pawn. Otherwise the Zillions engine plays badly and notoriously loses piece. In the early phase the engine overestimates the import of transforming Quantums to pieces so he forgets about threats to already existing pieces. But the four-move rule solves this problem and Zillions plays a good game. It's a quite acceptable and logical rule anyway. I also added some tweaking so that he doesn't blunder away his knights. It's remarkable that some slight changes can make a useless game quite good. I suppose that the same can be done to many games in the Zillions collection. I also invented my first chess variant, which I call Shamanic Chess. A new piece, the "Shaman" is introduced (I hope that nobody has invented it before). Also in this game I had to apply tweaking to make it work. Both "doubling of moves" and links to "dummy squares." The game was absolutely useless before. The engine only moved shamans around, because it overestimated them. By doubling the moves for the regular pieces the engine started to realize their value. So now it's an interesting game. Now that I've invented my first chess variant I regard myself as truly belonging to the guild of game inventors. Mats |
Mats W (Kålroten)
| | Posted on Wednesday, January 18, 2006 - 2:26 am: | |
Yesterday I received from Mr. Pfeiffer a more exact description of the rules (see below). It's a little different in some respects than my implementation. I hope to be able to implement this as a variant in the future. I hoped I was ready with my Bario.zrf, but I wasn't. But today's update of Bario simply must be the last for the time being (I found that the code was unneccessary inefficient). It's too easy to waste a lot of time on this game development work. Code efficiency could be a good subject for discussion. The Bario.zrf is generally of primitive Neanderthal type. But I won't work more on this for now. But if somebody could come up with some simple improvement I am willing to implement it. Mats ---------------------------------------------- Inventor of Bario: Panos Louridas (also known as problem composer) First(?) public presentation: 1985 in the chess club "Aachener Schachverein 1856" Rules: The text does not contain a formale listing of rules, but describes the essential ideas with examples. The pieces in this variant (execpt the King and the Pawns) exist in two states: the "real" and the "virtual" state. At the start of a game the real pieces are out of the board, and on the board are virtual pieces on the places where in an orthodox game the real pieces stand. (A common hint is to use checker disks for the virtual pieces) If a virtual piec moves it becomes a real piece. Each virtual piece can move like each real piece of its player that is still outside of the board. The player who moves one of his virtual pieces replaces this (while or after the move) by one of the real pieces (from the outside of the board) that can move in this manner. For example: If he does a diagonal move he may take a Bishop or Queen (assuming both are still available) from the outside to replace the disk (virtual piece) with the choosen real piece. If a real piece on the board will be captured, it is out of the game (means it does not go back to the reservoir of real pieces outside of the board). If a virtual piece (on the board) will be captured, the owner of the captured virtual stone must assign a real piece from his reservoir (outside) that then is removed from the game. If the last virtual piece of a player disappears (by moving or because captured) then this event ends the actual cycle and a new cycle with virtual pieces starts. This means following: All real pieces on the board (of both players) goes to their reservoirs (outside of ther board) and on the bord they will replaced with virtual stones. But there is a relevant exception: If a player owns only pieces of the same type (only Q, or only R, or only B, or only N) then the will not switch to the virtual state. (The case what will happen if in a such situation one of the player's equal pieces is still in the virtual state remained undiscussed.) Also: cycles only take effect to players with more than one kind of piece. Castling: Possible with the usual conditions, here for the Rook this means, that the (virtual) piece in the corner never moved and a player's Rook is still available in his reservoir outside of the board. Of course When castling this virtual piece then becomes a real Rook. The article does not contain remarks about promotions. Therefore I assume, if a Pawn promotes it becomes a usual real piece, and this piece should go into the virtualisation also when a new cycle occurs. |
Mats W (Kålroten)
| | Posted on Tuesday, January 24, 2006 - 12:21 pm: | |
I've studied Bario deeper and read an article which Mr. Pfeiffer was so kind to send me. Obviously the famous chess theorist Stefan Bücker was involved in this project, too. I named my earlier variant "Barion" because it wasn't sufficiently alike Bario. But now I've created a new program which is much closer to the original rules. However, I don't follow them exactly because there are certain inconsistencies in the rules. The new program (preliminary) can be downloaded here. The pieces on the board, only, are now moved back to the reserve at recycle. The graphics is different, and how to move the pieces. What gladdens me is that the Zillions engine plays this game powerfully (much better than my ShamanicChess and Barion). Critique is welcome! Discussion of the original rules: A major weakness in the original rules is the "forced move continuation", that is, when you drop a piece from the reserve. What if the player wants to position the piece on that very square where the Quantum is located? If a player cannot improve his position anymore he might want to introduce a piece. The strongest square for the piece might be the drop square. This is obvious in endgames where tempo moves are important, and the position cannot be improved anymore. Furthermore, following the original rules, if a Quantum is pinned (that is, when the King is behind) then one cannot drop a Quantum at all, since one cannot move the piece if one drops it. However, if one introduces "moves on the spot" (but only immediately after drop) then it's possible to drop on a Quantum that is pinned. Therefore I have introduced "moves on the spot" to Bario. It's an important improvement. Since pieces can now stay on the square where they are dropped, the castling rule is changed. In order to later to be able to castle the player must drop the rook on the corner square. This is a more logical rule than the original. I cannot understand the awkward rule which says that, if one captures a Quantum, then the opponent must remove a piece of his choice from the reserve. What's the point? If a Quantum is captured, this implies that one of the pieces in the reserve cannot come into play. So it has the same effect as capturing a piece. In fact, there is no reason to do anything. So I have not implemented this strange rule. In Bario it's allowable to capture the king. I have found it inconsistentent, then, to retain rules of check and check-mate. So the rule is simply to capture the king. The most important problem concerns recycle. In the original rules it's actually possible to perform moves on a board void of Quantums. This occurs when the last Quantum is transformed. The continued move rule allows the played to make any captures, or whatever. This is inconsistent. But the "move on the spot" rule solves this problem. When the last Quantum is transformed one is obliged to stay where the Quantum is. However, after the recycle the turn goes back to this player, so he doesn't lose a move. The same is valid when a player captures the last Quantum. After the recycle the turn will now go back to him. If the king is in check it is possible to save oneself by capturing or transforming the last Quantum. This has the same effect as removing the piece which gives the check, while it is now turned into a Quantum. This is an additional method of defence in Bario. However, in the original rules one can never use this method of saving the threathened king. This is due to the fact that the turn goes back to player who gave the check. Thus, he can capture the king in his next move, by transforming his Quantum. I see no reason to practically disallow recycle when the king is threathened. It seems quite fair if the move goes back to the party who initiated the recycle, which is what I have implemented. The general rule is this: the party who initiated the recycle will have the first move after the recycle. Yet another rule which I find incomprehensible is this one: 'at recycle, the pieces aren't transformed to Quantum pieces if they are of one type only.' What's the point? I have not implemented this strange rule. Pawn promotion is not mentioned. But I've implemented promotion to Quantum only, while placing a Queen in the reserve. This is consistent with the nature of the game and adds to its attractiveness. |
Mats W (Kålroten)
| | Posted on Thursday, January 26, 2006 - 12:45 pm: | |
I am under continual pressure to implement a Bario according to the original rules (now I understand why L. Lynn Smith opted out of this project. But now I've become wise, too.) I have finally understood the original rules, which aren't as bad as I thought. I have now implemented a true Bario, which can be downloaded here. There is an exception to the original rules in that the player cannot choose which piece to remove from the reserve when a Quantum is captured. This is done automatically (it might be changed in a later release). As could be expected, unlike my latest Bario variant, Zillions plays original Bario badly (but it's quite playable, it's not silly). Too many moves are generated while there are 14 pieces on the board which can move like Queen + Knight, and I've created a lot of clumsy code with many checks.The engine doesn't readily want to transform the Quantums, because they are so strong. So I invented the rule that, at least two of the three first moves must be piece-moves. It's much more fun this way. It can be edited away in the zrf-file by setting "opening-phase" to false. Anyway, this program can be used for studying this noble game, which is really good, as such. And, of course, with this implementation it's now possible to play Bario over the net. Mats |
Alex (Alex)
| | Posted on Friday, January 27, 2006 - 11:04 am: | |
Hi Mats! Thank you very much for your work! You did far more than I hoped. Have you received more information about the inventor (Panos Louridas)and/or his helpers? I searched for him in the net but did not find any contact information (except a few chess studies composed by him and the fact that he perhaps lives in Nürnberg/Germany). Perhaps he has his own far more elaborated set of rules for Bario and perhaps also some sample games. Alex |
Mats W (Kålroten)
| | Posted on Saturday, January 28, 2006 - 2:16 am: | |
He lives in Augsburg and Mr. Pfeiffer is going to send him a "snailmail" to clarify some issues. There is an article in German magazine "Rochade" No.3 1998 with a sample of analysed tournament games. Yesterday I uploaded a bugfixed version where the code has been effectivized so that it plays better (here). I'll soon look into the design of Quantum capture, too, and try a certain tweaking method to make it play better. I thought I had finished this project, but this is how it goes. Mats |
|