Custom boards

A full fledged backend support for blind and one-color go would be awesome, but I would be perfectly happy with a front-end fix (just changing the textures of stones and the “last played” circle appropriately; in this kind of game mode, you’re already trusting your opponent not to cheat, so I wouldn’t worry about that); so please don’t hold up the simple solution waiting for one that may take years or more. :smiley:

If the people who have actually played around with these board backgrounds disagree, please defer to their judgement, but my intuition would be that anyone who was serious about making it look good would crop or resize the image themselves anyway, and a center-alignment would probably look better for the average user who uploads a picture of their black lab laying in the sun before realizing they can barely see any black stones. :smiley:

Maybe a few just to show what is possible (unless the implementation would make such a small use-case not worth the effort, of course), but I feel like a separate library (such as the thread dedicated as such) where you download the image and upload it will serve just fine for most images.

3 Likes

That’s why I was thinking just ten thumbnails in the same space that currently holds the ten textures, but on a different tab? Or just 5 in a row under the textures?
I was thinking once users have clicked on a couple just to try, then they’ll be more motivated to come check out the library for more, or create their own.
Also would help the technically challenged and the terminally lazy.

2 Likes

Cross posting this one here as they suggest something you could add if you had time.

There was a suggestion about cropping images and one about being able to have different images for different board sizes (which could be the same image but different crops).

1 Like

Good evening Dev team!

Being able to select custom images for the board is pretty damn awesome!

An improvement to this would be the ability to crop the images over the board.
Perhaps even being fine tuned to allow one to save their image position for 9 x 9, 13 x 13, & 19 x 19, respectively.

If I missed this feature I apologize.

3 Likes

You can’t really save any images per se, you just link to the image stored elsewhere, so that said, there is nothing stopping you cropping the image with your favourite image editing software and uploading to a free image hosting site such as imgur

you will have to manually switch between each image as you open games on different board sizes however

4 Likes

So I have to do it like 150 times a day.

3 Likes

nobody is making you do anything :slight_smile:

1 Like

But I wonder though would it be the case that you could just add a few if statements to the game page ui and show three URLs to past for 9x9, 13x13, 19x19.

Or maybe to Stop that being clunky adding a checkbox use for all sides and hide the other two board sizes?

1 Like

Time for a diaporama on my qipan! I still hesitate if I change background every 10 moves or 20? Or can we program a detector of changing stage (fuseki,middle game,yose?

2 Likes

Thanks for the poke @shinuito

Indeed that would be awesome, but unfortunatelly will not happen anytime soon. Or to be more precise, it is super unlikely to happen in any code added by me.
To explain - being a free service we have quite a limited storage space and computing power ('cos we can’t really pay for much more). That being the case, I opted for the (otherwise sub-optimal) solution of not giving users the ability to upload images, but rather to link them from external sources. That being the case, we cannot really edit the images in any way (crop them for example), as they are not hosted on our server. There would be some theoretical work-arounds I guess, but none that I can think of would be practical enough to actually implement, sorry.

Having the option of setting custom image for different board size is super interesting and something I did not consider. I will think about that further, but unfortunately that too will not be easy :laughing: For all intents and purposes any of our gobans is the “same” object and once the game info is loaded the grid and the stones only “overlay” the otherwise still identical object. It would be possible to then retroactively detect the board size and change the backround image, but my main concern now are the thumbnails in profiles or wherever else. They will probably be rapidly changing backgrounds while loading, which will probably be quite annoying, plus it would be extra clutter for the selection menu… But who knows, I’ll keep that in mind, it is a neat idea

And welcome to the forums @Yvmores

5 Likes

Which code snippet I should apply to make last move indicator appear in one color go?

Edit: noice

3 Likes

I’ve been trying to get this to work so that I can play Blindfold Go, but it seems data and GoThemes are not defined, so OGS is just drawing the default stones… is there some simple change people are making to these (I tried three and all rely on these objects) scripts work?

I’m not sure what kind of problems you’re having, but on my end it works with plain stones theme (at least in practice):

// ==UserScript==
// @name         ogs custom stones (blindfold)
// @version      0.1
// @description  custom stones on OGS
// @author       michiakig, S_Alexander
// @match        https://online-go.com/*
// @run-at       document-idle
// @namespace https://greasyfork.org/users/592542
// ==/UserScript==

(function() {
    function setup() {
        GoThemes.white.Plain.prototype.placeWhiteStone = function() {};
        GoThemes.black.Plain.prototype.placeBlackStone = function() {};
    };

    if (typeof data !== "undefined" && typeof GoThemes !== "undefined") {
        setup();
    } else {
        // set up the mutation observer
        // altho this should be installed with @run-at idle, I still saw the code run prior to these globals being available, so just watch the page for updates until they are present
        var observer = new MutationObserver(function (mutations, me) {
            if (typeof data !== "undefined" && typeof GoThemes !== "undefined") {
                setup();
                me.disconnect(); // stop observing
            } else {
                console.log("[ogs custom stones] data or GoThemes not found, waiting...");
            }
        });

        // start observing
        observer.observe(document, {
            childList: true,
            subtree: true
        });
    }
})();

5 Likes

Thanks, I had OGS set to the wrong stone setting; didn’t realize I needed to change that. I think I’m set up for Blind Go, now!

Not important but what does the left custom board colour selection do? Even hot pink didn’t reveal the purpose to me.

Color of the board if it’s not an image.

2 Likes

Thankyou. Yes, the hot pink definitely shows up then. Ouch. Think I’ll stick with the image. Thanks. :+1:

1 Like

Maybe it would be a good idea to have a store saves of custom boards. I like to play with it but must recreate the board each time I log in :frowning:

1 Like

The custom board selection should be saved locally (via a cookie or something) for each browser/device that you use to access the site. I don’t think it transfers across devices, and if you routinely clear cookies/stored data (or browse in private mode), which would also require relogging in often, then I think the setting might be cleared.

2 Likes

how do you do that? :open_mouth:

1 Like