I wish to make a really flashy chess game. The squares on the board will be unique terrain. The pieces will be colourful images. The pieces will be animated. The pieces will sometimes be overlaid with each other at times. It will have sound, allow saving, and need keyboard input sometimes.

The basic question (tl;dr):

I am looking for a free framework that will allow me to use interactive GUI components as sprites, that would make such a game easy to develop.

Things I want:

  • I need to be able to overlay partially transparent/translucent images on some sort of game canvas.
  • The images, or an invisible component holding them, should receive mouse events like clicks, click-and-drag, and mouse-over. Pre-defined checking methods/functions are ok too.
  • The framework should allow animation of the images.
  • The framework must not exclude easy support for music, sound effects, keyboard or file IO. I am happy to use compatible libraries or frameworks top do these things separately, but there's no point saving effort on mouse interaction only to find it has made everything else too difficult.
  • The framework and all its dependencies must be free. I want to be able to distribute my game, free or for profit, without ever having to pay money for the tools or frameworks used in development. (Even if you think this is unfair or unrealistic, you won't change my mind.)
  • Documentation must be available.
  • Cross-platform i.e. should look and behave the same on linux or windows without major tweaking.

Things I don't care about:

  • Whether what you suggest is technically a framework, a library, an engine, or even a tutorial on how to easily do it.
  • I don't need bleeding-edge performance like you need for a fast-paced shooter.
  • The precise language or paradigm used.
  • Your (correct) belief that flashy graphics won't improve the chess experience. :-)
  • Anything relating to chess AI, marketing, or other important but out-of-scope considerations.

I appreciate any suggestions.

  • \$\begingroup\$ Since you mention linux, many people will appreciate if you include OSX as well, while you're at it :) \$\endgroup\$ – o0'. Mar 11 '12 at 10:15
  • 1
    \$\begingroup\$ @JonathanDickinson I mean I don't care whether the solution is technically a framework or not. e.g. If there is a solution that fits my requrements that is technically not a framework but rather a library, it is still fine. I will edit to clarify this. \$\endgroup\$ – dukereg Mar 12 '12 at 5:45
  • 1
    \$\begingroup\$ @ashes999 I didn't ask for a perfect framework, nor did I ask for a framework without bugs, I asked for one that meets the requirements listed. \$\endgroup\$ – dukereg Mar 12 '12 at 5:46
  • 1
    \$\begingroup\$ @Lohoris That is a reasonable suggestion, but I actually don't mind if it doesn't work on OSX, as I don't use OSX. \$\endgroup\$ – dukereg Mar 12 '12 at 5:52
  • 1
    \$\begingroup\$ @dukereg doesn't make sense, it's not for you, it's for your users. Or, actually, to increment your user base. \$\endgroup\$ – o0'. Mar 12 '12 at 8:15

The things you require, except for sound, are really the bare essentials of any GUI library, so any cross-platform GUI library and an added sound library will do. If you want to go more game-oriented and would like to have the opportunity to add some fancier graphics the first game framework that comes to mind is Unity. But really your requirements are so low/standard that you can use anything that you're comfortable with as long as it is free and cross platform.

  • 1
    \$\begingroup\$ Is it really normal for a standard GUI library to support animation and transparency? Can you give an example of such a GUI framework? \$\endgroup\$ – dukereg Mar 12 '12 at 5:56
  • 1
    \$\begingroup\$ Animation is just the ability to show a new sprite at a (fixed) time interval. And transparency is usually also supported. Simple examples are WinForms and WPF, and I assume QT, though I never worked with that. \$\endgroup\$ – Roy T. Mar 12 '12 at 7:04

Have you looked at Panda3d http://panda3d.org (BSD 2-Clause license http://www.opensource.org/licenses/bsd-license.php ), it's a game/graphics engine, but it can be programmed with Python or C++ (API documentation exists in both languages), has advanced graphics (shader support augmented through Cg), has build in debug tools, state management, mouse support, AI, simple path finding, physics (you could use either ODE or Bullet if needed),and collision detection. With respect to sound FMod or OpenAL can be used. It's been used in commercial applications and hobbyist projects.

Also because it's written in Python/C++ you can create and import content from Blender(open source and free) as *.obj files(pertaining to 3D models).

The direct link to the manual is:



Not the answer you're looking for? Browse other questions tagged or ask your own question.