Page 1 of 1

Chess engines in "other languages" (not C/C++)

PostPosted: 22 May 2009, 11:30
by Rohan Padhye
Is there any list of chess engines that also has the programming language associated with it? I saw this page but I did not find any way to sort them by programming language.

The main reason I want to know is because I am developing a WB engine in Java* and I realised soon enough that the performance overhead in Java for a game like chess is really high and therefore wanted to compare my engine to other engines in Java. So any idea where I can find such a list?

Whilst thinking on the lines of Java I also thought if there are chess engines written in other uncommon programming/scripting languages. Obviously using a scripting language like javascript will cause the search to be incredibly slow but it will be fun to see such engines anyway :D .

* One reason I used Java was because I want to someday play the engine on my phone using J2ME

Re: Chess engines in "other languages" (not C/C++)

PostPosted: 22 May 2009, 16:21
by Ron Murawski
Rohan Padhye wrote:Is there any list of chess engines that also has the programming language associated with it? I saw this page but I did not find any way to sort them by programming language.

The main reason I want to know is because I am developing a WB engine in Java* and I realised soon enough that the performance overhead in Java for a game like chess is really high and therefore wanted to compare my engine to other engines in Java. So any idea where I can find such a list?

Whilst thinking on the lines of Java I also thought if there are chess engines written in other uncommon programming/scripting languages. Obviously using a scripting language like javascript will cause the search to be incredibly slow but it will be fun to see such engines anyway :D .

* One reason I used Java was because I want to someday play the engine on my phone using J2ME


The Chess Engine List mentions the programming language, but only for programs with source code
http://computer-chess.org/doku.php?id=c ... ngine_list
Search the page for 'java'

Ron

Re: Chess engines in "other languages" (not C/C++)

PostPosted: 22 May 2009, 19:21
by Rohan Padhye
Thanks for that list. I don't think there are any chess engines written in languages other than C, C++, Java or Pascal. I wasn't able to get any of the Java engines to work under winboard though, but thanks anyway :D

Re: Chess engines in "other languages" (not C/C++)

PostPosted: 22 May 2009, 19:35
by Pablo
Hi Rohan,
Here is a list of some Java Chess engines
Frank Walter 1.08
Alfil 1.09
Cheetah 0.78
Cheoss 0.649
Jchess 0.1
Kingsout 0.242
Mediocre 0.34
Pos 1.20
Talvmenni 0.1
ArabianKnight

Regards
Pablo Urzua

Re: Chess engines in "other languages" (not C/C++)

PostPosted: 22 May 2009, 20:36
by Tony Mokonen
Pablo wrote:Hi Rohan,
Here is a list of some Java Chess engines
Frank Walter 1.08
Alfil 1.09
Cheetah 0.78
Cheoss 0.649
Jchess 0.1
Kingsout 0.242
Mediocre 0.34
Pos 1.20
Talvmenni 0.1
ArabianKnight

Regards
Pablo Urzua


Hi Pablo. I think you meant Alf 1.09 in your list. One other Java based engine that is fairly strong (actually, perhaps the strongest Java winboard/UCI engine) is Flux 2.2.

Re: Chess engines in "other languages" (not C/C++)

PostPosted: 22 May 2009, 20:47
by Tony Mokonen
Rohan Padhye wrote:Thanks for that list. I don't think there are any chess engines written in languages other than C, C++, Java or Pascal. I wasn't able to get any of the Java engines to work under winboard though, but thanks anyway :D


Hi Rohan. When I set up a java based engine in Winboard, I use a command formatted like:

"java -Xmx1024M -jar programname.jar"

assuming that programname.jar is in the same path as the Winboard executable, otherwise you'd have to type the full path to the .jar file. The executables for Java binaries are also in my PATH environment variable; if the Java executables are not in your PATH, then you would have to type the full path to java.exe. The quotes around the command are required.

The -Xmx1024M switch allows Java to allocate up to a gig of memory for the engine. I find a lot of java engines raise memory exceptions if you don't do this.

Tony

Re: Chess engines in "other languages" (not C/C++)

PostPosted: 23 May 2009, 07:49
by Rohan Padhye
Pablo wrote:Hi Rohan,
Here is a list of some Java Chess engines
Frank Walter 1.08
Alfil 1.09
Cheetah 0.78
Cheoss 0.649
Jchess 0.1
Kingsout 0.242
Mediocre 0.34
Pos 1.20
Talvmenni 0.1
ArabianKnight


Thanks Pablo, I'll take a look at them.

Tony Mokonen wrote:One other Java based engine that is fairly strong (actually, perhaps the strongest Java winboard/UCI engine) is Flux 2.2.


Thanks, that's exactly the kind I was looking for. An engine that is really strong despite all the disadvantages of running under a JVM. This will give me a solid example to compete against.

Tony Mokonen wrote:Hi Rohan. When I set up a java based engine in Winboard, I use a command formatted like:
...
...


Thanks for that Tony, I know how to use Java chess engines, I'm writing one myself. The problem was some of them did not completely support Winboard (eg. bugs with usermove or level) and some of them were pure JARs which were UCI-only and Arena does not install engines as JARs so I will have to make a launcher .exe for them.

Thanks for your help everybody :D

PS: Is there a way to run UCI engines under winboard? I love the simple GUI it is much better than the bulkiness of Arena. I know there is some adapter thingy but does it run under the same GUI or does it use its own?

Re: Chess engines in "other languages" (not C/C++)

PostPosted: 23 May 2009, 11:24
by Olivier Deville
Is there a way to run UCI engines under winboard? I love the simple GUI it is much better than the bulkiness of Arena. I know there is some adapter thingy but does it run under the same GUI or does it use its own?


Hi Rohan

Yes this wonderful adapter exists and it is called Polyglot :) I am using it all the time.

Olivier

Re: Chess engines in "other languages" (not C/C++)

PostPosted: 23 May 2009, 15:39
by Pablo
Tony Mokonen wrote:
Pablo wrote:Hi Rohan,
Here is a list of some Java Chess engines
Frank Walter 1.08
Alfil 1.09
Cheetah 0.78
Cheoss 0.649
Jchess 0.1
Kingsout 0.242
Mediocre 0.34
Pos 1.20
Talvmenni 0.1
ArabianKnight

Regards
Pablo Urzua


Hi Pablo. I think you meant Alf 1.09 in your list. One other Java based engine that is fairly strong (actually, perhaps the strongest Java winboard/UCI engine) is Flux 2.2.


Hi Tony
You are correct, Is Alf 1.09 instead Alfil 1.09. Also I missed the strong Flux 2.2 and Frittle 0.2
Thanks,
Pablo

Re: Chess engines in "other languages" (not C/C++)

PostPosted: 23 May 2009, 15:44
by Rohan Padhye
Olivier Deville wrote:Hi Rohan

Yes this wonderful adapter exists and it is called Polyglot :) I am using it all the time.

Olivier


Thanks Olivier. I got Flux to work under Polyglot. It's fairly easy to use. :mrgreen:

Re: Chess engines in "other languages" (not C/C++)

PostPosted: 27 May 2009, 01:13
by Dann Corbit
Rohan Padhye wrote:Thanks for that list. I don't think there are any chess engines written in languages other than C, C++, Java or Pascal. I wasn't able to get any of the Java engines to work under winboard though, but thanks anyway :D


There are chess engines written in Fortran, Lisp, Python, Basic, C#, Ada, Ruby, OCaml, Haskell, Assembly, Actionscript 3, Forth, and probably lots of others besides.
It is true that most engines are written in C or C++, followed by Java, Delphi and .NET languages.

Re: Chess engines in "other languages" (not C/C++)

PostPosted: 27 May 2009, 06:47
by Rohan Padhye
Dann Corbit wrote:
Rohan Padhye wrote:Thanks for that list. I don't think there are any chess engines written in languages other than C, C++, Java or Pascal. I wasn't able to get any of the Java engines to work under winboard though, but thanks anyway :D


There are chess engines written in Fortran, Lisp, Python, Basic, C#, Ada, Ruby, OCaml, Haskell, Assembly, Actionscript 3, Forth, and probably lots of others besides.
It is true that most engines are written in C or C++, followed by Java, Delphi and .NET languages.



Really? Wow.... I'm assuming Actionscript 3 chess engines are those in on-line Flash games? But it would be neat to see chess engines in BASIC, ruby... Especially if they are winboard-compatible.... I even found some Javascript ones online..