XiangQi Engine / News: Recent posts

Another subproject added

This probably should have been put under a different project here at sourceforge, but my request never seemed to get attention so I am putting it here.

I am beginning work on a chinese chess database. The goal is to have something along the lines of what Scid does for chess players and scholars but for chinese chess instead. It will integrate with engines following the CXBoard protocol allowing for computer aided analysis.... read more

Posted by Noah Roberts 2004-01-21

Ways to contribute

This project could use some extra hands. Things that could be done:

* make tsito cxboard compliant.
* continue working on qipan.
* make vbchess cxboard compliant.
* and/or compile and package qipan on win32.

Qipan needs such things as ability to accept message requests from the engine, ability to work with engine options, the ability to view the PV and score.

Tsito needs to be ported to work with Qipan, and then work needs to be done to make it 100% compliant if possible.... read more

Posted by Noah Roberts 2003-10-24


Some of you may have noticed that development of JunFa and QiPan has slowed tremendously. The problem is that I am back at school and this time there is very little chance (none really) that I can get working on these programs related to school somehow. Next week I will be starting a new job which will take even more of my time.

However, I am still active. There have been minor changes to the development trees in CVS. QiPan can connect to more than just junfa now, and the engine has seen some addition of new evaluation methods (these may or may not remain).... read more

Posted by Noah Roberts 2003-09-11

The "CXBoard" GUI

There appears to be much confusion about CXBoard so I am posting this news item in order to aliviate that confusion and to make sure the correct people are asked for help.

When I started this project I planned on creating a three part system of GUI, protocol, and engine. Sometime early 2003 my development team at St. Martin's College decided to use this project for our "senior" project. It was decided that the GUI would be written in VB since I was the only person on the team using Linux; ie, I was outvoted. It was always my intention to write a GUI for Linux but during that period in this project's lifeline it was not possible as my task was to write the engine and I had 2.5 months to complete it.... read more

Posted by Noah Roberts 2003-08-25


I notice a lot of people downloading the source to vbchess. This program probably doesn't work with the new engines, even tsito for which it was built. I don't use Windows and the person who made that program has been unreachable. I will probably see him in a week or so, but I have doubts if he is interested in continuing work on it.

In other words, we could use a developer that wishes to make a GUI client for the Windows family of operating systems. You can continue with vbchess or start from scratch.... read more

Posted by Noah Roberts 2003-08-20

Zaurus Instructions (troublesome but works)

Both QiPan and JunFa build for, and run on, the Zaurus PDA (tested on a 5500). This is not really end-user ready yet as it requires some work to get them compiled. First off, use the CVS version as I have made some edits to JunFa so you really don't need to edit any source for that code at all.

* Zaurus compiler suite
* Command line on the Z
* Some patients and developer knowhow - this is not user friendly.... read more

Posted by Noah Roberts 2003-08-10

Freshmeat Readers

JunFa and QiPan are both early pre-alpha state releases. In my release submission I explained this and what it means to you clearly but the Freshmeat crew, in their infinite wealth of reason, decided it best to edit my release and not show those important comments. Please see my earlier release news on this site for more details.

Sorry for any misunderstandings,

Posted by Noah Roberts 2003-08-10

New File Release Packages for XiangQi-Engine

The XiangQi-Engine project has just uploaded initial public releases of two subprojects. These are end-user useable, if you can compile and deal with incomplete software, but in a less than alpha state. Please use the sourceforge supplied mailing list xiangqi-engine-users@list.sourceforge.net to ask for help.

The OSS world recieves its first ever bitboard based Chinese Chess engine. JunFa uses bitmap techniques of board representation and move generation similar in fassion to crafty through the use of the C++ stdlib construct "bitmap<>". This method is much faster than array based counterparts. Today the XiangQi-Engine project proudly presents its first testable public release of this product, junfa version 0.0.1. Though there are still many issues related to this product it is useable and strong enough to put up a fight. We suggest end users also download and install the QiPan cxboard GUI to play against this engine.... read more

Posted by Noah Roberts 2003-08-09

Mailing lists

I have just created two public email lists for users and developers that plan on implementing the cxboard protocol in their own engine or GUI. They will exist in "6-8 hours" at which time users and developers will be able to converse with each other and the developers of xiangqi-engine to get help and discuss useful features that could be added.

xiangqi-engine-users@lists.sourceforge.net - for user help and discussion. You will also be able to find help for the current CVS trees here.... read more

Posted by Noah Roberts 2003-08-04

Yet another CVS Tree

The beginnings of a graphical interface conforming to the current CXBoard protocol is in the works. Currently it consists of a board widget and supporting objects that allow it to connect to an engine in a limited fassion. TSITO2 has been modified to be able to communicate with this interface.

To checkout this interface checkout the "qipan" tree (qipan is chinese for chessboard). You will need to run it from the pics subdirectory and tsito2 must be compiled and named junfa in that same directory.... read more

Posted by Noah Roberts 2003-07-29

TSITO2 progress

Today I finished version 1 of the cxboard protocol and commited those charges to the website. CXBoard can now be considered complete; future changes will stay compatable with previous versions.

I also just put together a test engine for the new BITBOARD architecture used in TSITO2. This test uses no speedup heuristics on top of alphaBeta (no hash or null or any of that.) It appears to be as fast at depth 6 as the origional was at depth 4. It takes less than half the time at depth 6 as the current tsito release with the speedup options turned off. When the engine begins to mature I expect a major increase in thinking power and speed.... read more

Posted by Noah Roberts 2003-07-21


There is an interface available for the current version of tsito at http://cxboard.sourceforge.net

This interface was developed externally and is not representative of the cxboard protocol, but it works well with the current version. As a first release it is pretty nice.


Posted by Noah Roberts 2003-07-04

New CVS Module

A new development tree has been started for the next version of tsito. This version will experiment with bitset implemented board representations. The C++ standard provides an interface to bitsets who's lengths are not on a byte boundary. We will be experimenting to see if the International Chess BITBOARD concept can be brought over to Chinese Chess using these constructs. It is hoped that by using bitsets we can create faster move generation algorithms and evaluate more position states in a shorter time.... read more

Posted by Noah Roberts 2003-05-26

TSITO &quot;Final&quot; released

The latest version of the tsito chess engine contains what are hopefully the last changes made before turning the code in for a grade. We dazzeled our classmates and professors in our presentation and are working towards a final product that includes all the bells and wistles like a nice installer.

VBXiangQi contains a version of tsito from CVS shortly before the release of 0.8.0 - we will be releasing a final version sometime this week. The changes to this version will be mostly cosmetic and mostly in the installer. ... read more

Posted by Noah Roberts 2003-05-04

Windows Interface

There is now an alpha windows interface written in VB .NET. The installer includes tsito and its book. We have not verified that it includes the necissary libraries...it may not work outside of XP with .NET... Like I said, alpha.

Posted by Noah Roberts 2003-04-16

Zaurus build of chinese chess is back

Once again I am maintaining ARM builds of the chinese chess engine, now called 'tsito', for the Zaurus PDA (may work on other PDAs running Qtopia). Now this binary is released in the standard ipk package format for easier install. This ipk includes all files required to run tsito (currently the binary and opening book).

To get this package go to the download for the latest version and pick the tsito_[version]_arm.ipk file.... read more

Posted by Noah Roberts 2003-04-12

Chinese Chess Engine Updated

A new version of the Chinese Chess engine 'tsito' has been released today. This version includes a fix for compile errors on later versions of g++, as well as a few bug fixes in the search function. Some major code cleanup was done in some files and some functions where rewritten. Quiescence is temporarily unavailable.

This version also includes some new commands that let the user fine tune the search algorithms. There are 3 different search methods available and several options to turn on and off. A new man page documents these features.... read more

Posted by Noah Roberts 2003-04-10

Chinese chess engine recieves opening book

The latest version of tsito contains an opening book. The opening book format is pretty self explainitory: position followed by available moves.

Posted by Noah Roberts 2003-03-27

New version of Chinese Chess engine released

There have been many changes to the engine since the last release. Much of these changes considerably slowed its search system, but to compensate it has gotten much stronger in my opinion. It uses more sound opening strategey even while lacking an opening book.

Quiescence searching is an available option in this version, but I have turned it off by default for now. Using quiescence adds an enormous amount of time to its analysis, I couldn't bear it. To turn quiescence on use the command "quiescence on" while running the program (now command line option yet.).... read more

Posted by Noah Roberts 2003-03-23

xiangqi-engine is the old version.

I notice many people are downloading xiangqi-engine instead of tsito. Tsito is the current version, xiangqi-engine is no longer being worked on. xiangqi-engine is stable and fast, but will not be improving. If you want to be up to date you should download the latest version of tsito or check out the tsito module of my cvs tree.

Posted by Noah Roberts 2003-03-14

tsito-0.3.2 released

This new release adds end game boundary conditions to the engine. It knows about, and tries to avoid, checkmate and friends. Also new in this release are move ordering and killer move heuristics; these make the engine much faster.

Have fun.

Posted by Noah Roberts 2003-03-10


The package I released earlier today still had some debugging output embedded in the code. I have commented that line out and resubmitted the package for download. If you downloaded tsito-0.3.1.tar.gz before 10:40 PST then you may want to get it again.


Posted by Noah Roberts 2003-03-09

Alpha release of Chinese Chess Engine

tsito v0.3.1 is the first release of the new C++ based architecture to xiangqi-engine. This version is for those who want to help make the program better by testing and reporting bugs. The older release, xiangqi-engine-0.1.3, is more stable and complete than this version is. This version is faster, it appears to be smarter, but does not yet know about endgame boundary conditions.

This version responds to all of the old commands as well as 'sd #' to set the search depth (I don't recomend > 5 yet unless you want to sit there for a while). Also, 'position' has been changed to 'setboard' to follow more closely to the xboard protocol.

Posted by Noah Roberts 2003-03-08

New CVS Tree for XiangQi Engine

The new architecture built upon standard C++ is available for checkout. The new module name is 'tsito' (tuh-see-toe) which is an acronym (of course) for 'The Secret Inside The Orange', a classic 17th Century text on XiangQi that also happens to be attached as an apendix to H. T. Lao's book "Chinese Chess", which I quite frankley thought was not very informative.

It should compile anywhere, I am very interested in any problems that anyone has in this area. There are of course bugs, but it should compile and run without blowing up. Expect it to act very strangely during end-game. Very soon there will be a snapshot release.... read more

Posted by Noah Roberts 2003-03-06

Good news

I have successfully convinced the other members of my college development team that this program should be our senior project. We are going to revamp the architecture and probably code it in C++, and then expect updates often.


Posted by Noah Roberts 2003-02-21