Well, I’ve done some self-research and work on it, and here is what I have so far:
- Grid generation (player selects): 9x9, 13x13, 19x19 grid
- I’m handling the coordinates using Vector2D variables (max_grid and grid_location) and a V2D array (grid_array). These store intersecting points, such as 1,1 / 1,17 / 15, 13 / etc…
- I’m using a Vector3 array to handle which intersection belongs to what player. So if Player1 puts a piece at 5,18 then it will be stored in the array as 5,18,1. There are 2 different arrays handling this, an “empy location” array and a “used location” array
- Max play time / time remaining system
For the actual “AI” part of it, I have reconstructed:
-
UCB algorithm system (Cameronius : Votre portail d'actualité Jeux | Tout savoir sur l'univers du jeu)
– (wins/simulations) + Bias * SqRt (loge(parent_visited)/(child_visited)) -
Value-Situational Handicap Compensation (http://www.pasky.or.cz/go/dynkomi.pdf)
– Section 5.1.2 in the above paper
Still working on how to implement those 2 systems for the AI to place pieces, but it’s coming along I guess :\