Soberango 0.00.0 (chess engine) realized.

User projects written in or related to FreeBASIC.
Luis Babboni
Posts: 300
Joined: Mar 15, 2015 12:41

Soberango 0.00.0 (chess engine) realized.

Postby Luis Babboni » Mar 27, 2016 20:38

Well, 1st step completed.
Starting from zero knowledge, after 5 months (3 trying to understand what´s the matter and 2 in the making and tests), the very first version of Soberango see the sunlight.
It´s played some games against myself (1500 in chess.com) and in 5/0 blitz is a good opponent. Playing 10 games against the weakest engine I could found: Safrad, won 1, tie 3 and loses 6.

Site: http://www.luisb.com.ar/Soberango/Soberango.html

Comments:
-Version: 0.00.0 (Very basic winboard engine, just works and for the moment just checked successfully in Arena 3.5 and Arena 3.5.1).
-Options: there isn´t, just plays matchs from the initial position.
-Searching algorithm: just Mini-Max, no alphabeta.
-Search depth: fixed in 4 plies.
-No time management. In a Phenom 955 3.2MHz, could play Blitz from minimum time 1:30/0 losing by time very rarely.
-Evaluation: just material difference.
-Not detection of 50 moves rules neither 3rd repetition.
-Known bug: if lose by time, could not start a new game without restart.
-32 bits engine.
-8x8 matrix board representation.
-Wrote in FreeBasic .

Thanks to the forum, specially SARG and fxm, and ofcourse to dkl for FreeBasic, for the help you give me no matter how noob my questions use to be!
Last edited by Luis Babboni on Apr 15, 2018 21:39, edited 1 time in total.
Roland Chastain
Posts: 851
Joined: Nov 24, 2011 19:49
Location: Dakar, Senegal
Contact:

Re: Soberango 0.00.0 (chess engine) realized.

Postby Roland Chastain » Mar 28, 2016 10:38

Hello! Glad to see a new FB chess project.

But you don't intend to release the source code?

Another question (if I may): why did you choose the Winboard protocol? I believe that nowadays the UCI protocol is more commonly used.

Anyway, good luck with that project!
Luis Babboni
Posts: 300
Joined: Mar 15, 2015 12:41

Re: Soberango 0.00.0 (chess engine) realized.

Postby Luis Babboni » Mar 28, 2016 11:51

Roland Chastain wrote:Hello! Glad to see a new FB chess project.

But you don't intend to release the source code?

Another question (if I may): why did you choose the Winboard protocol? I believe that nowadays the UCI protocol is more commonly used.

Anyway, good luck with that project!


Thanks!!

Well..... to public the code and not be shamed I need a lot of work to "unmess" a giant mess first :-D
The anxious to have it working made me left this for next weeks but I´ll do it.

I tried first with UCI but seems to me more easy to understand the winboard not know why! :-/
badidea
Posts: 1458
Joined: May 24, 2007 22:10
Location: The Netherlands

Re: Soberango 0.00.0 (chess engine) realized.

Postby badidea » Mar 28, 2016 14:58

-Search depth: fixed in 4 plies.

What I did in my draughts AI (posted somewhere on this forum), is: When at the 'bottom' of the search 'tree' an exciting placement of pieces occurs, the AI went a few steps deeper in these cases. Exciting for draughts meant that one of both players had to capture at least one of the opponents pieces. The performance penalty was limited, but the AI was significantly stronger because of this. Not sure if this method can be use with chess though.

(Couldn't run the code as my system does not understand .exe files.)
Luis Babboni
Posts: 300
Joined: Mar 15, 2015 12:41

Re: Soberango 0.00.0 (chess engine) realized.

Postby Luis Babboni » Mar 28, 2016 19:17

badidea wrote:
-Search depth: fixed in 4 plies.

What I did in my draughts AI (posted somewhere on this forum), is: When at the 'bottom' of the search 'tree' an exciting placement of pieces occurs, the AI went a few steps deeper in these cases. Exciting for draughts meant that one of both players had to capture at least one of the opponents pieces. The performance penalty was limited, but the AI was significantly stronger because of this. Not sure if this method can be use with chess though.

(Couldn't run the code as my system does not understand .exe files.)


Yes, yes, is the usual behavior of chess engines. Not Soberango´s yet but needed to be a good chess engine.
BasicCoder2
Posts: 3397
Joined: Jan 01, 2009 7:03

Re: Soberango 0.00.0 (chess engine) realized.

Postby BasicCoder2 » Mar 28, 2016 20:39

badidea wrote:... my draughts AI (posted somewhere on this forum), ...


viewtopic.php?f=8&t=8360&hilit=draughts

Will not compile as is with the latest version of FB.

I think there is some directive you can put at the start of the code but I forget it and find it tiresome to have to search for it every time.

Made the effort again,

$lang: "qb"

'' or

#lang "fblite"

.
BasicCoder2
Posts: 3397
Joined: Jan 01, 2009 7:03

Re: Soberango 0.00.0 (chess engine) realized.

Postby BasicCoder2 » Mar 29, 2016 6:02

@Luis Babboni,

Don't like to download and run .exe files in case someone (not you) has added some virus somehow.

Of course chess playing machines crunch numbers they don't play like humans ... yet.
.
Luis Babboni
Posts: 300
Joined: Mar 15, 2015 12:41

Re: Soberango 0.00.0 (chess engine) realized.

Postby Luis Babboni » Aug 29, 2016 17:14

Few days ago, Soberango appears for first time in the CCRL ranking list of chess engines playing 40 moves in 4 minutes blitz games.
Actually it is version 0.07.2
It is ranked nº484 out of 503 engines... but could be worst! Version 0.00.0 was not better than the nº501 :-D

Here CCRL 40/4 ranking:
http://www.computerchess.org.uk/ccrl/404/

Here Soberango web:
http://www.luisbtenis.com.ar/Soberango/Soberango.html

Here the code. I resisted to public it cause the great mess it is.... but I feel like if I want to hide something that have no reason (other than the mess it is as I said) to be hide:
https://dl.dropboxusercontent.com/s/ldu9w6fyje2saro/Soberango%200072%20noexe.rar?dl=0
(In any case I do not suggest to try to understand anything, is a bigger mess than you could imagine!)

Anyway, here a brief explanation of how, previous 0.07.1 version, works:
https://dl.dropboxusercontent.com/s/69iu15354rkqu5t/Soberango%200071%20explained.docx?dl=0
Last edited by Luis Babboni on Sep 01, 2016 14:42, edited 1 time in total.
Tourist Trap
Posts: 2762
Joined: Jun 02, 2015 16:24

Re: Soberango 0.00.0 (chess engine) realized.

Postby Tourist Trap » Aug 31, 2016 12:49

Luis Babboni wrote:Few days ago, Soberango appears for first time in the CCRL ranking list of chess engines playing 40 moves in 4 minutes blitz games.

Nice, congratz Luis Babboni! Chess engines are great things.
frisian
Posts: 249
Joined: Oct 08, 2009 17:25

Re: Soberango 0.00.0 (chess engine) realized.

Postby frisian » Sep 01, 2016 14:32

Luis Babboni wrote:Here the code. I resisted to public it cause the great mess it is.... but I feel like if I want to hide something that have no reason (other than the mess it is as I said) to be hide:
https://dl.dropboxusercontent.com/s/69iu15354rkqu5t/Soberango%200071%20explained.docx?dl=0
(In any case I do not suggest to try to understand anything, is a bigger mess than you could imagine!)

Anyway, here a brief explanation of how, previous 0.07.1 version, works:
https://dl.dropboxusercontent.com/s/69iu15354rkqu5t/Soberango%200071%20explained.docx?dl=0


The link that should point to the basic listing is the same as the link for the explanation, can you provide the proper link to the basic listing. I would like to see the program.

regards
Luis Babboni
Posts: 300
Joined: Mar 15, 2015 12:41

Re: Soberango 0.00.0 (chess engine) realized.

Postby Luis Babboni » Sep 01, 2016 14:42

frisian wrote:
Luis Babboni wrote:Here the code. I resisted to public it cause the great mess it is.... but I feel like if I want to hide something that have no reason (other than the mess it is as I said) to be hide:
https://dl.dropboxusercontent.com/s/69iu15354rkqu5t/Soberango%200071%20explained.docx?dl=0
(In any case I do not suggest to try to understand anything, is a bigger mess than you could imagine!)

Anyway, here a brief explanation of how, previous 0.07.1 version, works:
https://dl.dropboxusercontent.com/s/69iu15354rkqu5t/Soberango%200071%20explained.docx?dl=0


The link that should point to the basic listing is the same as the link for the explanation, can you provide the proper link to the basic listing. I would like to see the program.

regards


Sorry frisian!!
Here the correct link to the code:
https://dl.dropboxusercontent.com/s/ldu ... e.rar?dl=0

I edited the above post too.
Thanks for the warning!
Luis Babboni
Posts: 300
Joined: Mar 15, 2015 12:41

Re: Soberango 0.00.0 (chess engine) realized.

Postby Luis Babboni » Sep 01, 2016 14:48

LOL, I tried to comment you frisian about Numpty that is far better and nicely programmed and far better playing chess but I saw you was one of the guys appear commenting in Numpty web!! :-)
frisian
Posts: 249
Joined: Oct 08, 2009 17:25

Re: Soberango 0.00.0 (chess engine) realized.

Postby frisian » Sep 01, 2016 18:52

Luis

Thanks for the fast correction of the link.
The listing is somewhat hard to follow since I don't speak Spanish. I had to swap my favorite editor FBEdit for CSED_FB because FBEdit does not display the international characters the right way. I have managed to compile your program and got working with Arena 3.5.1.

Only my program is about 190 Kb yours 370 Kb It seems that you compiled it with the -g (debug), a simple compile with -s GUI or -s console is for distribution enough.
Also you include in the rar file log files from runs, delete the 0 size files they contain no information.

First impression:
You use a lot of subroutines, try to avoid them in the time consuming parts of the program, if not don proper they can wast to much time.
Avoid using floating point (double) and strings where ever you can, and avoid calculating with strings (val).
I have seen somethings that can be improved but it will take me some time to work that out.
Luis Babboni
Posts: 300
Joined: Mar 15, 2015 12:41

Re: Soberango 0.00.0 (chess engine) realized.

Postby Luis Babboni » Sep 01, 2016 22:10

Thanks frisian for your tips!

some I´ll could easy follow, others will be postponed for future versions.

Actually I´m working to add to the engine moves ordering.
My plan is first to try to understand the basic chess engines ideas. Still remains that´s moves ordering; quiescence search (I did it yet but was not sucesfull without moves ordering so need to make an step back to first do that); using tablabases, have hash tables; use openings; less basic evaluation (actually just count material); etc.

Just for versions 1.xx.x I´ll plan to make a most optimized code.

To be sincerous, when I started the program in last February I doubt too much I will be able to make something that work... but I did!! :-)
Now a lot of hard but fun work is in front of me I think for some years.

If you do not mind, I think in the future I will ask you no few things if you not just know FB but about chess engines too! :-)
Last edited by Luis Babboni on Sep 02, 2016 1:02, edited 4 times in total.
Luis Babboni
Posts: 300
Joined: Mar 15, 2015 12:41

Re: Soberango 0.00.0 (chess engine) realized.

Postby Luis Babboni » Sep 01, 2016 22:13

frisian wrote:...
Only my program is about 190 Kb
...


Wich is your program? Numpty? I´m not sure. :-O

EDIT: I think I understadn now.... you compiled soberango have 190kb and my compiled have 370 kb, I´m right? Sorry but my english is not too good.

Return to “Projects”

Who is online

Users browsing this forum: No registered users and 1 guest