OGS Automatch proposal

I think we’re approaching the user mass necessary for an automatch feature. There are three distinct styles that I have seen on other servers.

1.KGS style: The user is presented with a standard options (ranked/free, bots or no, rank range, etc…) and a set of condensed time options, fast, medium, and long. The user challenge is then checked against a queue and matched up with the first player in the queue with matching settings

Pros: Simple, easy for users to get going quickly
Cons: Coarse controls over time settings

2.IGS style: The user is presented with options similar to KGS, but with a bit finer control over time. The system then challenges any player that falls within the rank range set by the user until someone accepts.

Pros: Finer control over time settings
Cons: No negotiation, so a challenged player, who might be willing to play under slightly different conditions has no option to counter offer

3.Wbaduk/Tygem style: Every player in the rank range (+/- 1 stone is the only option I think) is challenged, once a player accepts both players negotiate conditions for the match

Pros: Very fine grained control over game conditions
Cons: there are times when the first person to accept challenges does not want to play the same game as the challenger. Once you decline, the process starts over again. If that player is at the beginning of the players list, anyone after does not get your challenge as the process stops. I have personally declined the same person 5-6 times in a row before giving up. Also, restrictive rank range.

Proposed solution: We blend the styles. When a user wants to use the automatch feature, they are presented at the beginning with a simple set of options, rank restrictions, free/ranked, bot or no, etc… As well as general time setting, fast, medium, slow, etc… The player is put into a queue until a similar player is found, then the players negotiate the finer details of the game. If there are no players in the queue that match the users requested settings, the system could possibly look through open challenges for games that match and present that challenge to the user (with no option to negotiate, since the challenge is posted as open, rather than automatch).

Using this system (or something along these lines) we can offer the users an automatch that is simple to get started, offers fine grained control over the time settings, and avoids the situation where a single user at the beginning of the players list can stymie your efforts to find a game by offering terms you don’t want to accept and then forcing you to start the process over.


How do they negociate the details? I mean, how’s the process? Do they modify a box simultaneously and check if they’re ok with the settings? If this is the case, the box could have a chat minibox to make an agreement.

On Wbaduk/Tygem the challenger is presented with a screen that has game options. The challenger sets the conditions and offers them to the challenged. If the challenged player accepts, they move on to the game. Otherwise, the challenged player can modify the settings and return the controls to the original challenger. If the settings are satisfactory, the challenger accepts and they proceed to the game. Otherwise, the challenge is declined and the challenger moves on to the next available player with matching general settings.

Ah. What do you think about a real time edition like stone removal phase?

EDIT: I like that system too though! I think it’s simple and effective.

1 Like

Now that I thought about it, my idea would be a bit chaotic. I vote for your proposition, @crodgers.

So in your thought process, are you thinking that we’d keep the seek graph and existing detailed challenge system in addition to the new automatch system? If so, it seems like maybe we could allow auto-matches to match against those games (in addition to auto-matching against other auto-matchers), and leave the detailed game creation process there maybe? So essentially, if you use the auto-match functionality you select the basic options you’re looking for, then the server searches against existing open challenges and other auto-match candidates to find you a good game. If you are looking for very specific settings, create it with the current open challenge system, if you’re not feeling too picky, use the automatch?

I guess the key question is do we actually want an additional step to negotiate the settings, or is it good enough to say, if you’re picky, make the game you want and await an opponent?

I hadn’t actually considered eliminating the open challenge system, but now that I think about it…

I know it’s standard practice on go servers to have a list of open challenges, but unless we have a game lobby, similar to KGS where the owner of the open challenge can decline players, I am starting to wonder if it’s necessary for us to maintain an open challenge list in it’s current format. An fine control automatch system, along with the ability to directly challenge individual players should cover the large majority of use cases.for finding a game. Also, once the ignore list is available for games, users won’t have to worry about accidentally playing someone.

An interesting (somewhat random) thought about eliminating the open challenge format. When you accept an open challenge, you submit to your opponent’s settings. Under a system of automatch and negotiation, the game would be democratic, albeit in the extreme micro case.

In addition, this system would give the users a de facto decline option (irony :stuck_out_tongue: ) .

If we’re concerned with too many details for the user to work through in the automatch process, the broad strokes options could be saved in preferences, since they are least likely to change. In my experience, most users prefer a particular type of game.

This would be a radical departure from standard go server behavior though and radical departures usually cause some blow back. So, maybe the current open challenge system plus a more conventional KGS style automatch would be sufficient?

Some market research might be useful in this case.

Maybe something along these lines?


Once we have a good idea from that, we could create another for features on the automatch.

Excellent :slight_smile: Very curious to see what folks say

Though I guess it doesn’t address the issue of whether folks want to have a negotiation phase or not… though not sure how best to phase that in poll form

I think that once we have an idea of how people want to find their games, we can create polls to fine tune those areas. I.e. A poll that offers a choice between KGS style, IGS style, and Wbaduk/Tygem style. After that we can continue to refine.

We have plenty of time, so we can get pretty detailed if we want to.

I would say that as long as you keep the system simple, everything is going to be fine. Here’s my idea:

First of all, to Blitz, Live and Correspondence time controls I would add at least two more in the Open Challenge box. For example, Blitz, Fast, Normal, Slow and Correspondence. Each of them having a default time setting in preferences.

So, when creating a challenge, there would be some modifications.

  1. All the fields fields except the specific time control parameters are unblockable. If you block all of them, you have a conventional open challenge. In particular, if you block game speed and time control, then you can specify the exact time parameters.
  • If you unblock some of them, the system will try to pair you with the following condition: All your blocked fields must be equal or unblocked in you opponent.
  • When the server finds a posible match, the negociation phase let the players change only the fields that both players had unblocked. This is done like @crodgers said. Being: first the challenger sets his preferences and sends them to his opponent; then he accepts or modifies them and send them back again to the challenger; and in this last case the challenger accepts or rejects them. If he rejects, they’re back again in the queue.
  • Correspondence games can’t be automatched. In my opinion, it’s not necesary to make an automatch system for correspondence games. Besides, OGS already has a large flow of correspondence games and the system works just fine, and I’ve never heared someone wanting it for that matter.
  • The option pause on weekends is only available for correspondence games, so it’s not unblockable.
  • Ranked games should have handicap, color and komi fixed at automatic and analysis disabled.

Maybe this system is simple to me but not for most people, so please be critical in your feedbacks. :wink:

EDIT: I added point 6.

IMO, automatch systems are only good once a game/site gets to a certain critical mass of players online at all times. Automatch systems on less populated games tend to search for a long time and by the time a match is found one of the players has gone afk and the game will be cancelled due to inactivity. So I think its a good idea to have and start thinking of / working on but at current levels on the site I don’t see it being very useful

The idea is to get to it in time, when it becomes necesary.

Why not just leave it as is with the open lobby and add a quick join option with filters for preferred game options, if no game is found with these filters then prompt the user to create their own lobby.

This also solves the issue of queue times when less players are online.

Although I’m new I very much enjoy the current open format and I hope it doesn’t lose any personality with a new system.

Yeah i agree with Rvzy. i dont see the good in removing one way to find games for another. Give the people options…

My only problem at the moment is that I see games I am not qualified to play in the chat channel.

My chat channel would be less of a crap flood if only in the ones I qualify for appeared in chat.

Maybe there can be a second box somewhere. Maybe the lower right where all the games I qualify for are constantly scrolling. Would definitely want an option to turn it off in a game Window.

As it is, you can only see what is essentially perpetual auto match already if you are in a chat channel and OGS does not force you into the main channel.

So, after having some intense discussion about how we find games, I have changed my mind about this proposal.

Advanced filtering and plotting on the seek graph (by rank, time limit, board size, handi, etc…), coupled with an option to allow negotiation on open challenges will suit our needs on OGS quite nicely, I think.

In the event that you allow for negotiation on your open challenge, other players would be prohibited from accepting the game until current negotiations have ended.

If you choose to disable negotiation, then the system will work as it does presently, where anyone who meets your challenge criteria may accept the game.

1 Like

But sometime there will have to be a loop that matches players with equal settings (or similar but negotiable). There will happen that two opponents leave a challenge open with the same settings and they keep waiting for someone to accept it when they could play together.

I think, in the absence of a feature labeled “Automatch”, the users will recognize that the system won’t make those matches for them and act accordingly. Anecdotal but, I know that I look at my challenges on the seek graph after I post them. If I wait too long and I see a similar challenge, I will close mine and accept the other.

I have seen this in practice on OGS. A player posts a challenge very similar to an already open challenge and the original challenger cancels their game to accept the new one.

@SunPin You can turn off challenge notifications. Hit the wrench on the seek graph.