Chessmonk


I thought it was time to show a first preview shot of another project I’m working on, a PyGtk based PGN (chess game) viewer. Currently it features a completely scalable board (using SVG piece images), clickable moves in the notation display, variations and comments. Pretty much all PGN notations should be parsed already, including legal moves, ambiguity detection, promotions, etc. Oh yeah and moves are smoothly animated.

Initially I wanted this to become a full fledged database application, but then I just couldn’t nail the interface down for all possible use cases. So I decided to try something different and make this a pure PGN reader for viewing and analysing of chess games. I’m thinking about matching this up with a real chess database in the future (possibly web based) and I might add limited editing abilities. But this is all still very unclear, so I will concentrate on plain PGN reading for now. The only major feature I still want to add is UCI chess engine support (for Fruit/Toga and the likes).

Thoughts on the “ideal” chess interface would be appreciated, but judging from the lack of replies to my last blog posting, I doubt that any chess players are reading my blog. 🙂

Advertisements

11 responses to “Chessmonk

  1. chess player here :), that shot looks awesome. Will i be able to turn off animations? they are cool initially, but atr a while they tend to be annoying.I use xboard, which is an Xt application, but pretty much the standard along with winboard. look into it for feature comparison. I’d like to have a winboard witha gnome interface tbh, but I cant code. chessbase is the commercial leader. Chessbase uses a protocol called UCI, and so most engines and front-ends support it. they use their own propeitary db, but also supports PGN, http://en.wikipedia.org/wiki/Portable_game_notation.

  2. Welcome!

    Disabling animations would be trivial to add, but that’s something I won’t care about in the beginning. Animations are very smooth and quick, so they hopefully won’t get annoying at all.

    To be honest, xboard is the reason I haven’t bothered with chess on Linux for a long time, so I don’t really want to look into it. 😉 It is also quite different, since xboard is mostly a generic chess client for chess servers and engines, while chessmonk is only a chess viewer and analysis tool (maybe with some database functionality in the future), so it can better be compared with scid.

    As I mentioned, I plan to add UCI engine support (for analysis) and of course PGN is supported, that’s the whole point of it. 🙂 Unfortunately I don’t have Chessbase, so I can only guess its featureset from screenshots and articles. Chessbase is mainly a database with viewing functions, while I chose to tackle the problem from the other side.

  3. Hi Daniel,
    do you have a version for download? I am using Scid all the time but it seems that it is not developed further. I you plan to add UCI engine support, why not adding endgame tablebase support as well? There seems to be a SOAP based interface to the Nalimov tablebases on the net that should be not too complicated to access with Python (I love Python myself). Do you provide downloads of Chessmonk?

  4. I’d be interested in looking at the beta version. I have some pgn viewers but it would nice to see another one. If ou can incorporate all the best things about other viewrs and eliminate so of te annoyoing things, I’d sure use it.

    By the way, since the Boylston Chess Club linked to this blog entry, you’re liable to get a lot of viewers. . .

  5. Hello! 🙂

    Keep in mind that this is a GNOME application, running it on Windows should be possible but you need the required libraries (mainly Gtk+ and GnomeCanvas) and it’s untested. Right now there is only the SVN repository on http://code.google.com/p/chessmonk/ if you want to test it. I have written more about my current plans for this application in the next blog posting.

    @Scirius: That’s a great idea, I will definitely look into this. Thanks for the hint! It fits well with my plans to add remote database queries.

  6. Pingback: Boylston Chess Club Weblog

  7. I want something that will let me store web games for others to view on my web site. Will yours do that, or will it be a standalone application for use on a personal computer?

    ChessViewer does this: it is great: just go the the site, input your pgn, and then you’ve got a sweet web page with your game (see link below). However, it has some crappy features. For one, the graphics are sort of ugly. The worst is that the comment line window isn’t expandable, so if your comment has more than about 80 characters, the reader must scroll down (can’t just permanently increase the window size).

    Example here:
    http://www.ethomson.net/ChessGames/game7.html

    Chessviewer here:
    http://www.chessclub.com/chessviewer/pgnform.html

  8. For viewing PGN files on the web, I would suggest a HTML/JavaScript based viewer like pgn2web. Adding easy export to HTML shouldn’t be difficult to add later.

  9. Pingback: meefewku

  10. Hi — I have some suggestions for idealized chess interface. Your use of scalable vector graphics is a great start; ditto the determination to add UCI support. If you have the interest, I can suggest additional functionality and will even prepare a spec. I am not a programmer, but the landscape for chess applications is fragmented, not as badly as some other application areas, but the need for an integrated tool-set is so plain here, and much of the codebase exists in open source already. Let me know — this is a project I have been interested in for some time.

  11. Have you considered extending python to drive your interface. A lot of training materials/interactive books could be created from such a set-up. ie a python program could access db or sequence problems. It would be nice to have a text display windows to display text to go with the graphics.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s