Omoyo - The Most Human-Like Go AI

Hey everyone,

I’ve been a Go enthusiast for years, and I’ve noticed three common problems that many of us in the community seem to struggle with:

  1. The IRL struggle: Hard to find local clubs or players nearby.
  2. Online stress: Between “ladder anxiety” and the occasional toxic encounter, it’s hard to just sit back and enjoy a truly casual game.
  3. “Inhuman” AI: Most AIs play “inhuman” moves that are nearly impossible to understand. It’s hard to improve when your opponent plays like a cold machine.

So I built Omoyo.

The goal was to create the most human-like Go AI experience. Instead of a faceless engine with a strength slider, you face thousands of unique characters. Each has their own occupation, distinct playstyle, and even realistic “human” blunders. It makes the game feel “alive” again.

You can check it out here: https://omoyo.app
(Supports Android, iOS, and Web)

Small heads-up: I’ve also added a puzzle section, but the database is still being optimized, so you might find some glitches or weird solutions there. I’m working on it every day to make it better!

I’d love to hear any feedback you have!

Cheers!

13 Likes

oh, you are the creator of Dango

great job

1 Like

I know there are similar apps like this for chess and beginners coming from chess have been wishing for something like this for years.

Hope it will gain traction

pls also promote it on reddit

1 Like

I tried posting on r/baduk today, but everything I posted got auto-filtered :slightly_frowning_face:. If someone could help repost it on Reddit, that’d be great. Otherwise I’ll just wait a few days and try again.

I got here from Reddit, so that has helped!

Can you say a little about what you have done to humanise the AI — how you have done better than the KataGo human model — or is that your trade secret? It is worth doing if you can do it well, particularly for ranks weaker than 15 kyu.

1 Like

I like it. Played a few games and the games are nicer than normal ai games.

The UI is mostly good but the move confirmation on 19x19 is awkward. The AI descriptions are way too long. I assume they have some sliders on their personality, maybe
display that so I can just look at their settings instead of reading 3 paragraphs and guess.

1 Like

Congrats and props to you for your hardwork.
I wanna suggest you the chess app Dr. Wolf and see if you can somehow Implement its teaching mode, because nothing like that exists for Go yet

1 Like

Hmm, I just played “Ashley Jones” - described as a marketer who “thrives on chaotic counter-attacks.”

She consistently played the most conservative moves, standard joseki, and defended cuts. I made a mistake in the lower left, which she took advantage of to win, but not once did she launch what could be called a counter attack. After the game, she told me “that squeeze was pure fun, try harder next time” - but no squeeze occurred in the game.

I don’t see any way to download an SGF, but here’s the final board state - you can see that both players just conservatively pushed along and made large territories.

Is the go AI humanized, or did you just use chatgpt to create a bunch of profiles as window-dressing?

8 Likes

Thanks for the testing!

Fine-tuning their playstyles is the most important part of the work. They follow general vibes, like being aggressive, calm, “old-school,” or focusing on the center. But some of the specific move descriptions might be a bit off or have some errors for now.

I’m updating things every day, so give it another go later, you might notice a different feel.

Thanks again for trying it out!

Huh, but you didn’t answer the question: how are they caused to “follow a vibe”?

And why didn’t Ashley follow her vibe?

4 Likes

To give you an idea, every move is chosen from dozens of possible moves. We use many different strategies to pick the final one. If the settings are too strong, you get weird moves; if they’re too weak, it doesn’t feel like the right style, and at the same time, it should be appropriate for the rating. It takes a lot of tweaking. That’s why your feedback is so helpful, it helps us improve from day one.

Mmm, not very informative.

9 Likes

I got unexpectedly heckled by a bot for taking too long on a move!

:smiley:

3 Likes

Hi everyone,

It’s only been 3 days since I launched Omoyo, and honestly I’m just really glad that people are actually giving it a try. I really appreciate that.

I’ve been playing Go for about 8 years now — started on Fox, and moved to OGS a few years ago because I really liked the atmosphere here. Some of you might know me from the Dango app or the bots I’ve been running over the past 2 years. Over the years, two people have sent me a few dollars donations, and I’m really grateful for that — it was just a nice reminder that what I was building was actually useful to someone.

The idea for Omoyo came from something pretty simple — I personally find real games online a bit stressful sometimes, and I wanted to build something more relaxed, where people can just play without too much pressure, something that hopefully makes it a little easier for people to just enjoy the game.

I know the current version isn’t great yet. There are still a lot of issues with the design and the playing style, and I probably released it earlier than I should have. That part is on me. The play styles you see now are based on a lot of different strategies I’ve been testing, but I haven’t been able to fine-tune them as much as I wanted to. I was just really excited to share what I’ve been working on with the community. I’m sorry if releasing it early caused frustration or disappointment.

I did see some comments saying I “lied”, and I’ll be honest, that was hard to read. There really wasn’t any intention to mislead anyone — I think it mostly comes down to me not explaining things clearly enough. Sorry again if that caused any confusion or frustration.

Anyway, thanks to everyone who gave it a try. I really do appreciate it.

7 Likes

Please don’t take things to heart. Most go projects as of my knowledge starts from the need to build something for MYSELF, that’s how I ended up making 3-5 go projects myself and I believe the community devs are fuelled by similar thoughts… so build things as an user, only take constructive criticism & ignore the rest…

1 Like

First of all, let me congratulate you on this excellent work. I’ve played two games and was pleasantly surprised.

Here are a few suggestions for improvement:

  • The ability to download the SGF file.
  • Provide an interface for AI analysis, such as OGS or, IA-Sensei.
  • Last but not least, why not collaborate with OGS to provide a way to play directly from the OGS interface ? I think it is possible with OGS API.

In any case, keep up the good work and thank you for everything you do for the Go community.

Translated with DeepL.com (free version) Because english is not my mother language.

Hi, that was probably me! Not to be mean or hurt your feelings, but because it really doesn’t look like your app does what you say.

If you are being truthful that the AI is humanized in some new and meaningful way, why not say what that is? You just say “many strategies” - but this dodges the question.

Or, when you say “i haven’t been able to tune it enough yet” do you mean that it is not actually humanized at all yet? Because if so, that is kinda dishonest.

Are any of the profiles humanized in a way we can detect? Which one? No one on reddit was able to find an example.

1 Like

Thanks for the reply. I think I didn’t explain myself very well. What I meant was that all the bots are actually human-like, which I think is noticeable with playing few games, but I’m still tweaking their play styles, like you said the aggressive bot is not aggressive enough, so it might not be that obvious right now. Let me find some examples to show you, might take a bit of time.

And I just want to clarify what I mean by “human-like,” since I think that can be interpreted in different ways.

For me, it includes a few things:

  1. A sense of playing against a “person”, not just an engine — something that feels more like a real opponent. The goal is a more relaxed, game-like experience, rather than something purely analytical.
  2. Playstyle — humans don’t always play the most efficient move. Depending on strength, there are more mistakes — but they should feel like natural human mistakes, not just random ones. Also, humans tend to follow the flow of the game more, instead of constantly tenuki-ing.
  3. Different playing styles — like more solid vs. more aggressive, or territorial vs. influence-oriented. I’m still working on this, and it’s not quite where I want it to be yet. It’s more complex than I expected, so this part isn’t quite there yet — as I mentioned earlier.

It already achieves that - any further development is gravy. I’m really enjoying it, although tbh at the moment I’m just terrorizing 400 bots while fantasizing that I’m a 5 dan wasting low dans.

Okay, this is my last post on this, think we’re retreading the same ground. :slight_smile: And yes, this project may have potential, and it may fill a need, no arguments there.

But you say “Ultra-humanized algorithm that feels just like a human. Every move is so natural it completely blurs the line between human and machine”. Yet you have not described even a single method by which you tried to achieve this, and do not show an example of such play. You say it’s harder than you expected - yeah we know! That’s why it doesn’t exist yet.

You do not need to re-clarify what you mean by this, it is clear. Actually back up the claim! It would be cool to hear about a method for achieving this human-like, stylistic play, and to see it in action.

1 Like