What's a good bounty to implement Rengo?

If all player agreed, you can use AI in unranked games. Or more than 1 person per color. Or other variations.

2 Likes

Let me clarify, the bot being discussed here would not at any stage be connected to a move suggester or analyser of any kind. It would purely be some automatic interface to receive move requests from players and make those subsequent plays on a board to facilitate rengo more easily. Basically just some raw python code to receive and play moves…

3 Likes

Well i am talking now on another kind of bot. The one we use to have here playing go as a member of a team

Really interesting. That was not really a clear thing to me according to some Q&A before, when people asked about it. Omitted aspect of the rule.
But anyway i can understand that OGS still don’t want to promote it

I was not aware we ever had such a bot. In this case, we should think of distinguishing names for a rengo playing bot and a rengo assisting bot to avoid confusion of whether ai assistance is a concern to be discussed

2 Likes

Following the aside, I am also surprised to learn we are allowed to use Ai assistance in unranked games. I can’t recall ever reading this exception to the clear rule

"You can NEVER use Go programs (Leela, Zen, etc.) or neural networks to analyze current ongoing games unless specifically permitted (e.g., a computer tournament). "

However the proposed “rengo coordinator bot” would not be analyzing, it would just be coordinating.

“Coordinator bot” is that a suitably clear term?

2 Likes

Maybe “relay bot”? Since it’s relaying moves from the players to OGS?

2 Likes

FWIW, I found this.

“100 hours” is not good news, as it suggests that the code base is so inflexible that indeed a lot of rewriting would be needed to even be able to add new features such as this. Could become a huge sink of resources just to fix the fundamentals of the whole thing from sand to concrete. Not sure how to progress now, I guess a clear decisive word of the project maintainer regarding this is needed to allow us to move forward, otherwise this could just become an endlessly circling discussion.

anoek, the “project maintainer”, already explained that the code base fundamentally assumes a two player game, and that significant plumbing changes are needed to support this particular new feature.

A decisive word regarding what?

We appear to be having useful discussions regarding features and the importance of them, which is good.

We can also read (second hand) that anoek has said that he is already working on it.

To summarise things that are clear:

  • It is a moderate amount of work to implement Rengo
  • Folk are looking at interim solutions (eg rengo coordinator/relay bot)
    (if anyone in addition to shinuito wants to get involved, let me know)
  • anoek is working on it, but has not offered a timeline, because he has other priorites as well (and he never gives timelines for new features anyhow)

I have also speculated that:

  • it would take a substantial amount of money to change anoek’s priority, because it is a substantial task
4 Likes

A clear decisive word whether he is planning to implement this within any time frame so a bounty can actually be applicable, or just leave it dangling around until it may or may not happen in the years to come.
And some details about the implementation he is aiming at (eg. no rating system needed, but a board to click is needed).
And if he has no time frame or priority then what he would need to make it happen / prioritize it so it won’t take years to finish perhaps. Like, how can this undertaking be made “manageable” in his opinion. If he can state what he needs to tackle this but is currently missing, maybe the community can help with that in one way or another.

2 Likes

Here we see it’s not about how much money you offer but when anoek is able to block out a large section of time to power this out. This basically means all current projects need to settle into a state of basic maintenance and server errors / site bugs are also in a fairly stable state that is at least somewhat likely to persist for a time.

These blocks of time do come around, the last few gave us the massive audio update and the latest fix/overhaul for the rating system and the addition of AI to the server.

Now, it seems rengo is near the top of the list for similar upcoming blocks of time. I would tentatively speculate that we might have rengo in the next year or two. More concrete predictions are quite tricky, these things kinda just happen when things fall into place, as since anoek is working alone, there are some things that come up that are unavoidable.

Urgent moves before big moves, as they say :wink:

5 Likes

This offer was subsequently increased to $2000.

Does it apply to volunteers, or only official OGS maintainers (IE anoek)?

Is the “relay bot” a candidate solution, if it provides " Rengo where you actually click to place stones onto a board. Not just “text-based” feeding coordinates via chat input to some bot."?

If so, I might take it on, as an interim solution till the official one arrives, depending how Xmas pans out…

5 Likes

I’m not familiar with the developer hirarchy of OGS. So there is anoek as “boss”, and no other “official” developers?
How would “volunteers” contribute code to OGS though? Is there a git repository for making pull requests?
If several external volunteers all make some kind of contributions to one goal such as Rengo, it might become a bit more difficult to decide who gets how much, especially if the code contributions aren’t public.
Should anoek then have the priviledge of distributing the funds as he will be the only person able to really judge the contributions?
And I have to say I’m not familiar with existing workarounds, such as the existing rengo accounts/bots (?). If someone other than anoek can provide a decently working version I don’t see why he shouldn’t get the funds instead, so yes, totally open for any working solution.

So your idea is to create a so far non-existant “relay bot” that is run by OGS in a chat room and works how? Sorry I have to ask about the details this much but I’m not familiar with the inner workings of OGS yet especially how “bots” are integrated. I only know of chat-bots so far. We’re not talking about 3rd party software that has to be run as binary on the user’s system, right?

3 Likes

The whole front end is open source over on GitHub and regularly has contributions made by regular users.
However the whole back end is still closed source, and effectively anoek is the only one who can see and edit that. He has plans to open it up one day I believe, but just like rengo that is a large project that hasn’t yet found time for itself.

Bots are computer programs that interact with the OGS API. Some are hosted on the OGS servers but most are hosted privately by users. Most of them host some kind of AI for users to play against of all different levels. What is being proposed here is slightly different since the bot would not be deciding what moves to play but rather listening to the game chat to have users suggest moves (possibly, maybe alternatives exist, there are many options).

Correct. Bots run on the host’s server and communicate with the site through API calls, this is a webpage and it never asks you to download anything (except the occasional cookie of course).

1 Like

I think @GreenAsJade is suggesting to be able to do it without the game chat, and just have it work like normal games, being able to click the board.

2 Likes

Yeah I think there are many ideas being floated around currently… we’ll see what comes of what in the end haha

1 Like

Yes.

anoek “owns” this repository, so nothing gets into production without him accepting it.

The process for making pull requests is well established.

This is how OJE was developed.

Typically, volunteers only contribute front-end code. With close conversation with anoek, it was also possible to contribute a special purpose (separate from OGS) backend, which is how OJE was done.

OJE shows us how a Rengo could be done. The front end would be OGS code, just like OJE is, where the players would ask for a game to be set up.

Instead of displaying Joseki, it would display the appropriate game, and which ever player’s turn it is would be allowed to click … the front end would send the requested move to the bot, which would actually play that move into the game that it set up.

Something like that anyhow :slight_smile:

10 Likes

I know it’s not what you want, but in the meantime there is a rengo Discord bot that I threw together a while ago GitHub - dylanross620/Rengo-Bot: Discord bot to play Rengo on the OGS server

7 Likes

FWIW, my “level of interest” in doing something here is warming.

I intend to finish off the redo of OJE back-end (which I’m doing now, in order to speed it up and make it much more compatible with everything else, so anoek can easily maintain it - especially so he can tune performance issues. Right now it’s “totally different technology”, off on the side).

I’ve been intending to have this done some time in Dec.

I’ll also be chatting to anoek about what he would want to see and (importantly) be willing to accept & merge in.

I’m also pondering what is the best way to collect input on:

  • What it should be like, in the end (features, user flow etc) **
  • What it should look like (similar, but different discussion) **
  • What it must take care of in order to collect the bounty. When money is involved, it pays to be careful :slight_smile:
    (currently defined as " Rengo where you actually click to place stones onto a board").

**: note: anoek has the ultimate say in all respects here. We can all input whatever we want (and that input will be great to have) but it’s all anoek’s call.

9 Likes

Right now I’m “collecting requirements” to see what feasibility and effort is like, on the assumption that the bounty offer is still open, and while finishing some other stuff.

When I know what the effort is, and the likely timeline for getting it done, my proposal would be to put this information on the table, start the clock and make some sort of escrow arrangement. I have no idea how that (escrow) works in practice, but I guess we’ll figure it out? :smiley:

At the moment my impression is that this would be targetting Jan/Feb for initial availability.

If this isn’t how it will work, please do say.

6 Likes