Arimaa Forum (http://arimaa.com/arimaa/forum/cgi/YaBB.cgi)
Arimaa >> Bot Development >> Are Windows or Mac OS programmers welcomed?
(Message started by: ChessBox on May 12th, 2009, 11:08am)

Title: Are Windows or Mac OS programmers welcomed?
Post by ChessBox on May 12th, 2009, 11:08am
Maybe I am wrong, but I have got the impression, that Arimaa® engine development here is a Linux only story. Are there chances for such strange people like me to also participate?

Until now I have written an 8x8 and 10x8 chess program SMIRF including its own GUI playing about amateur level. Now I am thinking it over to make a complete rewrite of it, but there might be also the possibility for me to start alternativly with Arimaa®.

But anything I read makes me hesitate from starting an Arimaa@ project. Arimaa@ announces itself to be a patented game, so I am very unsure about publishing any program playing Arimaa®.

Is there any library of documents showing how communication / protocol has to be done enabling communication even between different OS based engines?

Thank you in advance for answering!

Title: Re: Are Windows or Mac OS programmers welcomed?
Post by Janzert on May 13th, 2009, 8:39am
I do all development of OpFor under Windows, so it is certainly not a problem. The standard interface to the server is a perl script and I use an alternate interface (http://arimaa.com/arimaa/forum/cgi/YaBB.cgi?board=devTalk;action=display;num=1223610928) that is written as a python script. Both have been used under Linux and Windows. I don't know of anyone that has used either under OS-X, but the chances are good they would both work fine or with minor adjustments there as well.

In order to participate in the computer championship and challenge though, the engine has to run under Linux since all the programs for those tournaments are run on Omar's server.

Questions about publishing Arimaa software would need to be answered by Omar but the Arimaa Public License (http://arimaa.com/arimaa/license/current.txt) may already answer some of them. In looking up the license I actually just noticed that my recent release of old OpFor source code is probably in violation.

Janzert

Title: Re: Are Windows or Mac OS programmers welcomed?
Post by lightvector on May 13th, 2009, 8:51am
I've been working on an Arimaa bot for a while, and my computer runs windows as well. The basic bot interface works fine (see the downloads page). There's no problem with different OS interfaces, as far as I know - the bot interface (in Perl) handles networking and connecting to the game room just fine. All you need to do is write a program that prints its move to standard output to use it.

For uploading my bot to compete in the the online CC each year, I just upload the code and compile on the unix account provided, instead of my local machine, and that's it.

Maybe someone else can comment on the legal aspects of the game. Anyways, it would be great to have another developer around. The active community here is very small, but anyone interested in the game is quite welcome!


Title: Re: Are Windows or Mac OS programmers welcomed?
Post by ChessBox on May 13th, 2009, 10:42am

on 05/13/09 at 08:51:35, lightvector wrote:
... All you need to do is write a program that prints its move to standard output to use it. ...

Well, using stdout and stdin will be an idea, but I have no experiences with pearl. Is there any chance to simulate an engine communication to an Arimaa® GUI on Windows or MAC OS ?

Thank you all for your answer!

Title: Re: Are Windows or Mac OS programmers welcomed?
Post by clauchau on May 15th, 2009, 6:42am
I also come from Windows (and MSDOS) as far as game engines with GUI are concerned and don't know Perl. I easily managed to have my Arimaa "Quantum Leap Frog" bot play in the game room without any trouble using an old C++ Borland compiler, thanks to Omar's interface scripts and the free Perl install he suggests for Windows.

To have it then compile with the Gnu C Compiler gcc on Windows or Linux requires a few tricks then and that part is certainly easier if you already know and follow the C/C++ standard OS-independant specifications and library. I managed a few years later when I tried (I only had to change the path of a few standard includes, be more careful about integer size if I remember well, and change the way time was measured).

In other words, keep the engine part as standard as possible.

Think also of David Fotland who sells his bot_bomb with a Windows GUI while it has also been playing in the Arimaa gameroom and tournament a whole lot.

Title: Re: Are Windows or Mac OS programmers welcomed?
Post by ChessBox on May 15th, 2009, 1:46pm

on 05/15/09 at 06:42:43, clauchau wrote:
... play in the game room ...

Hmm, I doubt that I want to start my attempts immediately in the game room. The idea has been to develop and improve an engine first by having some local games at home. Is'nt there any GUI for that?

Title: Re: Are Windows or Mac OS programmers welcomed?
Post by Janzert on May 15th, 2009, 2:27pm

on 05/15/09 at 13:46:51, ChessBox wrote:
Hmm, I doubt that I want to start my attempts immediately in the game room. The idea has been to develop and improve an engine first by having some local games at home. Is'nt there any GUI for that?


No publicly available GUI has been released for sure and the only one I know of is Fotland's for Bomb. I think everyone else is using the gameroom and/or custom console interfaces. I've made a small start on a GUI but as I really detest GUI programming it's still nowhere near usable.

Janzert

Title: Re: Are Windows or Mac OS programmers welcomed?
Post by ChessBox on May 15th, 2009, 9:49pm

on 05/15/09 at 14:27:29, Janzert wrote:
... No publicly available GUI has been released for sure ...

Then maybe it would be best to write one first. Using wxWidgets might be an approach resulting in a solution, which might be targeting several OSs.

But that would establish the need for an accepted protocol. I saw you proposing a UCI related protocol for Arimaa®. If that would be a stable solution and was accepted also for Arimaa® tournaments, a GUI based on that should be written.

But legal restrictions on Arimaa@ let me hesitate starting with such a project, when there is no chance to publish and use that GUI without the risk of being sued.

Title: Re: Are Windows or Mac OS programmers welcomed?
Post by doublep on May 18th, 2009, 1:47pm
Woah, that license is quite draconic.  Janzert: do you know that your making OpFor source code available is a breach of the license?

Title: Re: Are Windows or Mac OS programmers welcomed?
Post by Janzert on May 18th, 2009, 2:35pm

on 05/18/09 at 13:47:09, doublep wrote:
Woah, that license is quite draconic.  Janzert: do you know that your making OpFor source code available is a breach of the license?


To quote myself from the second post in this thread: :)


Quote:
Questions about publishing Arimaa software would need to be answered by Omar but the Arimaa Public License may already answer some of them. In looking up the license I actually just noticed that my recent release of old OpFor source code is probably in violation.


Since then I realized that the AEI release is also probably technically a breach of the license. Beyond that I'm into my busier work season right now and haven't had time to ask Omar about either of them yet.

Janzert

Title: Re: Are Windows or Mac OS programmers welcomed?
Post by doublep on May 19th, 2009, 9:23am
Ah, sorry, I'm not really following the discussion, just saw the link.

Title: Re: Are Windows or Mac OS programmers welcomed?
Post by nbarriga on May 19th, 2009, 9:50pm
I think it is not in violation, according to section 3. Non-commercial, non-ERP use or distribution:

* I want to publicly distribute software that incorporates Arimaa. Such as
   open source software that plays Arimaa.


There are some restrictions but it is not in violation I think. The license is not very clear.

Title: Re: Are Windows or Mac OS programmers welcomed?
Post by ChessBox on May 20th, 2009, 5:07am

on 05/19/09 at 21:50:16, nbarriga wrote:
... The license is not very clear.

Maybe I am an average programmer, but I am a zero-level amateur lawyer additionally living in Germany, that way not being a native English language speaker.

This still lets me hesitate from focussing on Arimaa® programming after some doubtfull experiences made when targeting GothicChess® (concerning mostly other people), as long as there are any restrictions for Arimaa® software developers, especially if not working on an open source project.

Title: Re: Are Windows or Mac OS programmers welcomed?
Post by doublep on May 20th, 2009, 9:48am

on 05/19/09 at 21:50:16, nbarriga wrote:
I think it is not in violation, according to section 3. Non-commercial, non-ERP use or distribution:

* I want to publicly distribute software that incorporates Arimaa. Such as
   open source software that plays Arimaa.


Well, for one thing the published OpFor sources don't include any license at all, and so don't mention 'that any derivitates of the product/service must also comply with the "Arimaa Public License".'.  They also don't conform to other "Must"s.

ChessBox: if you really want to distribute anything for commercial purposes, phrase "Commercial usage or distribution of Arimaa related products or services require obtaining a licensing agreement from Arimaa.com" says it all.  I.e. that public license cannot be used for anything commercial, in that aspect it is quite clear.

Alternatively, you may wait until the patent expires and then only trademark will pose any (non-crucial) restrictions.  Copyright doesn't really apply here, only maybe to verbatim rules text and to board/pieces artwork (which is not that great anyway).

Title: Re: Are Windows or Mac OS programmers welcomed?
Post by nbarriga on May 20th, 2009, 9:57am
I think your best solution now is to talk directly to Omar for him to clarify what you can and can't do. Because so far we have seen one commercial bot(fotland's) and one open source(opFor) and as far as I know Omar approves both.

Title: Re: Are Windows or Mac OS programmers welcomed?
Post by rabbits on Aug 10th, 2009, 8:31pm
Hello all,

Like ChessBox, I also wanted a local Arimaa client before trying to write a bot.  A number of half-completed Arimaa clients are floating around the internet such as openarimaa (http://code.google.com/p/openarimaa/) and Corsix's Arimaa Client (http://www.corsix.org/arimaa/).  I remember having trouble compiling Corsix's client, but I got the .exe to run under Wine.

Dissatisfied with what I found, I wrote my own Arimaa client last week. I used wxPython, so the code should work on Windows and OS X, but I use Ubuntu.  My GUI pales in comparison to the arimaa.com gameroom client, but I am fairly proud of it.  Humans can only make legal moves (ignoring the 3rd repetition rule), bot moves are shown by sliding the pieces, captures are shown by rotating the pieces, and steps can be undone.

Bots are still allowed to cheat, but most of them behave well, so that isn't a huge issue.  This was my first non-trivial project in Python, so the code is probably stylistically poor.  Also, it does not use bitboards, and the comments are mostly notes to myself.  If I find more time, I will clean up the code and add a few more features.

I modeled my interaction with bots after the official matchOffline Perl script.  So far, I have used the bots r0, sample1, sample2, score1, and ps1 successfully with my client.  After reading this thread though, I will certainly look into Janzert's AEI.

I am not opposed to sharing my code, but I haven't read the Arimaa Public License yet.  If I am allowed to, I will try to publish it before the end of the summer.  

Wow, I just found erict's post about how he also rewrote the Perl match script in Python.  There is a lot of material about Arimaa... I think it will be a long time before I feel caught-up.

By the way, I would encourage those of you on Windows to give Ubuntu a try.  You might like it.

-Greg

Title: Re: Are Windows or Mac OS programmers welcomed?
Post by chimaera on Oct 10th, 2009, 11:39am
I'm working on a C# Arimaa game engine right now. The game-playing engine is nearly complete; it respects the 3-move repeat rule, can roll back individual moves or entire turns, can interpret and write out game position files, and can play through thousands of games in a few seconds by directly loading game logs.

I am just now starting work on a GUI, then I imagine I'll start implementing support for bot plugins. I'm already in communication with Omar regarding a license for non-commercial distribution of the executable and source code.



Arimaa Forum » Powered by YaBB 1 Gold - SP 1.3.1!
YaBB © 2000-2003. All Rights Reserved.