Arimaa Forum (http://arimaa.com/arimaa/forum/cgi/YaBB.cgi)
Arimaa >> Say Hello >> Hello, it's me :)
(Message started by: Katsunami on Apr 8th, 2012, 8:27pm)

Title: Hello, it's me :)
Post by Katsunami on Apr 8th, 2012, 8:27pm
Hi, it's me :)

To keep a very long story short as short as possible: I've been a lurking member of this site for over 4 years, but never did much with Arimaa. I am a full time embedded software engineer, mainly programming in C, but doing little or nothing with the computer at home.

Some time ago I've switched my private workstation computer to Linux, and this brought back the urge to tinker with programming as a hobby again, as I did in the early 90's as a kid. As a teenager I did write a (very weak and slow) array-based chess engine in Borland Pascal, and always wanted to try again someday; however, because the very strong Crafty and Fruit engines were open sourced, the knowledge of how to write a chess engine has eploded. *Everybody* writes chess engines now.

So, I have decided to try and write an Arimaa engine (or Bot, as you seem to call it). Trying to write this has several goals:

- Re-teach me C++ again (I've forgotten most of it's standard library functions)
- Teach me how to use the Boost libraries (never worked with them; I intend to use them for multi-threading)
- Teach me how to program in Linux, although I don't think that it'll be much different from Windows, as long as I don't do OS-specific things
- Bring back some more of the fun I had with computers 15-20 years ago as a kid and teenager.
- And... eh... it has to play legal Arimaa too. Almost forgot that :P

Yesterday I've setup Eclipse C++ and created the first set of classes for the main parts of the bot; I'll see how far I'll get with it. (Yes, I did make a global design first ;)) At first I'd be happy to make it play legal moves, as I've been away from this kind of programming for a long, long time.

The bot will be named Mariko.

- I like (ancient) Japan, it's history :)
- Mariko Toda Buntaro from Clavell's Shogun book (and mini-series) easily is one of my all time favourite fictional characters :)
- The name seems to mean both "Child of True Reasoning" and "Full Circle". I think it's fitting, as it's not only a reasoning / thinking program, but it also brings me back to hobby programming :)

Now, if someone could tell me how I can run two bots against each other, without fouling up the game room and the database with games played by a buggy, incomplete, crashing and flaky first Mariko instance.... off-line testing would be preferable. Is that what the roundrobin.py script is for, connecting two bots together without using the gameroom?

Title: Re: Hello, it's me :)
Post by Hippo on Apr 11th, 2012, 10:30am
Yes roundrobin.py is for it ;). I actually don't know if letting the weak bot play in the gameroom is bad or good. It could encourage other bot_developers to start to beat the weak one. And it could be boring for spectators.

It seems to me the game data are not that huge to make problems for the database and the traffic on the server is not that much affected by sending moves.

For the dataminers it is easy to filter low rated bot's games from the mining so ... these are reasons for me letting my weak bot playing in the gameroom.

So to the question ... make sure you implement the AEI protocol and read/edit roundrobin.cfg. I hope it is well commented ... and what is not commented there you can search for at roundrobin.py. ... hmm I am not sure I have answered the queston good enough ...

Anyways welcome



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