Author |
Topic: 2008.07.01 Core Rule Changes (Read 8165 times) |
|
Arimabuff
Forum Guru
Arimaa player #2764
Gender:
Posts: 589
|
|
Re: 2008.07.01 Core Rule Changes
« Reply #15 on: Jun 20th, 2008, 7:30am » |
Quote Modify
|
It would appear that if you eliminate your opponent's last rabbit at the same time you immobilize him your win will be counted as immo. and not elimination.
|
|
IP Logged |
|
|
|
Janzert
Forum Guru
Arimaa player #247
Gender:
Posts: 1016
|
|
Re: 2008.07.01 Core Rule Changes
« Reply #16 on: Jun 20th, 2008, 7:54am » |
Quote Modify
|
on Jun 20th, 2008, 4:57am, omar wrote:It may also be possible for a player to have more than one move and all of those moves are a third time repeat. I don't check for this. I only check for the case where the player has only one move and it is a third time repeat. |
| Yeah, I thought of this the other day as well but didn't mention it since the simple case wasn't handled anyway. The way I thought that might be able to handle it efficiently would be to incrementally generate moves stopping as soon as a move is found that isn't a 3rd repetition. This should be very fast in the common case but of course the move generator still needs to be fairly efficient for the rare time it does need to check a large number of moves. Janzert
|
|
IP Logged |
|
|
|
omar
Forum Guru
Arimaa player #2
Gender:
Posts: 1003
|
|
Re: 2008.07.01 Core Rule Changes
« Reply #17 on: Jun 20th, 2008, 9:16am » |
Quote Modify
|
on Jun 20th, 2008, 7:30am, Arimabuff wrote:It would appear that if you eliminate your opponent's last rabbit at the same time you immobilize him your win will be counted as immo. and not elimination. |
| Here is the order of the checking: First check if the move is valid; 3rd time repetition and moves which don't change the board position are rejected here. If the move is OK then add move to the move list and check for win/lose conditions. 1. Check if our rabbit reached goal. 2. Check if opponent's rabbit reached goal. 3. Check if opponent has no possible move (immobilization). 4. Check if opponent's only move is 3rd repetition (immobilization). 5. Check if opponent lost all rabbits. 6. Check if we lost all rabbits. If you immobilize the opponent, but doing so requires you to move their rabbit to goal, you will lose since a rabbit reaching goal is the most primary win/lose condition in Arimaa. If you eliminate the opponents rabbits, but doing so causes you to become immobilized, you will win, since putting your self in an immobilized position is not a condition for losing (only after your opponent moves and you are left immobilized then you lose). I suppose #5 could be done before #3, but I don't think it matters that much. Historically #3 came before #5.
|
|
IP Logged |
|
|
|
Arimabuff
Forum Guru
Arimaa player #2764
Gender:
Posts: 589
|
|
Re: 2008.07.01 Core Rule Changes
« Reply #18 on: Jun 20th, 2008, 10:25am » |
Quote Modify
|
on Jun 20th, 2008, 9:16am, omar wrote: ...I suppose #5 could be done before #3, but I don't think it matters that much. Historically #3 came before #5. |
| I am perfectly OK with it, I was just relating it as a fact.
|
|
IP Logged |
|
|
|
aaaa
Forum Guru
Arimaa player #958
Posts: 768
|
|
Re: 2008.07.01 Core Rule Changes
« Reply #19 on: Jun 21st, 2008, 3:56pm » |
Quote Modify
|
Given how well the threefold repetition rule has become established, what's the point anymore of forbidding null moves? For one thing, dropping that rule would simplify bot programming.
|
|
IP Logged |
|
|
|
Fritzlein
Forum Guru
Arimaa player #706
Gender:
Posts: 5928
|
|
Re: 2008.07.01 Core Rule Changes
« Reply #20 on: Jun 21st, 2008, 4:47pm » |
Quote Modify
|
Passing is not quite the same at three-fold repetition. If Arimaa allowed passes and forbid repetition, it would prevent you from passing only after your opponent has just passed. I don't know of any situations where you could pass your way to victory, or pass your way out of defeat, but I can see how either would be unappealing in some light.
|
|
IP Logged |
|
|
|
omar
Forum Guru
Arimaa player #2
Gender:
Posts: 1003
|
|
Re: 2008.07.01 Core Rule Changes
« Reply #21 on: Jun 21st, 2008, 5:26pm » |
Quote Modify
|
on Jun 21st, 2008, 3:56pm, aaaa wrote:Given how well the threefold repetition rule has become established, what's the point anymore of forbidding null moves? For one thing, dropping that rule would simplify bot programming. |
| By "null moves" I assume you mean moves that do not change the board position. If such moves are allowed, then it is equivalent to allowing a player to pass their turn; which I did not want to allow. I think I chose not to allow players to pass, because Chess didn't allow it. It is not something that I even contemplated when I was creating the rules. But once (much after the release of the Arimaa rules) I was thinking how I didn't like seeing games suddenly end on time if a player did not make a move and ran out of time (this happens to me a lot at Blitz speed . As a possible solution I thought of allowing players to pass their turn and if a player did not make a move within the time allowed then it is as if they passed their turn and their opponent would then get to make another move. Thus, less games would suddenly end due to a player running out of time and more games would have a natural ending (g, m, e), though some might have forced passed turns in them. You do run into problems if both players keep choosing to pass. I suppose with 3rd time repetition check in place the player that passed first would eventually have to make a move and could not continue to pass. But then what if they don't make a move within the allowed time. I suppose at this point the game could be considered lost on time. I just contemplated this possibility, but eventually decided that the timed out games didn't bother me enough to make these changes to the rules and reprogram the server I am open to reconsidering the possibility of allowing a player to pass their turn. Has anyone experienced situations in a game where they did not want to make a move? In my own games, I think I've always wanted to make some move. If a bot checks for 3rd time repetitions (which it should) then checking if the move does not change the board position is actually easier to do.
|
|
IP Logged |
|
|
|
Fritzlein
Forum Guru
Arimaa player #706
Gender:
Posts: 5928
|
|
Re: 2008.07.01 Core Rule Changes
« Reply #22 on: Jun 21st, 2008, 6:17pm » |
Quote Modify
|
on Jun 21st, 2008, 5:26pm, omar wrote:I suppose with 3rd time repetition check in place the player that passed first would eventually have to make a move and could not continue to pass. |
| Actually, I think it would work just the opposite. The player who passed second would have to move to avoid repetition. To wit: 1. Player A passes. This doesn't cause a repitition because there hasn't yet been that position with B to move. 2. Player B passes. This causes the position with Player A to move to occur for the second time 3. Player A passes. This causes the position with Player B to move to occur for the second time. 4. Player B can't pass, because it would cause a third occurrence of the position with Player A to move. Quote:I am open to reconsidering the possibility of allowing a player to pass their turn. Has anyone experienced situations in a game where they did not want to make a move? In my own games, I think I've always wanted to make some move. |
| I have never wanted to pass, and I can't recall a game where it would have been beneficial for a player to pass. Actually, how the game plays is the main issue. In chess endgames there are occasionally double-zugzwang positions where neither side can improve position and each player would be better of if the other were forced to move. If you allow passes but disallow repetition, then getting into a double-zugzwang position has the odd effect of forcing the the player who isn't on move to get out of the position. If Arimaa positions are never zugzwang, then the rule is irrelevant. If the rule is ever relevant, though, I would prefer it kept the way it is.
|
|
IP Logged |
|
|
|
omar
Forum Guru
Arimaa player #2
Gender:
Posts: 1003
|
|
Re: 2008.07.01 Core Rule Changes
« Reply #23 on: Jun 22nd, 2008, 8:26am » |
Quote Modify
|
on Jun 21st, 2008, 6:17pm, Fritzlein wrote: Actually, I think it would work just the opposite. The player who passed second would have to move to avoid repetition. |
| Thanks for correcting me Karl. I think I would have preferred if the second player to pass could force the first player to make a move and not the other way around. To achieve this we would explicitly need another rule saying a player cannot pass two consecutive times.
|
« Last Edit: Jun 22nd, 2008, 8:36am by omar » |
IP Logged |
|
|
|
aaaa
Forum Guru
Arimaa player #958
Posts: 768
|
|
Re: 2008.07.01 Core Rule Changes
« Reply #24 on: Jun 22nd, 2008, 8:45am » |
Quote Modify
|
If the repetition rule would not take into account whose turn it is, then the prohibition against passing would automatically follow and you wouldn't need two separate rules.
|
|
IP Logged |
|
|
|
aaaa
Forum Guru
Arimaa player #958
Posts: 768
|
|
Re: 2008.07.01 Core Rule Changes
« Reply #26 on: Jun 22nd, 2008, 9:29am » |
Quote Modify
|
I think you meant this to be your second link: http://arimaa.com/arimaa/learn/matchRules.html Given the goal and elimination victory conditions, it would make sense to continue to stress the importance of rabbits when the time control limit has been reached, that is declare thereafter whoever has the most rabbits the winner with the number of other pieces only possibly serving as a tie-breaker (i.e. using a scoring function like 9*rabbits+other_pieces).
|
|
IP Logged |
|
|
|
Fritzlein
Forum Guru
Arimaa player #706
Gender:
Posts: 5928
|
|
Re: 2008.07.01 Core Rule Changes
« Reply #27 on: Jun 22nd, 2008, 10:40am » |
Quote Modify
|
on Jun 22nd, 2008, 8:45am, aaaa wrote:If the repetition rule would not take into account whose turn it is, then the prohibition against passing would automatically follow and you wouldn't need two separate rules. |
| That is true, although it creates a different oddity. Supposing a position has occurred twice with Player A to move. From then on Player A would be prohibited from creating that position with Player B to move. That's hardly the intent of the repetition rule, since the position with Player B to move is a never-before-seen situation, not part of an endless loop. The inelegance of this little quirk might balance out the inelegance of having a "no pass" rule.
|
|
IP Logged |
|
|
|
RonWeasley
Forum Guru
Harry's friend (Arimaa player #441)
Gender:
Posts: 882
|
|
Re: 2008.07.01 Core Rule Changes
« Reply #28 on: Jun 23rd, 2008, 5:16am » |
Quote Modify
|
on Jun 21st, 2008, 6:17pm, Fritzlein wrote: I have never wanted to pass, and I can't recall a game where it would have been beneficial for a player to pass. |
| Consider a bot bashing position where the bot has been herded into a position where its only legal move is to push the opposing rabbit onto a goal square. Per the previous discussion, the opponent must do something else. My instinct is not to want a PASS option, but only because of the risk of weird side effects like this one.
|
|
IP Logged |
|
|
|
mistre
Forum Guru
Gender:
Posts: 553
|
|
Re: 2008.07.01 Core Rule Changes
« Reply #29 on: Jun 23rd, 2008, 5:43am » |
Quote Modify
|
on Jun 21st, 2008, 5:26pm, omar wrote: But once (much after the release of the Arimaa rules) I was thinking how I didn't like seeing games suddenly end on time if a player did not make a move and ran out of time (this happens to me a lot at Blitz speed . As a possible solution I thought of allowing players to pass their turn and if a player did not make a move within the time allowed then it is as if they passed their turn and their opponent would then get to make another move. Thus, less games would suddenly end due to a player running out of time and more games would have a natural ending (g, m, e), though some might have forced passed turns in them. |
| I don't think it would ever be to your advantage to pass, as this is like giving the bot 4 free steps after which you surely will be in a worse position then you were before that. Having said that, many times in bot games I would run out of time with a full move or partial move programmed, but I couldn't hit the submit button in time. So, an alternative solution (if it is possible), is for the interface to force the programmed move when the time hits 1 sec. (without having to hit submit). Then the only way you could run out of time is if you did not at least have 1 step programmed when the timer hit 1 sec left. Not sure if it is really worth the effort to implement. I definitely agree that passing a turn is not needed nor a good idea anyways.
|
|
IP Logged |
|
|
|
|