79691114

Date: 2025-07-05 14:54:13
Score: 0.5
Natty:
Report link

Well, the two more or less independent components will be the GUI on one hand and the "engine" on the other hand. You could combine both in a single prorgram/code base, but maybe it would be a good idea to split them up into independent components that could communicate through the standard CECP = chess engine communication protocol: see here for the description on the chessprogramming wiki and here for the GNU specification. Among other advantages, you could then use a preexistent version of the other part to test, while you are developing one of the two components.

You might probably use python-chess in both parts, since it allows graphical output as well as move generation. However, I think an engine relying on the move generation of python-chess might be slow, I don't think that library is optimized in any way for fast move generation.

Also, you'd need another component as for example pygame or more specicically Tkinter or Kivy, Pygame, Pyglet, PyGObject, PyQt, PySide, wxPython, ... for adding interactivity, i.e., mainly, dealing with mouse and/or touchscreen and possibly keyboard input events.

Reasons:
  • Long answer (-0.5):
  • No code block (0.5):
  • Low reputation (0.5):
Posted by: Max