Arena for Mac OS X? (or equivalent decent GUI)

Discussion of chess software programming and technical issues.

Moderator: Ras

krazyken

Re: Arena for Mac OS X? (or equivalent decent GUI)

Post by krazyken »

hgm wrote:OK, I meant xboard. I brought it up because I already know of some people that were able to compile the latest xboard release for Mac.

Why is xboard uncomfortable to use? It is supposed to work the same as WinBoard on Windows, and for me that runs extremely suave. Is it that none of the tournament managers are portable to Mac OS?
Any Xboard tournament managers will work on OS X as they are usually just shell scripts.

I use Xboard mostly because I'm comfortable with using the command line. Other GUIs I've used include:
Sigma Chess -- A solid GUI, but with some limitations that annoy me such as not being scriptable, no GUI book support, and a limit of 19 UCI engines.
Jose -- Works well as a DB, but Scid is better.
Scid -- The best DB I know of, works well and will compile Mac Native.
Glaurung -- Will probably be a good one, but is unfinished.
ExaChess -- A very fast Mac native DB, The latest private betas support UCI engines. The older public version will work with UCI engines installed in Sigma Chess, but has stability issues since 10.2. Keep an eye out for version 4 somewhere around new years (I hope).
Shredder -- Interface is solid, but has fewer features than any of the others.

For engine vs engine, your only choices are Sigma, Glaurung, Exachess and Xboard. For tournaments, only Xboard will do. They all will run matches OK.

One thing I haven't figured out yet is how to save the eval and such to the pgn in Xboard.
User avatar
hgm
Posts: 28395
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Arena for Mac OS X? (or equivalent decent GUI)

Post by hgm »

If

xboard -pgnExtendedInfo true

does not work, it should be considered a bug...

I know that in principle bash is a programming language and should thus be able to do anything. But do the scripts you are talking about really design the pairing scheme for a round robin, and report the standings while the tourney is in progress?
krazyken

Re: Arena for Mac OS X? (or equivalent decent GUI)

Post by krazyken »

hgm wrote:If

xboard -pgnExtendedInfo true

does not work, it should be considered a bug...
That does indeed work. I just didn't know about it before now.
hgm wrote: I know that in principle bash is a programming language and should thus be able to do anything. But do the scripts you are talking about really design the pairing scheme for a round robin, and report the standings while the tourney is in progress?
Well for the Round Robin, I basically store the engines and their parameters into an Array, and iterate through that with a simple pair of loops. The standings can be grabbed from the PGN file whenever it is updated with any number of utilities such as bayesELO.
User avatar
hgm
Posts: 28395
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Arena for Mac OS X? (or equivalent decent GUI)

Post by hgm »

OK, I can see how that would work. With the help of some other utilities that could be ported.

It does not sound like it offers the user-friendliness of a tournament manager like PSWBTM under Windows, though. Where you can simply select the participants by clicking them on the listing of the engine database, (where they are installed with all the desired engine parameters) and set the often-changed parameters like TC, initial positions and number of games.

PSWBTM is open source, but I never was abe to compile it under Linux, due to missing and apparenty unobtainable libraries. The Linux executable also refuses to run on my linux system, due to missing and unobtainable run-time libraries. Too bad...
Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 9:19 pm
Location: Oslo, Norway

Re: Arena for Mac OS X? (or equivalent decent GUI)

Post by Tord Romstad »

Ryan Benitez wrote:Every Mac with OS X 10.5 and newer comes with X11 pre installed. Mac OS makes it so easy you don't even have to enter X11 to run X11 apps. The OS already knows to run X11 when it sees that you are trying to run a X11 app.
I just tried, and this is most definitely not the case on my Mac (an iMac Core 2 Duo running Mac OS X 10.5.5). Trying to run xboard (or any other X11 app) without starting X11 first results in "Error: Can't open display: localhost:0". This isn't a big problem, of course. Starting X11 manually isn't a big hassle. The problem is that I don't want to run X11 at all. Avoiding X11 is one of the main reasons why I use Mac OS X rather than Linux or FreeBSD.
For me Xboard is the simplest and most intuitive chess interface on any platform because it is easy to use through shell scripts and has fairly low overhead.
When use of shell scripts and low overhead has importance to me, it is usually for tasks like running automated matches, tournaments or test suites. For these kinds of tasks, I prefer not to use any GUI at all. I just run the tests/matches/whatever from the command line, and inspect the PGNs or logs only when the tests are finished.

Tord
krazyken

Re: Arena for Mac OS X? (or equivalent decent GUI)

Post by krazyken »

Well with mine I do have for each engine a option to include it in the tourney by setting a value to 1. If I want it to sit out I change it to anything else.

I use variables for all the maych controls, so it probably does the exact same thing with out the GUI :)

it looks about like this:

Code: Select all

#!/bin/bash 

# set board size for display
XBSZ=middling

XBEngines=72

XBTC=120
XBMP=40
XBMG=2
XBINC=-1

GAUNTLET=2
LOADGAME="draw.epd"
SAVEGAME="slowtourn.pgn" 
PGNPOS=1

echo A tournament with $XBEngines engines will be started
echo play blitz in $XBTC minutes per $XBMP moves, $XBMG matches, $XBINC incremental time, and autoquit

# list of engines

# Alf does not do EPD
XBP[1]=/Chess/ChessApps/Alf109/
XBS[1]="/Chess/ChessApps/Alf109/Alf109"
XBA[1]=0

# Amundsen does not do EPD
XBP[2]=/Chess/ChessApps/amundsen/
XBS[2]="/Chess/ChessApps/amundsen/amundsen"
XBA[2]=1

...

XBP[71]=/Chess/ChessApps/zappa/
XBS[71]="/Chess/ChessApps/zappa/zappa"
XBA[71]=1

XBP[72]=/Chess/ChessApps/zct/
XBS[72]="/Chess/ChessApps/zct/zct"
XBA[72]=1

if [ $GAUNTLET -eq 0 ]; then
# tournament
for ((h=1; h<=$PGNPOS; h++))
	do
	for ((i=1; i<$XBEngines; i++))
	do
		if [ ${XBA[$i]} -eq 1 ]; then
			date
			for ((j=$i+1; j<=$XBEngines; j++))
			do
			   if [ ${XBA[$j]} -eq 1 ]; then
		       	xboard -geometry +800+50 -tc $XBTC -mps $XBMP -inc $XBINC -mg $XBMG -size $XBSZ \
  	 	       	-pgnExtendedInfo true -xexit -xponder -xbuttons -thinking -xautoraise -autoflag \
 	  	       	-fd ${XBP[$i]} -fcp "${XBS[$i]}" -sd ${XBP[$j]} -scp "${XBS[$j]}" \
 	  	       	-sgf $SAVEGAME
			   fi
			done
		fi
	done
done
else
date
i=$GAUNTLET
for ((j=1; j<=XBEngines; j++))
   do
       if [ ${XBA[$j]} -eq 1 ]; then
		       	xboard -geometry +100+50 -tc $XBTC -mps $XBMP -inc $XBINC -mg $XBMG -size $XBSZ \
  	 	       	-pgnExtendedInfo true -xexit -xponder -xbuttons -thinking -xautoraise -autoflag \
 	  	       	-fd ${XBP[$i]} -fcp "${XBS[$i]}" -sd ${XBP[$j]} -scp "${XBS[$j]}" \
 	  	       	-sgf $SAVEGAME
       fi
   done
   date
fi
echo Tournament Finished
Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 9:19 pm
Location: Oslo, Norway

Re: Arena for Mac OS X? (or equivalent decent GUI)

Post by Tord Romstad »

krazyken wrote:Glaurung -- Will probably be a good one, but is unfinished.
Thanks for the confidence, but don't hold your breath. If and when I return to chess programming, my first priority will be the iPhone version of Glaurung, and the second priority will be my shogi program. I expect work on the iPhone version of Glaurung will significantly boost the strength of the OS X version of the chess engine, but I don't expect that much of the work I do on the iPhone GUI will be useful for improving Glaurung's Mac OS X GUI.

Moreover, it is highly unlikely that Glaurung will ever be a very "complete" and feature-packed program, simply because I personally hate features. I want something simple, fast, stable and bug-free which satisfies most of the needs of 95% of those who plays chess against their computers. My plans for the GUI currently consists of fixing the known bugs, implementing the features hinted at by inactive menu options and buttons, writing a decent help system, implementing some rudimentary scriptability, documenting the source code better, and perhaps adding ICC support. More than this is unlikely to ever happen, unless somebody else contributes code to the project (I am a little disappointed that nobody has contributed an application icon yet).

If I ever get around to rewriting everything in Common Lisp, things will look better, as I can do at least ten times more per hour of work in Lisp than in C/C++/Objective-C.

Tord
krazyken

Re: Arena for Mac OS X? (or equivalent decent GUI)

Post by krazyken »

Tord Romstad wrote: When use of shell scripts and low overhead has importance to me, it is usually for tasks like running automated matches, tournaments or test suites. For these kinds of tasks, I prefer not to use any GUI at all. I just run the tests/matches/whatever from the command line, and inspect the PGNs or logs only when the tests are finished.

Tord
What do you use to run automated matches without a GUI? Can I have one?
Tord Romstad
Posts: 1808
Joined: Wed Mar 08, 2006 9:19 pm
Location: Oslo, Norway

Re: Arena for Mac OS X? (or equivalent decent GUI)

Post by Tord Romstad »

krazyken wrote:
Tord Romstad wrote: When use of shell scripts and low overhead has importance to me, it is usually for tasks like running automated matches, tournaments or test suites. For these kinds of tasks, I prefer not to use any GUI at all. I just run the tests/matches/whatever from the command line, and inspect the PGNs or logs only when the tests are finished.

Tord
What do you use to run automated matches without a GUI?
A collection of lots of little Lisp utilities I have written over a period of many years. Like most UCI engine authors, I have a collection of tools for feeding my program with games and positions and recording the engine analysis. This makes it completely trivial to run automated matches: Just connect to two engines, feed the moves of one program to the other program, keep track of the time and the game state, and write a PGN at the end of each game.

It wasn't entirely accurate to write that I run the matches from the command line: I run them from the Lisp prompt, which I tend to use for most of the purposes for which other people use the command line. It would have been easy to write a tiny script which ran matches from the command line if I wanted to do so.
Can I have one?
Maybe, but it would require some work before my code is usable for others. It is designed to be Tord-friendly, not user-friendly. There are also some limitations which may make it unattractive to other users: There is no support for X moves/Y minutes time controls (because I never use them), and no support for xboard engines (because the protocol is too complicated and messy for me). The first of these would be easy to fix, but the second would take a lot of work.

I suspect that most chess programmers have their own utilities for running matches and tournaments without a GUI, and some of their tools are probably better suited for a wide audience than mine. But if nobody else wants to share their tools, I can perhaps try to polish mine a little and make it available under the GPL.

Tord
krazyken

Re: Arena for Mac OS X? (or equivalent decent GUI)

Post by krazyken »

Exachess 4 is now available as a public beta: http://www.exachess.com/