Author |
Topic: Twice time counting (Read 557 times) |
|
arimaa_master
Forum Guru
Arimaa player #2010
Gender:
Posts: 358
|
|
Twice time counting
« on: Apr 19th, 2007, 8:06am » |
Quote Modify
|
I wonder why the game time is counted twice. I mean why my time is ticking although this is not still my move (so I guess that If I am able to move - I have six sec less - this is really annoying especially with blitz time control). I must wait those 6 sec - so if I have 15 sec per move - actually I have only 9 sec per move. I think this situation prevent to bring new faster time controls (like 10 sec per move or 5 sec per move). But main reason is that it shouldn´t be normal behaviour! I "re-noticed" this thing today when I wanted to know how much time was used by bot_arimaa_score_p1 and p2 respectively. But I saw only that they both used only 0.10 min (6 sec) per move due to problem mentioned above (actually they moved promptly). Am I alone who thinks that it should be fixed?
|
|
IP Logged |
|
|
|
RonWeasley
Forum Guru
Harry's friend (Arimaa player #441)
Gender:
Posts: 882
|
|
Re: Twice time counting
« Reply #1 on: Apr 19th, 2007, 11:33am » |
Quote Modify
|
I suggest that a side's timer should not start until the display completes the opponent's movement. Only then does the player know the game state in which the next move is to be made. This means that there would be a dead time between moves while the display changes where neither timer is decrementing. This account for any transmission lag time as well.
|
|
IP Logged |
|
|
|
arimaa_master
Forum Guru
Arimaa player #2010
Gender:
Posts: 358
|
|
Re: Twice time counting
« Reply #2 on: Apr 20th, 2007, 1:59am » |
Quote Modify
|
on Apr 19th, 2007, 11:33am, RonWeasley wrote:I suggest that a side's timer should not start until the display completes the opponent's movement. Only then does the player know the game state in which the next move is to be made. This means that there would be a dead time between moves while the display changes where neither timer is decrementing. This account for any transmission lag time as well. |
| Good, it should be the solution. Thanks for replay Ned.
|
|
IP Logged |
|
|
|
Janzert
Forum Guru
Arimaa player #247
Gender:
Posts: 1016
|
|
Re: Twice time counting
« Reply #3 on: Apr 20th, 2007, 11:30am » |
Quote Modify
|
The problem is there is no way to know for sure on the server when the client has finished displaying a move. The client can send a signal back but you can't trust the signal since someone could modify the client to give them extra time before sending the signal. About the best you can probably do is add a fixed amount of time to each move to compensate for network lag and any client display delay. Personally though I don't think it's worth it, just play at a longer time control if needed. It's the exact same effect except for the psychology of it. Janzert
|
|
IP Logged |
|
|
|
Fritzlein
Forum Guru
Arimaa player #706
Gender:
Posts: 5928
|
|
Re: Twice time counting
« Reply #4 on: Apr 20th, 2007, 1:06pm » |
Quote Modify
|
Or you could do what the Internet Chess Club did to compensate for lag. Have the client report the actual time taken client-side, and encrypt the message, and make the client binary-only so that it is harder to hack.
|
|
IP Logged |
|
|
|
Janzert
Forum Guru
Arimaa player #247
Gender:
Posts: 1016
|
|
Re: Twice time counting
« Reply #5 on: Apr 20th, 2007, 7:34pm » |
Quote Modify
|
Yes, the key part there being that it makes it harder. Any client side information can be hacked and the chance that it actually will be hacked seems to approach unity as the popularity goes up. Janzert
|
|
IP Logged |
|
|
|
seanick
Forum Guru
SeaNICK
Gender:
Posts: 97
|
|
Re: Twice time counting
« Reply #6 on: Apr 22nd, 2007, 8:36pm » |
Quote Modify
|
its always possible to hack, but then again, its possible to hack the arimaa server too, and as the security designed into the client improves, that might become the easier of the two problems to solve. And, although I really like this approach, I think for time sensitive games, there is a really easy way to exploit it- don't allow the current client to update after sending your own move- then use another computer which you aren't logged in to to observe the opponents move- thus you can see what their move was without starting the timer for your own, and you can take your time to respond. I would think that for games like that it would have to withhold the info from any of the spectators until the client from the user whose turn it had become sent confirmation that the user had seen the move on their display. I tried to design a game where the offset from the time the user saw the move to the time the user sent theirs was used to determine who actually made their move the fastest after the condition happened (the game was egyptian war, where you can slap the stack if there is a match between the last two cards played, in order to pick up the whole stack). Unfortunately I got sidetracked with .NET framework issues and up until now still havent resumed work on it. Maybe I'll go take another look while its fresh in my mind...
|
|
IP Logged |
|
|
|
omar
Forum Guru
Arimaa player #2
Gender:
Posts: 1003
|
|
Re: Twice time counting
« Reply #7 on: Apr 22nd, 2007, 9:36pm » |
Quote Modify
|
While developing the Arimaa client/server I had decided that all real time used during the course of the game should count towards one player or the other. My reasoning was that in an OTB situation with a regular chess clock all real time counts towards one player or the other. There is probably about a 100 ms delay between when a player finishes making a move on the board and when they hit the button on the clock. This is about the same as network delays in sending the move from client to server. I also decided that it takes a human player some time to comprehend the move that the opponent made. Thus, the time to animate the move counts against the player. If the client program were to show the move instantly (without animation) and start ticking your time, you would probably still want to hit the "Show" button to see what happened. However some human players require less time to comprehend the opponents move than others. So I think the real solution would be to have the client program allow the user to control how fast to animate the opponents move. The user should be able to select down to 0 seconds for the animation speed. The new client will have this feature.
|
« Last Edit: Apr 22nd, 2007, 9:43pm by omar » |
IP Logged |
|
|
|
arimaa_master
Forum Guru
Arimaa player #2010
Gender:
Posts: 358
|
|
Re: Twice time counting
« Reply #8 on: Apr 23rd, 2007, 3:51am » |
Quote Modify
|
on Apr 22nd, 2007, 9:36pm, omar wrote:While developing the Arimaa client/server I had decided that all real time used during the course of the game should count towards one player or the other. My reasoning was that in an OTB situation with a regular chess clock all real time counts towards one player or the other. There is probably about a 100 ms delay between when a player finishes making a move on the board and when they hit the button on the clock. This is about the same as network delays in sending the move from client to server. I also decided that it takes a human player some time to comprehend the move that the opponent made. Thus, the time to animate the move counts against the player. If the client program were to show the move instantly (without animation) and start ticking your time, you would probably still want to hit the "Show" button to see what happened. However some human players require less time to comprehend the opponents move than others. So I think the real solution would be to have the client program allow the user to control how fast to animate the opponents move. The user should be able to select down to 0 seconds for the animation speed. The new client will have this feature. |
| Great! Thanks!
|
|
IP Logged |
|
|
|
|