The goal of GCBoard has been to take the best features of the excellent XBoard (WinBoard) program, or improving them when I felt necessary:

  • Automatic support for:
    • clicking to move
    • dragging pieces with the mouse
    • animating moves
    • flashing pieces after the move
    • highlighting the last move
    • premove (planned)

    All these can be set on or off by setting a variable (which can be easily linked with the gui).

  • An easy to use programming interface
  • Automatic placement of a piece using many parameters.
  • Concept of numbered layers: you can add extra images in separate layers, they will be rendered correctly, using the layer number as the stacking order. It will eliminate the need to write extra code for adding elements to the graphical board. It is as simple as taking a bitmap and putting it in the correct place.
  • Cross platform: adding new platforms and toolkits is very easy (see documentation).
  • Fast animation (double buffered). This makes the library usable with languages that have a slow interpreter.
  • Support for more then one playboard or auxiliary boards, for example in Shogi to place the captured pieces.
  • Drawing the background and highlighting can be done automatically, or done by your application.
  • Support for the Gtk2 toolkit.
  • Support for Ruby using ruby-gtk2