A board is made of many grid points 1 & 2 arranged in a grid on a flat surface 6, and connected to a game manager 3 (a CPU+memory+software). Each grid point notifies the games manager when it is pressed, and the games manager can illuminate each grid point by one of two color. The boards plays a game in which a point is a legal move if its ‘visibility’ for the player is above or equal some value. The ‘visibility’ of a point is determined by checking in turn each of a predefined set of imaginary straight lines emanating from the point. If the line does not pass through any illuminated point, it is assigned a value of 0. Otherwise the line is assigned a value of 1 if the closest illuminated point that it passes through is illuminated in the colour of the player, or −1 if it is in the opponent's color. The sum of the values of the lines is the ‘visibility’ of the point for the player.