Chess UCI protocol tracer utility
I have this bad habit of starting coding on some application, bringing it to an alpha-ready stage, dropping it and moving on to the next one. Fortunately I don’t do this in my day job, else I’d have got the boot long time back.
Couple of months back, I was working on a chess application. I will not be able to discuss it further here, as I still think that app idea is a good one and is highly marketable. My chess GUI had to support UCI engines. UCI (Universal Chess Interface) is a protocol used by Chess GUI to talk to chess engines (see Figure 1). There are other GUI <-> Engine protocols, like Winboard, but UCI is an effort to create a standard. Since my software had to support all the existing UCI engines, I decided to understand the UCI protocol fully. I looked around for some way to capture the UCI transactions that go in between the GUI and the engine, but couldn’t find any tool to do that. So I wrote my own.

[Figure - 1]
In the attached file, you will find uciplug.exe, the main UCI tracer application. Tracer is a simple pump, which works as shown in Figure 2:

[Figure - 2]
It acts like a network repeater, by passing on everything it gets (either from the engine, or from the GUI) to the corresponding recipient, the only difference being it also logs that message to a file. Multiple instances can be used for running more than one engine simultaneously.
Download
Downloaded a total of 172 times
Subscribe to this blog's RSS feed
Chessbase Light 2007 Activation - eh?!
I love the work being done by the good folks in Chessbase; IMO they have the coolest jobs, they get payed to develop software for CHESS Ohhhh, I wish I had some kinda day job like that! I know video game development is as interesting, but anyway gaming has never been one of my […]
Performance appraisals - Should they be so complex?
We went through the performance appraisal phase in my company last quarter. As we had come to expect, it was one of the stressful periods, so much that we literally threw a party when 360degree feedbacks were prepared and sent (ok, am just kidding. But, you get the point!). We call this process FOCAL; when […]
Windows Beginner Developer Learning Center - Gr8 idea!
Microsoft has come up with a website totally dedicated to getting the programming newbies up and running (Of course, using MS technologies! :p )
BDLC covers both web and desktop applications. The best part is, it doesn’t assume any prior programming knowledge. I am pretty sure this is a great resource and is gonna boost the […]
Dumb Code - 1
Recently, I was helping a friend debug an application debugger. In one of the report/UI modules, he had to log the date execution started + more process meta info. For date conversion, instead of using one of the inbuilt CRT functions, with the true spirit of a good (!?) programmer, he decided to implement it […]
