tl;dr - While you should see no major visible changes in how the clock system works, it should be more reliable now for blitz and live games - but I would love some more testing to see if anyone runs into any issues before releasing the update on the main site. Testing can be done on the beta site (Tip: you can use two browsers if you want to play against yourself so you don’t have to wait for a partner)
Currently if you play live or blitz games on a network that’s across the ocean from our servers, or a mobile network that isn’t as reliable as say a wired connection, you would be wise to not play the clock down the few tenths of a second since if there’s a slight hiccup in the network while you’re making your move, you’ll probably timeout.
I’m aiming to change that though, and on the beta server is an updated clock system that should allow you to reliably play moves down to the wire and should result in less timeouts. The server will still time you out if your connection drops completely, but normal hiccups and variable latency should no longer be the cause of timeouts.
While on the surface the change is minimal, on the back end a number of changes were made to support the new system, hence the request for some more testing as we programmers start to become blind to our own bugs.
Thanks in advance to all that test it out!
I will try some games with whoever wants to (or alternatively alone) tonight, CET time.
Sorry I’m late, I thought I’d come in a little earlier.
I didn’t understand exactly what I was supposed to be trying. I played a few games hoping to find something wrong and hardly noticed anything wrong, I was almost disappointed
The only thing is that I sometimes manage to send moves over the time limit.
I’ll use this game as an example: I managed to submit (without timing out) several moves slightly over 9000ms (see this).
I also saw an “error submitting move”, I think here but I’m not sure. (edit: I’m not sure it was in that game, I’m sure I saw it)
Apart from that everything seems to be ok
Thanks for the testing @_Sofiam !
I did some more games with @shinuito (thanks again!)
There is not much to add, except that it seems to be confirmed that the timer is a bit too lenient. It disappears for a bit (sometimes even seconds) before that the player times out.
This could be an improvement for “normal” games, but it can make ultra blitz games slower than expected. I would prefer to keep the possibility to play very fast games, but I don’t know if this is shared.
Once we both saw a flash error before he timed out:
ERROR: Error: Game is not in progress [phase=finished] last_move 6 F6. Player to move: black 920.
Ah, also an “error submitting move” once
It shouldn’t be that it’s more lenient persay, it’s just relying on the client for sub-second enforcement. The side effect as it currently is is that you’ll sometimes see your opponent’s clock reset by a second or period, or seemingly not timeout right away. I think I’ll play around with that a bit though before release to see if I can do some lag compensation for opponents clock to help avoid confusion.
I would check better Several moves over 9s in the game I linked previously and look at this:
Sofiam vs. shinuito / https://beta.online-go.com/api/v1/games/11994
White should have lost by timeout, no?
Yeah those are the times according to the server, so it’s expected that they’ll be “off” by up to the amount of latency between the server and the client. I’ll look at updating that too so what is recorded is the time according to the client instead.
Okay, sorry. I didn’t understand correctly I think
Oh no, I appreciate the note there, I didn’t even think about that field, and makes me happy you went down into the depths that far
Ok new version up, I’ve introduced some relative latency adjustment to hide pretty much all of the clock jumping effect that would otherwise be observed with high latency connections, and fixed the recorded move time to be correct.
I’ll probably release this live on Monday morning unless folks find any other issues.
Thanks again for testing!
i like the little wifi signal that now pops up for a moment after clicking submit move.
also i wonder if people with better internet see it at all
It’ll appear for a brief moment for everyone. I’m thinking of trying to hide it if it’s expected to be extremely brief, but I was going to wait and see if folks found it distracting or not.
The purpose of it is to let you know that your move is currently being transmitted to your opponent, the clock will start counting down after the symbol is gone - so it’ll be more noticeable when at least one player has a pretty high latency to the server.
hats off to Anoek and the other developers for making a great site!
Ah, I’m not sure it is related but approximately since two weeks I can’t hear any countdown any more in Blitz (I do hear the end of game annoucement). Just played againt my son to be sure, he does not hear it as well. Weird thing is that i’ve not seen any trace of it in the forum (except maybe in this topic) when it is a crucial feature when playing blitz
Related or not, please check this game Partie amicale : white wins in time limit while it is white’s turn ?!?! How is it possible ? (never seen this in 5000 games)
Looks like some order of events problem. Black took 5.2s to play their final move which means they timed out, but for some reason the server saved and displayed their final move before noticing that and ending the game.
That seems pretty likely, though it certainly should have manifested differently - I’ll look into it.
What browser and operating system are you using?
@dhpmrou - does this sound right to you, do you think it took a little over 5 seconds to move, or did you move within a couple of seconds?
I ask for debugging purposes. My current theory is that there was a hiccup in the network, I suspect you submitted a move probably within a couple of seconds but it took longer than expected and the time difference exceeded the grace period the server allows for, and so I suspect there’s some funky issues that could arise there. Knowing if you thought your move was within a couple of seconds, or could have exceeded 5s would help me track down the issue though.