This may be too deep in the weeds, but I might also suggest for consideration: prefer correspondence games where the opponent has just made a move (or where the opponent is online?), if there are no other urgent games.
It’s nice to sometimes temporarily switch to an almost “live mode” on a correspondence game. So unless my clock is really low somewhere, I would rather respond to a recent move (and maybe get another response!) rather than contemplate a game where the opponent isn’t around and there is plenty of clock time.
As for a note technical question - what happens to the “session” if something changes? Eg, if an opponent makes a move in a live game while I’m 7 correspondence games into my session. Presumably we’d have to forget about the position and show the live game? Would it help to have separate “urgent” and “whenever” queues inside the session?
You shouldn’t be leaving live games, I can’t remember the ins and outs but the expectation is that you will play live games live. If you leave you should get notified not to do that and ultimately will trigger disconnection loss and all that.
If you have an Apple device, I’m happy to send you an invite to my beta OGS client, it does auto-advance sorted by when your next move is due (but doesn’t currently prioritize absolute time games or any of the other fancier sort algorithms proposed in this thread).
Burned a few tokens on it. Claude says the urgency-based advance is implemented. So either it’s not random, or there’s some bug making it random, but it’s not supposed to be.
Claude's Summary
Re: What algorithm does OGS follow when choosing which game to play next?
It’s actually not random — it just looks that way. I dug into the frontend code (NotificationManager.advanceToNextBoard), and here’s what it really does:
1. It builds a list of candidate games. First it looks at every game where it’s your turn. If there’s at least one, those are the only candidates. Only if there are zero games waiting on you does it fall back to games where you’re waiting on your opponent.
2. It sorts that list by clock urgency. The games are ordered by clock expiration, soonest-to-expire first. So the game closest to timing out sits at the top of the list.
3. It cycles through the list with a counter. Rather than always jumping to the same board, OGS keeps a running counter that advances one position each time you move or click “next game.” So consecutive advances walk down the urgency-sorted list and wrap around at the end. This is the part that makes it feel random — you’re rotating through your games rather than landing on the same one every time.
4. Live vs. correspondence differ slightly. If you just played a move in a live game (or you weren’t on a game page at all), it snaps straight to your single most-urgent board. For correspondence moves it doesn’t reset — it keeps rotating through your list of games-to-move-on.
There’s also a small guard so it never sends you back to the board you’re already looking at.
So the short version: it prioritizes the games nearest to timing out, and cycles through the rest in that order. The “randomness” people are seeing is really this rotating counter combined with a list whose order keeps shifting as clocks tick down and games come and go.
What I noticed is that no matter which game I start with, it always advances to the same next game, but that game is not the game with the least remaining time. In fact, my opponent is on vacation in that next game.