I want Create a Go board in python

I’ll do my own research but if you have any resources or advice to give me I’m interested, eventually I want to be able to make a 3D Go game and other variants.


What do do intend to use it for? To view or edit SGF files or to have players play a game remotely?

1 Like

Also, what is your current level of programming experience? And why python?

I made a very simple Go board in Processing before. It has both a java and python scripting language Overview \ Processing.org .

It just does everything in a main while loop and it’s pretty easy to draw graphics to the screen.

Other than that I guess to just make a “Go board” you just need some lists or arrays and few functions to update the elements of the arrays, whether with a mouse click or with user input from a terminal for example. It can be a bit more complicated to implement a superko rule, so possibly Japanese rules might be simpler to start with.

Some other things that could be useful:

Maybe it’s helpful to someone :slight_smile:


to play it and maybe to connect an IA to it.

1 Like

i’m beginner, Python because it’s the langage iknow the most and because i can do machine learning with it. (after learn how to build it)

Thanks you i will check your links tomorrow, it’s 00:18 here in France so i will go sleep.

There are a couple of distinct parts to that, some of which are (much) more difficult than others.

  1. Implement a board that enforces the rules of the game. Capturing in particular is the most interesting rule to implement.
  2. Implement a user interface to allow local players to play on the same computer as the program.
  3. Implement scoring the game, including a user interface for that.
  4. Implement a go server with a web interface or mobile app allowing remote players to play and score a game.
  5. Implement a go playing program.

Of these parts, I would say that 5 is (by far) the most difficult, but depending on your existing expertise, 1 and 4 would also be fairly challenging. I think 2 and 3 are relatively easy, but good user interfaces require somewhat different skills than back-end programming.

If you are a new to programming (and maybe also to go) all of those parts are going to be very difficult to do on your own from scratch. Chances are that you’ll get stuck almost right away.
So it would be a good idea to check out examples of how experienced programmers have implemented those parts. @shinuito offers some good starting points.