Star points on non-standard board sizes?

Every now and then I find myself engaged in a 25x25 game. And the biggest surprise is that the star points are missing.

Does anyone think star points belong on non-standard boards? And if one did put star points on non-standard boards, where would they go? Can anyone think of a halfway-sane formula?

2 Likes

I thought about this when I created go software

Roughly, here are rules that I used (applicable to only rectangular, regular-grid boards):

  • Tengen hoshi if the board is odd-by-odd
  • Corner hoshi at 4-4 points if size >= 11, at 3-3 if size in 8-10, and none if smaller
  • Side hoshi (on the same line as the corner hoshi) if the board is odd-by-odd and at least 17-by-17

Here is the code that I used

From: besogo/boardDisplay.js at gh-pages · yewang/besogo · GitHub

// Draws hoshi onto the board at procedurally generated locations
function drawHoshi() {
    var cx, cy, // Center point calculation
        pathStr = ""; // Path string for drawing star points

    if (sizeX % 2 && sizeY % 2) { // Draw center hoshi if both dimensions are odd
        cx = (sizeX - 1)/2 + 1; // Calculate the center of the board
        cy = (sizeY - 1)/2 + 1;
        drawStar(cx, cy);

        if (sizeX >= 17 && sizeY >= 17) { // Draw side hoshi if at least 17x17 and odd
            drawStar(4, cy);
            drawStar(sizeX - 3, cy);
            drawStar(cx, 4);
            drawStar(cx, sizeY - 3);
        }
    }

    if (sizeX >= 11 && sizeY >= 11) { // Corner hoshi at (4, 4) for larger sizes
        drawStar(4, 4);
        drawStar(4, sizeY - 3);
        drawStar(sizeX - 3, 4);
        drawStar(sizeX - 3, sizeY - 3);
    } else if (sizeX >= 8 && sizeY >= 8) { // Corner hoshi at (3, 3) for medium sizes
        drawStar(3, 3);
        drawStar(3, sizeY - 2);
        drawStar(sizeX - 2, 3);
        drawStar(sizeX - 2, sizeY - 2);
    } // No corner hoshi for smaller sizes

    if (pathStr) { // Only need to add if hoshi drawn
        svg.appendChild( besogo.svgEl('path', { // Drawing circles via path points
            d: pathStr, // Hack to allow radius adjustment via stroke-width
            'stroke-linecap': 'round', // Makes the points round
            'class': 'besogo-svg-hoshi'
        }) );
    }

    function drawStar(i, j) { // Extend path string to draw star point
        pathStr += "M" + svgPos(i) + ',' + svgPos(j) + 'l0,0'; // Draws a point
    }
}
5 Likes

Oh that’s cool. And looks surprisingly natural. At least on 17x19:

I do wonder if very large boards like 25x25 or 37x37 deserve more than one hoshi per side. I dunno!

1 Like

I’ve also tried to make something sensible when I made my multicolor goban. I added hoshi to these sizes, mostly based on it feeling regular and useful in dividing the board into areas, and visually pleasing.

5 Likes

Haha, that would be crazy! 4 or 5 star points along the side. But really, those board sizes are so big they’re crazy anyway, so anything goes really.

1 Like