Fuzzy stone placement

Still the problem is that when you eventually are confronted with an overlap, then you have to change the position of already placed stones, which would create a ripple around the board.

The fundamental problem is that if the stones “only just fit” in the squares, then you can’t start placing some with random offsets without eventually getting a situation where you can’t place the next stone without moving existing ones to make space.

(Or so it seems to me)

I don’t think you want to see all the stones shifting suddenly when you place a stone… that would be distracting…


Wow, thanks GreenAsJade, that’s some pretty good work!

And yes, I agree with you, and Sabaki as well, since sometimes placing a stone bumps an already placed stone. I’m not sure how they manage to make it work so that it never finds itself replacing half of the board, but the “moving an existing one(s) to make space” part definitely happens in Sabaki. Actually, another great implementation is in Tenuki which you can test here.

Sorry if that sounds harsh, that’s definitely not intended to be since I very much appreciate your work on this, but I have to admit I don’t really like the idea to reduce the stones’ size in order to prevent the bumping part; that’s what makes it beautiful to me (otherwise, like in your screenshot, it almost look aligned again).


I’m kind of into this enough to explore the bumping, if that’s what it takes.

I find it hard to imagine moving stones after they are placed looking attractive, but if you say it does it, I suppose I need to get Sabaki and see it in action.

I will say that from the screenshots of Sabaki, it looks to me just like the screenshot I ended up with: they definitely appear to have stones smaller than the squares. Just from the screenshot, the main difference is they have moved some of the stones more than I have, so they end up touching.

1 Like

GAJ you are only thinking in two dimensions. Stones can overlap by being slightly tilted so they would have to appear slightly ovaloid from above with appropriate adjustment of the shadow of course. This removes the need for the whole board to adjust to a new stone. Maybe just one existing stone gets tilted plus the new one. :crazy_face::exploding_head:


I had a crack at this and bumped into a roadblock: it’s pretty fundamental in OGS board drawing that stones don’t overlap into other stone’s squares.

I implemented the the bumping like Sabaki, but the above constraint resulted in stones that nudge too far getting their edges cut off.

So what I showed above is about as good as I’d be able to do.

It’s there in a PR for the Devs if they are interested :slight_smile:



I agree with Kosh if you want realism–the board view must be slightly slanted and in slight perspective.

Also, I don’t see any effect at all in your 1 pixel example as displayed on a little notebook computer. If you really want a realistic look, the shifts are going to have to be a lot more than one pixel!

Anyway, I don’t think that realism demands sub-pixel shifting, with its complications even worse than text anti-aliasing, Reference: https://en.wikipedia.org/wiki/Subpixel_rendering .


When you can’t get what you want, you’ll have to make one yourself :wink:
Work in progress.


Eye Candy and Zen: nice programming, but eh.

The implementation I did was more than one pixel shifts - in fact, it shifts somewhere between 5 and 10% of the stone radius.

IIUC, the reason Jokes_Aside mentioned sub-pixels shifts is precisely for small screens: on small screens the amount of offset you could achieve is likely to be less than the size of a pixel.

However, I don’t think realism and “little notebook computer” go together, at least for old eyes like mine :wink:

Sabaki has been given as the reference for “nice realism”, and it doesn’t (as far as I can see?) present a perspective view. Kosh referred to rules for physical gobans. I think he’s since edited out that tongue in cheek comment.

Those interested in the actual challenges of specifically fuzzy placement can follow along in the PR: https://github.com/online-go/online-go.com/pull/474

Other realism factors probably deserve their own thread.

It’s worth noting that Jokes_Aside’s comments can probably be summarised as “he (and others?) went to a lot of trouble to make it look gorgeous already, and messing with that isn’t going to be easy for all sorts of complicated reasons”.

I decided to mess around with it anyhow for a learning exercise as much as anything :slight_smile:

Meanwhile this exchange has made me suddenly wonder whether the blurriness of my current attempt is due to not rounding the offsets!

(Rushes off to see if that’s the case)

1 Like

Agree. It’s interesting to think about a realistic board and stones (and perhaps clock and lid for prisoners, and perhaps a hand to click the stones against the board). I see nothing wrong with offering an option for a realistic board, so long as the neatness and simplicity of the current type of game display is retained as an option.

I would not reject a realistic board just because it is jarring to me to see it at first. Internet play has given me a strong preference for the current simple displays based only on habit. There is nothing wrong with developing better habits.

On the other hand, Dvorak, Maltron, and Colemak keyboard layouts are arguably better than QWERTY, yet haven’t caught on.

1 Like

It bothers me to no end that such visual and audio beauty was coupled with the tortured agony of a captured stone left sitting on the board -.-


Didn’t quite have the time to fully implement everything for the time being, sorry :smiley:


My pain is unending.


If stones start vibrating on the board, I’m out of here :smiley:


This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.