goreviewpartner
goreviewpartner copied to clipboard
a web version of this application
Could you please develop a web version of this application, so that it would be convenient for go fans around the world to review their games using ai analysis, improving their go skills.
Hi!
Thanks for the suggestion. I think a web version of the application would be possible, at least to be used as a RSGF viewer:
- One direct benefit is that it would be possible to review the game directly on a smartphone or tablet. At the same time, the interface would have to be adapted for touch screen: no more "mouse over" possibility on touch screen, and maybe a better layout for the UI (no need to have the double goban UI i guess for a smartphone/table app).
- Also, It would be cool to be able to integrate a RSGF file into a web page like a blog.
- Finally, it would become possible to build a database of reviewed game like http://eidogo.com/ like a community where Go players share they RSGF file, this one is really a cool idea.
I would like to encourage people to implement other "RSGF viewers" or build different tools over the "RSGF format". I am open to suggestions and if that happens, I would have to somehow standardize the RSGF format, more precisely ; document the new properties it added on top of standard SGF properties (RSGF is just SGF with more properties).
Maybe I should even separate GRP into a viewer part, and and analysis part library (like librsgf) that can be reused by other projects.
Anyway, as a first step to implement a web RSGF viewer, one needs a way to parse a SGF file using javascript or some server side language (like PHP, python). There seems to be a lot of choice on Github to do that (maybe that one https://github.com/neagle/smartgame). A second step is a way to display it, and for that I would say it's better to start something from scratch.
One thing that is more tricky to implement as web app is the "analysis" part. This requires to be able to run LeelaZero, AQ and others bots on the server, and requires a lot of computing and time. It's not realistic to try to run this on Androit/IOS hardware at the moment, because of huge battery drain.
So for a server hosted web app, I would say it's just better to have the app run GoReviewPartner as python script to automatize the analysis (see examples there). For that, maybe GRP could be modified as a to make it easier to handle by third party software as I mention above.
So unfortunately, I don't have web development skills. In fact I am not an IT guy and self teach python as a hobby :( So I would be happy to help and contribute if someone starts such project, but I would not be able to lead such project myself.
Yes, that’s exactly what’s in my mind. Web is more accessible and the go community could make the best use of the ai breakthrough in go these years.
Also considering the huge go training market in China, an elegant-designed and easy to use web interface could have an enormous impact on the market. It’s like having a super go teacher by your side anytime anywhere .
A reviewed game database is great. Go fans can upload their games , have them analyzed and stored on the server. It’s like a personal game repository with feedbacks from above-human level ai bot like elf.
There is a web version of sabaki, which looks cool. If it could include the rsgf part , with clear display of various variations with winrates and other fancy graphs, it would be great.
I am thinking on doing a RSGF viewer and a web page that uses go review partner in the background. Could you explain to me the RSGF file format or document it in a very basic way so I can start writing an RSGF parser?
I'd be interested in testing whatever you come up with! Sounds like a cool endeavor.
If you have a look at these links, you'll see that RSGF is just SGF with a different extension. There are also some annotations within the SGF format that record the bot's evaluation.
https://forums.online-go.com/t/whats-the-best-way-to-share-rsgf-files/20328/2 http://yuntingdian.com/goreviewpartner/grp-documentation/doc.htm#review-of-that-rsgf-file-using-grp-interface
So, I think you can start out by renaming an RSGF file to SGF, opening it in a viewer, and then getting a feel for what is recorded. For your web app, you can try either porting an existing web SGF viewer, or using some utility packages for SGF.
https://senseis.xmp.net/?SmartGameFormat https://github.com/SabakiHQ/sgf https://github.com/jtauber/sgf https://pypi.org/project/sgfmill/
You will then also want to figure out how Go Review Partner deals with the (R)SGF information, but it seems like what it does is to cut off / discard some information such that you can hover over a next move and then see a single representative sequence.
(Also, it seems to me like pnprog does not monitor this repo very closely any more. I have a pull request that's been pending for 20 days, so I wouldn't expect a quick response.)