Coder Social home page Coder Social logo

Comments (22)

lj739 avatar lj739 commented on July 30, 2024 1

from goban.

popojan avatar popojan commented on July 30, 2024 1

Released. Displays primary move. Thanks for the idea.

from goban.

popojan avatar popojan commented on July 30, 2024

Hi, sorry to say that, I am not working on an analysis function yet. I just collected all the ideas on possible enhancements and was considering making a poll to prioritize them. However since you seem to be the only one giving feedback, you get the priority.

Moreover, your request is in line with an idea Engine console, displayed on the board.
If this is done correctly, we could also get rid of the black background window.

from goban.

popojan avatar popojan commented on July 30, 2024

Would you tell me please, what exactly in the KataGo GTP output do you look at to evaluate your move? Could not such information be optionally displayed, e.g., already when you hover over intersection when planning your move? I'd prefer not showing analysis information for all points at once when in ordinary playing mode.

GTP console is sure thing to be added, I am just thinking about a way to display such information right on the board.

from goban.

lj739 avatar lj739 commented on July 30, 2024

from goban.

lj739 avatar lj739 commented on July 30, 2024

from goban.

popojan avatar popojan commented on July 30, 2024

I am afraid I don't see any image attached, please add it later to your post.

Nevertheless, good thing is the whole GUI overlay is customizable by editing html/css like code, at the moment in data/gui/goban.{rml,rcss}. So the main task is to extract stderr logs from katago (current goban redirects them to /dev/null) and choose appropriate lines for display. I will try to code this in a more general way. Shared message area at the bottom is a good candidate for placement of such information.

from goban.

lj739 avatar lj739 commented on July 30, 2024

20200526081309

from goban.

popojan avatar popojan commented on July 30, 2024

Thank you! I guess I figured it out. Don't you mind waiting till computer moves and displays such info?

There is a proof of concept build with basic functionality. You set up regular expressions to match parts of an engine standard error output, and these are then displayed in the status area. I can guide you to tweak the regular expressions.

from goban.

lj739 avatar lj739 commented on July 30, 2024

Human player must wait computer moves then get such display info, if you get this info in advance, playing with katago is meaningless. This info must have a option to hide, so when you don't want to see this info and want to play against katago with your own wisdom, you can just click a button or something else to hide it. On the image above, w means win rate, the second means how many stones your opponent is in the lead.

from goban.

lj739 avatar lj739 commented on July 30, 2024

There is no status area on goban gui. Do you mean the separated black window? I'm not familiar with code language, but I can have a try if you give some instructions.

from goban.

popojan avatar popojan commented on July 30, 2024

Well, let us wait till tomorrow I will polish it a bit more. No, not the separated black window, I mean the area near bottom border of goban screen. Usually empty, except pass moves, resignation and similar info.

If you have a look inside data/config.json you see katago section with an array called messages:

"messages": [
    "Controller:( )",
    ":.*(T.*)"
]

Each line in quotes is a regular expression, pattern that is matched against katago standard error output. If you delete these no info is displayed at all: "messages": []. If there is any pattern and matching line in katago output, the GUI will display the matched part of the line captured between parentheses (). There are characters with special meaning, e.g. . stands for arbitrary character, * means repetition zero or more times, ^ stands for the very beginning of line. It is powerful and well documented.

We can start simple by:

"messages": [
    "^:.*(T.*)"
]

which should display the line right above ---White(^)--- in katago output. The numbers slightly differ from the first line below, if you need that one I will have to tweak the logic a bit :-)

Then I added another pattern Controller:( ) matching empty space. Such lines appear in katago output when human moves (issues gtp commands). That should be responsible for hiding previous evaluation when player performs next move.

You are welcome to play with this feature and become familiar with that language, or you can wait until I tweak the patterns for katago 1.4.2. Moreover the engine needs to be also set up in the json: path to the executable, parameters, name for display etc., and finally "enabled": 1. I hope the attributes are self-explanatory.

The goal of my effort is to make goban highly customizable, inviting modders when it is ready :)

from goban.

lj739 avatar lj739 commented on July 30, 2024

from goban.

popojan avatar popojan commented on July 30, 2024

Yep, in the new one.
Should appear also on the website after refresh.

from goban.

lj739 avatar lj739 commented on July 30, 2024

from goban.

popojan avatar popojan commented on July 30, 2024

Yes I know, sorry, I screwed the regular expression when packing the files.
Please add ^ at the beginning of the pattern, as shown in the above lenghty post.

from goban.

popojan avatar popojan commented on July 30, 2024

Please try this patch as a hotfix for your usecase.
I will take my time and work more systematically from now on :-)

from goban.

lj739 avatar lj739 commented on July 30, 2024

from goban.

popojan avatar popojan commented on July 30, 2024

It is a pity. Here it worked, matching the bold part of the highlighted line:

Tree:
: T 11.94c W 11.71c S 0.23c ( +1.3 L +0.8) N 505 -- Q4 Q16 D16 D4 R6 C17 C1
---White(^)---
Q4 : T 12.10c W 11.86c S 0.24c ....

Do you have such in your KataGo output?

Good point with the undo. Setting "enabled": 0 for pachi should suffice.

from goban.

lj739 avatar lj739 commented on July 30, 2024

from goban.

popojan avatar popojan commented on July 30, 2024

uh, less whitespace \\s than expected
let's change one + to *

from
^:\\s+T\\s+[^\\s]+\\s+(.\\s+[^\\s]+).*\\(\\s+([^\\s]+\\s+.)
to
^:\\s+T\\s+[^\\s]+\\s+(.\\s+[^\\s]+).*\\(\\s*([^\\s]+\\s+.)

from goban.

popojan avatar popojan commented on July 30, 2024

Fine. Next release will come with regex error checking and logic to display primary move info. For watching bot matches it is better to delete Controller:( ) pattern, so that the evaluation info does not disappear that fast.

from goban.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.