Announcing GoReviewPartner - v0.15 with Pachi and PhoenixGo

Tell the community about tournaments, new go sites, software updates, etc.
shamwow
Beginner
Posts: 1
Joined: Mon Apr 16, 2018 6:57 pm
Rank: 0
GD Posts: 0

Re: Announcing GoReviewPartner - v0.11.1 (with Live Analysis

Post by shamwow »

What are the parameters and commands for leelazero on Linux
I currently have

/home/user/desktop/goreviewparner-master/leelaz
--gtp --noponder --weights leelaz-model-swa-16-128000.txt

But when testing goreviewpartner returns errors
-errno 2 no such file or directory

-Using 2 thread(s).
RNG seed: 16163106202285108274
Detecting residual layers...v1...192 channels...15 blocks.
Initializing OpenCL.
OpenCL: clGetPlatformIDs
terminate called after throwing an instance of 'cl::Error'
what(): clGetPlatformIDs


-Could not run LeelaZero using command from config.ini file: home/user/Desktop/goreviewpartner-master/leelaz
--gtp --noponder --weights leelaz-model... no such file or directory


I've ran the py file for leela_zero and still no good.

What might be the problem here?
User avatar
pnprog
Lives with ko
Posts: 286
Joined: Thu Oct 20, 2016 7:21 am
Rank: OGS 7 kyu
GD Posts: 0
Has thanked: 94 times
Been thanked: 153 times

Re: Announcing GoReviewPartner - v0.11.1 (with Live Analysis

Post by pnprog »

Hi!
nasdaq wrote:I like to see the graph, mybe make it always at the bottom of the window.
I am thinking about something like this, but I will probably keep that for v2.0, when I will rewrite GRP using another graphical toolkit. I will try to make that graphs windows somehow "dockable" (<- i am not sure of the word) means that it can float, or be "docked" to some part of the existing interface.

I started experimenting with wxpython few days ago, I will probably go for that toolkit, but I will start probably later this year, in august or after. So in the future, there will be:
  • GRP 1, in python 2.7 and tkinter, for all computers that are stuck with old OS (window xp, windows 7, ubuntu 17.10 and earlier...)
  • GRP2, in python 3.7 and wxpython 4, for computers with recent OS

A way to get rid of the left side board (the one with game variation) is that when the game variation and bot variation are the same, then if user holds down 'shift key' when over the variation it shows the game variation.
I almost never look at game variation because i know it already.
Yep, something like this. Maybe something like "firefox/chrome tabs", and pressing shift move from one tab from another tab. I like the idea of tabs, because one can have as much as one wants. So opening positions for manual play would open more tabs and so one.

As for me, I use the left tab a lot in fact, to check what I played in the game (haha, I am not that good at go to even remember my games) but also I like to have an "empty" board available, to eventually read out other things.

Actually having the game move in a bolder circle might be best to visually see it than have funky 'shift' keys
Ha :o I just remember that in v.10 and before, the letter in the circle was in black if that was the same move as the actual game. I broke that in v.11, planned to fix it for v.11.1 but forgot :roll:

the table of percentages with variations always displayed, and have the current game percentage as well so i know how much less % the move i played was.
This one for sure.

not sure what the left bottom comment box does. it says 'Move 7
Black to play, in the game, black played E16
For this position, Leela Zero would play: E17'
which is nothing i dont get from just looking at the boards.
Here, there is something strange. Normally, the left box is much more verbose now. Here is what it says for Leela:

Code: Select all

Move 8
White to play, in the game, white played R6
For this position, Leela would play: R6

White win probability:
 • before r6: 49.87%
 • after r6: 49.76% (-0.11pp)

White Value Network win probability:
 • before r6: 48.25%
 • after r6: 48.14% (-0.11pp)

White Monte Carlo win probability:
 • before r6: 52.92%
 • after r6: 52.82% (-0.10pp)
It is the same text that is already available in the table windows.

The right bottom box could be replaced with the table of variaton percentages always shown
If I manage to keep only one goban on screen, then there should be enough place to always display the table. But I may have to wait for GRP2 for that, because tkinter (the graphical toolkit used for GRP1) is quite limited.

The start review button after doing a 'run sgf file analysis' doesn't work on my installation. using linux debian.
Could you share the error log for that one?

Thanks for GRP! it really is very usefull and hopefully I've not been to nit picky with my ideas!
No problem, ideas and suggestions are very welcomed :salute:
I am the author of GoReviewPartner, a small software aimed at assisting reviewing a game of Go. Give it a try!
nasdaq
Dies in gote
Posts: 53
Joined: Thu Jan 05, 2017 4:34 pm
Rank: 1k
GD Posts: 0
Has thanked: 3 times
Been thanked: 9 times

Re: Announcing GoReviewPartner - v0.11.1 (with Live Analysis

Post by nasdaq »

The 'start review button' works if i start GRP from a terminal. so 'python main.py'
It was just because i was executing the command from a gui start menu without the terminal. So I guess it works fine, my bad.

wxwidgets/python is a good choice. I've used qt4 before on a project and it was fine with C++. https://sourceforge.net/projects/baduk/

Another choice would be html5 and js, which would be more modern and fun choice. Although that would be a major rewrite of the code...
User avatar
pnprog
Lives with ko
Posts: 286
Joined: Thu Oct 20, 2016 7:21 am
Rank: OGS 7 kyu
GD Posts: 0
Has thanked: 94 times
Been thanked: 153 times

Re: Announcing GoReviewPartner - v0.11.2 (with Live Analysis

Post by pnprog »

nasdaq wrote:I've used qt4 before on a project and it was fine with C++. https://sourceforge.net/projects/baduk/
qt is nice, I had some prior experience making a Go app using qt and python, using pyside. Apparently, wxpython is more "pythonic" than other toolkit using python. One advantage of
wxpython
is that it really reuse the system widget, there are 100% identical, not 90% identical like Qt (or 40% identical like tkinter...) also the installation weight would be lower, maybe the installation easier... Anyway, those are what I am trying to figure out at the moment, I am making a proof of concept. In the end, if wxpython does not do the job, I will use pyside2 which apparently [url=blog.qt.io/blog/2018/04/13/qt-for-python-is-coming-to-a-computer-near-you/]is going to be developed again[/url].

Another choice would be html5 and js, which would be more modern and fun choice. Although that would be a major rewrite of the code...
Would be hard for me. Now that I tried python, I just don't want to try any other language :lol:

By the way, I screwed up my previous update with v0.11.1 (some important commit missing) so I pushed a new update today, v0.11.2, that also fixes the "letter in the circle was in black" issue I forgot in last update.
I am the author of GoReviewPartner, a small software aimed at assisting reviewing a game of Go. Give it a try!
User avatar
pnprog
Lives with ko
Posts: 286
Joined: Thu Oct 20, 2016 7:21 am
Rank: OGS 7 kyu
GD Posts: 0
Has thanked: 94 times
Been thanked: 153 times

Re: Announcing GoReviewPartner - v0.11.2 (with Live Analysis

Post by pnprog »

shamwow wrote:What are the parameters and commands for leelazero on Linux
I currently have

/home/user/desktop/goreviewparner-master/leelaz
--gtp --noponder --weights leelaz-model-swa-16-128000.txt

But when testing goreviewpartner returns errors
-errno 2 no such file or directory

-Using 2 thread(s).
RNG seed: 16163106202285108274
Detecting residual layers...v1...192 channels...15 blocks.
Initializing OpenCL.
OpenCL: clGetPlatformIDs
terminate called after throwing an instance of 'cl::Error'
what(): clGetPlatformIDs


-Could not run LeelaZero using command from config.ini file: home/user/Desktop/goreviewpartner-master/leelaz
--gtp --noponder --weights leelaz-model... no such file or directory


I've ran the py file for leela_zero and still no good.

What might be the problem here?


Hum, terminate called after throwing an instance of 'cl::Error' what(): clGetPlatformIDs suggests an issue with OpenCL, I have such error in Unbutun when I don't use the proprietary drivers, or an old version of the drivers.

Does the command alone works? If you run this:

Code: Select all

cd /home/user/desktop/goreviewparner-master/
./leelaz --gtp --noponder --weights leelaz-model-swa-16-128000.txt


Also, it seems the weight file name is "cut" (leelaz-model instead of leelaz-model-swa-16-128000.txt) but I am not sure. Please double check that the command/parameter in the config.ini file complete.
I am the author of GoReviewPartner, a small software aimed at assisting reviewing a game of Go. Give it a try!
User avatar
sleepyEDB
Dies in gote
Posts: 68
Joined: Thu Mar 29, 2018 1:52 pm
Rank: OGS 25k
GD Posts: 0
OGS: sleepyEDB
Has thanked: 52 times
Been thanked: 6 times

Re: Announcing GoReviewPartner - v0.11.2 (with Live Analysis

Post by sleepyEDB »

Hello pnprog,

I just downloaded GRP with the CPU-only version of Leela for Windows and am smitten...this is some cool software! I wanted to say thank you :bow: :clap: and to humbly share what I think might be the resurfacing of an older bug. Searching this thread for 'handicap' led me to a post you made in March of 2017:

pnprog wrote:Just now, I found a new bug with OGS games I introduced just before releasing the software (OGS marks the first stone as a sort of handicap stone in the SGF file and GnuGo dislikes it...) so I will fixe that and implement some of the above proposals quickly. I plan to release an update this weekend.


Unfortunately I just experienced this bug when reviewing a 9x9 game from OGS as the stone at E5 was black's first move, not an actual handicap stone:

Code: Select all

C:/asdf/Go/Game Files/OGS/9x9/12504196-061-sleepyEDB-levan M,n,T.sgf
gamename: C:/asdf/Go/Game Files/OGS/9x9/12504196-061-sleepyEDB-levan M,n,T
filename: C:/asdf/Go/Game Files/OGS/9x9/12504196-061-sleepyEDB-levan M,n,T.sgf
variation changed! Variation 1 (60 moves)
Adding new popup
Totally 2 popups
bot selection: Leela (Slow profile)
========= move selection
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60]
========= variation
0
keeping only variation 0
size of the tree: 9
Setting new komi
Bot starting procedure started with profile = slow
        bot name: Leela
        bot gtp name Leela
Starting Leela...
Leela started
Leela identification through GTP...
Leela identified itself properly
Checking version through GTP...
Version: 0.11.0
Setting goban size as 9x9
Clearing the board
Adding handicap stones, if any
Setting handicap stones at e5
Setting komi at 3.5
Leela initialization completed
Setting time per move
Saving RSGF file C:/asdf/Go/Game Files/OGS/9x9/12504196-061-sleepyEDB-levan M,n,T.rsgf


I'm not meaning to complain, just posting this for posterity and troubleshooting purposes. If there's anything I can do to help, please let me know. The SGF file is attached for reference. I tried to upload the RSGF file as well but the forum would not allow it. I'd be happy to send it via email or upload elsewhere should you need it.

Thanks,


sleepy
Attachments
12504196-061-sleepyEDB-levan M,n,T.sgf
(835 Bytes) Downloaded 625 times
Playing since: March 2018
The road of life is rocky, and you may stumble too. So while you point your finger, someone else is judging you. --Bob Marley
User avatar
pnprog
Lives with ko
Posts: 286
Joined: Thu Oct 20, 2016 7:21 am
Rank: OGS 7 kyu
GD Posts: 0
Has thanked: 94 times
Been thanked: 153 times

Re: Announcing GoReviewPartner - v0.11.2 (with Live Analysis

Post by pnprog »

Hi!
sleepyEDB wrote:I just downloaded GRP with the CPU-only version of Leela for Windows and am smitten...this is some cool software! I wanted to say thank you :bow: :clap: and to humbly share what I think might be the resurfacing of an older bug. Searching this thread for 'handicap' led me to a post you made in March of 2017:
Thanks for reporting!

One year ago, there were several of aspects of SGF format and GTP protocol (sorry for the double RAS syndrome :mrgreen: ) that I did not quite understand, and this is one of them. And then, I was happy enough that it just works, without looking in the details.

So in fact, "usually" a SGF first move (what you get when you just open a SGF file in Sabaki) will be an empty board (for even game) or a board with the handicap stones if any. Next move will show black first move (or white for handicap move).

OGS adopts another behaviour by showing black first move instead. It really is like if the game starts with that stone already placed on the board, and white to play first.

So GRP interprets it as a sort of handicap stone. As a result, the analysis on the first move is lost, but otherwise the analysis is ok. At the time, I probably thought I could try to change this behaviour (by checking how many of those "handicap stones" there is, and asking for an analysis if only one) but it would not be worth the complication.

That was my thinking one year ago, but in fact, it would be worth the complication. Because then, GRP tells the GTP bot that first move is a (free placement) handicap stone. And then, in most Chinese rule set, this will cost black on point (it's like adding one point to komi for white).

Recently, I spent a lot of time trying to understand how different bots, different rule-sets and different SGF editors score such games, and basically it's a happy mess with everybody scoring things differently :lol:
(no wonder Deepmind did not even tried to have AlphaGo play handicap games!)

I will see what's doable, ideally, the best would be to recognize those three possibilities:
  • Even game that start with empty board or black first move
  • Handicap games that start with empty board or white first move
  • Games with already placed stones of both colors (like in the very ancient Chinese way to play, with cross fuseki already in place). Currently, GRP does not manage that.


EDIT: I almost forgot why I had to announce in the first place: I wanted to share my excitement about the latest contribution I received on github, and an image will explain it best :)

korean.png
korean.png (21.06 KiB) Viewed 16147 times
I am the author of GoReviewPartner, a small software aimed at assisting reviewing a game of Go. Give it a try!
User avatar
sleepyEDB
Dies in gote
Posts: 68
Joined: Thu Mar 29, 2018 1:52 pm
Rank: OGS 25k
GD Posts: 0
OGS: sleepyEDB
Has thanked: 52 times
Been thanked: 6 times

Re: Announcing GoReviewPartner - v0.11.2 (with Live Analysis

Post by sleepyEDB »

Thanks for the prompt reply and the information! I don't envy you having to decipher and marry all those different scoring methods and rule interpretations between the bots, but I do certainly appreciate the effort. If you need any help in testing, troubleshooting, etc. please feel free to ask. In the meantime, would altering the komi value to account for the false handicap stone (I'm assuming decreasing it?) be a sort of workaround? Though since this behavior seems to be exclusive to OGS, maybe this is a good excuse to start playing on other servers... :mrgreen:


sleepy
Playing since: March 2018
The road of life is rocky, and you may stumble too. So while you point your finger, someone else is judging you. --Bob Marley
User avatar
ez4u
Oza
Posts: 2414
Joined: Wed Feb 23, 2011 10:15 pm
Rank: Jp 6 dan
GD Posts: 0
KGS: ez4u
Location: Tokyo, Japan
Has thanked: 2351 times
Been thanked: 1332 times

Re: Announcing GoReviewPartner - v0.11.2 (with Live Analysis

Post by ez4u »

pnprog wrote:Hi!
...

One year ago, there were several of aspects of SGF format and GTP protocol (sorry for the double RAS syndrome :mrgreen: ) ...

Thanks for that, I learned something new! :lol:
Dave Sigaty
"Short-lived are both the praiser and the praised, and rememberer and the remembered..."
- Marcus Aurelius; Meditations, VIII 21
User avatar
Dontbtme
Dies with sente
Posts: 97
Joined: Sun Jan 04, 2015 10:30 am
GD Posts: 0
KGS: 2k
Tygem: 2d
IGS: 1k
Wbaduk: 2d
OGS: 1K
Has thanked: 26 times
Been thanked: 20 times

Re: Announcing GoReviewPartner - v0.11.2 (with Live Analysis

Post by Dontbtme »

So I’ve read the documentation (which I probably did once before but forgot :p) and installed GRP last version, and you’re right, this is exactly what I asked for in my “I have a Dream” post :D
Thank you so much! I’ll report below my experience and thoughts about it, but be sure I’m REALLY grateful of all you’ve done already! :)

First of all, I love the idea of being able to play a given bot while another is analyzing the game! That’s huge!... BUT, I didn't use it here for reasons I’ll explain later :p

So, here’s what I did:
_ I played a game against a bot on Sabaki to have an sgf file.
_ then I analyzed the sgf with GRP, from both colors’ point of view (in order to have my color’s Value Network win rate graph), while asking GRP to only record LeelaZero’s best variation when my moves weren’t what she would have played.
_ When I converted the file into sgf using GRP, here’s what I got: http://eidogo.com/#uwcQC27B

To be clear, I could have used the file as it was already :), but I really wanted a clean sgf, and trying to edit it would have been tricky for two reasons:
_ if my opponent were a weak human like me (instead of an almighty bot ;)), he would have made many mistakes too, meaning I’d have many unwanted variations to cut from the tree.
>> Ideally, I should be able to ask GRP to record my color only, even if he analyzed the game from both points of view (which is necessary to give my color’s Value Network win rate graph).
_ I don’t need the information regarding the win rate at EVERY MOVE, only when I made a mistake to compare it with the win rate given by LeelaZero’s preferred move.
>> Ideally, I’d have my win rate information recorded only when a better variation is recorded as well.

The above is why I didn’t play against the bot on GRP directly to beging with: by playing on Sabaki instead, I have a clean sgf I can easily edit later, because adding ONLY what I want is way faster than deleting everything I DON’T.

So, anyway:
_ Using my color’s (White) Value Network win rate graph, I went directly to moves that were more than 1% worse than LeelaZero’s preferred one (really handy tool :)).
_Then I added the given Best variation to my original file on sabaki, copy/pasting the relevant information (win rate on my move, win rate on LeelaZero’s Best variation)
In the game I played, I added variations and information 14 times (up to move 82, since afterwards, LeelaZero would have resigned at move 92 already :p)
Here’s the final result: http://eidogo.com/#EsRz35C8

In conclusion, I have a NEW dream :p :
Playing a bot on GRP directly while it’s analyzing it, then convert the file to an sgf where I’d have the best variation and win rate information only when my move was worse than LeelaZero’s preferred move by a given percentage.

So, anyway, these were my thoughts (even though I know some things were on the work already). What do you think?
Bored with skillful play? Watch my blunders on my YouTube Channel
mb76
Dies in gote
Posts: 23
Joined: Sun Mar 12, 2017 12:43 am
GD Posts: 0
DGS: embee
Has thanked: 4 times
Been thanked: 3 times

Re: Announcing GoReviewPartner - v0.11.2 (with Live Analysis

Post by mb76 »

AQ 2.1.1 (GPU with Cuda) does not handle handicap games properly.
For example suggestion moves 8/233(G), 15/233(C), 28/233(C) and 64/233(E) overlaps the already placed handicap stone (RGSF).

Attachments:
-SGF file
-RSGF file
Attachments
RSGF 12545576.sgf
Rename extension to .rsgf
(133.07 KiB) Downloaded 586 times
12545576.sgf
Original sgf
(2.06 KiB) Downloaded 612 times
User avatar
pnprog
Lives with ko
Posts: 286
Joined: Thu Oct 20, 2016 7:21 am
Rank: OGS 7 kyu
GD Posts: 0
Has thanked: 94 times
Been thanked: 153 times

Re: Announcing GoReviewPartner - v0.11.2 (with Live Analysis

Post by pnprog »

sleepyEDB wrote:In the meantime, would altering the komi value to account for the false handicap stone (I'm assuming decreasing it?) be a sort of workaround? Though since this behavior seems to be exclusive to OGS, maybe this is a good excuse to start playing on other servers... :mrgreen:
Yes, this is the way to go, especially if you play 9x9, as I imagine you are using Leela for that, and Leela does not use Value Network for 9x9.

Yes, you can decrease the komi by one point.

For other sizes of goban, things would get a bit more complicated: The komi becomes 6.5, but Leela (and all other bots) have value network trained for 7.5pt, so in very closed games (0.5pt wins) they get confused. Leela Zero is the most confused, other bot do better because their monte carlo rolls mitigate that issue a bit.
I am the author of GoReviewPartner, a small software aimed at assisting reviewing a game of Go. Give it a try!
User avatar
pnprog
Lives with ko
Posts: 286
Joined: Thu Oct 20, 2016 7:21 am
Rank: OGS 7 kyu
GD Posts: 0
Has thanked: 94 times
Been thanked: 153 times

Re: Announcing GoReviewPartner - v0.11.2 (with Live Analysis

Post by pnprog »

Dontbtme wrote:So, anyway, these were my thoughts (even though I know some things were on the work already). What do you think?
I am not sure I understood everything 100% (I realize we may switch to French and continue through PM).

Somehow there is some sort of contradiction in the analysis settings, because the options to analyse only black or only white moves does remove a lot of interesting data (the win rate deltas), so most of the time, it best to keep analyse for both colors. But in the same time, some players don't want to be bothered with the opponent best lines of play*.

One possibility could be to offer the possibility to perform the analysis for both colors, but discard the variations for one of the two colors. But I am afraid this would be confusing to many users.

Another possibility would be to propose to discard variations for one or both colors prior to converting from RSGF to SGF. This match your use case, but probably not the use cases for most of other users.

One third possibility would be to somehow replace the RSGF to SGF conversion by a more complete tool box, that allows quick editing of a RSGF file (keep only variations based on several criteria). And converting to SGF would be one of that toolbox features. This could even came separately with GRP.

I need to think about that :)

*Something I quite don't agree with, because I think it is interesting to see what were the opportunities to crush me that my opponent missed, but anyway.
I am the author of GoReviewPartner, a small software aimed at assisting reviewing a game of Go. Give it a try!
User avatar
pnprog
Lives with ko
Posts: 286
Joined: Thu Oct 20, 2016 7:21 am
Rank: OGS 7 kyu
GD Posts: 0
Has thanked: 94 times
Been thanked: 153 times

Re: Announcing GoReviewPartner - v0.11.2 (with Live Analysis

Post by pnprog »

mb76 wrote:AQ 2.1.1 (GPU with Cuda) does not handle handicap games properly.
For example suggestion moves 8/233(G), 15/233(C), 28/233(C) and 64/233(E) overlaps the already placed handicap stone (RGSF).

Attachments:
-SGF file
-RSGF file
Woh, yes, AQ seems to be definitively confused!

Nice find, this is definitively a problem in my code:
  • AQ 2.1.1 cannot undo a move using the standard undo gtp command (the former version could)
  • But during the analysis, I keep asking AQ what is his best next move, then undo his move, then have AQ play the game move, then repeat
  • So to have AQ undo a move, I restart from a clean goban and have AQ replay all moves from move 1, every time
  • And... I forgot about the handicap moves, so AQ don't know about them starting from move 2 :-(

I will fix that!
I am the author of GoReviewPartner, a small software aimed at assisting reviewing a game of Go. Give it a try!
User avatar
sleepyEDB
Dies in gote
Posts: 68
Joined: Thu Mar 29, 2018 1:52 pm
Rank: OGS 25k
GD Posts: 0
OGS: sleepyEDB
Has thanked: 52 times
Been thanked: 6 times

Re: Announcing GoReviewPartner - v0.11.2 (with Live Analysis

Post by sleepyEDB »

Hello,

I switched to Pandanet to try and avoid the 'phantom handicap stone' bug on OGS but I seem to have found another situation in which GRP and Leela do not like 9x9 games...maybe I just need to start playing 19x19, eh? :mrgreen:

For whatever reason, Pandanet assigns a negative komi to black rather than a positive komi to white which throws Leela for a loop toward the end of the game. In this example, Leela considers the game to be over around move 31 and would resign as black even though I actually won by 4.5 points during the actual match. This makes reviewing the entire match rather difficult as the last 1/3 of my moves aren't evaluated. I don't think I have the option of editing the komi when creating the game on Pandanet, but I've tried changing the komi when selecting the file to review in GRP (removing the negative, doubling the given value, selecting a positive value like 3.5 used on OGS) but none of my mods have worked; Leela still thinks black loses and resigns.

What's strange is if I convert the RSGF file into an SGF, the outcome is correct and black wins by 4.5 points. :scratch: Again, I'm just reporting this for posterity and if fixing them isn't deemed worthwhile I fully understand. I can appreciate that this rabbit hole seems to get pretty deep with different servers, komi values, and AI sources and may not be worth fixing. I've uploaded some screenshots (hidden), the original SGF, and the RSGF file (renamed to an SGF to allow the upload) for reference.

The screenshot on the left was taken after the game was completed; I don't think the komi is editable while sending the game invitation
Pandanet9x9Game.png
Pandanet9x9Game.png (245.49 KiB) Viewed 17233 times




Game 1-Bot401.sgf
(635 Bytes) Downloaded 1142 times


Game 1-Bot401 - RenameMeToRSGF.sgf
(99.31 KiB) Downloaded 655 times


Thanks,


sleepy
Playing since: March 2018
The road of life is rocky, and you may stumble too. So while you point your finger, someone else is judging you. --Bob Marley
Post Reply