My new exotic engine: ChessBrainVB for OfficeVBA (1950 ELO)

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

Roger Zuehlsdorf
Posts: 9
Joined: Fri Sep 04, 2015 11:22 am
Location: Germany

My new exotic engine: ChessBrainVB for OfficeVBA (1950 ELO)

Post by Roger Zuehlsdorf »

This chess engine (32 bit Windows) for winboard and MsOfficeVBA (EXCEL/WORD) is based on the source of the engine "LarsenVB"
by Luca Dormio (http://xoomer.virgilio.it/ludormio/download.htm).
LarsenVB was inspired by "Faile 0.6 by" Adrien M. Regimbald, which was also the base for the engine "Sjeng".
I want to thank Luca Dormio for his permission to use his LarsenVB source.

Download link:
https://www.dropbox.com/sh/fx4xmxcvacp2 ... c8Lwa?dl=0

----------------------
Note: a full Excel/Word install is needed. The Excel-Viewer will not execute macros and VBA. Tested with XP/W7/W8

Known issues:
- anti virus scanner "Qihoo-360" reports a false positive "macro.office.07vba.gen.e2"
- for winboard version: older windows versions may need the VB runtime files (please download setup of LarsenVB)
----------------------

The ChessBrain programming language is "Visual Basic 6" as part from Microsoft Visual Studio 6 from 1998,
which is nearly compatible to "Visual Basic for Application" (VBA) for Microsoft Office.
VBA is still used in Office 2007 and later.

Motivation for this engine:
------------------------------------
There are many MS-Office user with VBA knowledge but only few "C" programmer.
This VBA engine can be used to start with chess programming and to try some new ideas.

History of this engine:
-------------------------------
First step was to create a strong VB6 engine which can be converted to VBA later.
LarsenVB was the best VB6 engine available:The compiled native x86 EXE for winboard has a playing strength of ELO 1528
at CCRL(Computer Chess Rating Lists) for 40 move in 4 minutes.

Because the Office VBA code is not compiled but interpreted at runtime the speed is about 15 times slower.
So I tried some ideas from Ed Schroeder descriptions of the engine REBEL (i.e. recapture extensions).
The chess GUI ARENA was used to run matches against engines from the CCRL list (FAUCE, MrChess).
Finally I reached a level of 1850 ELO for the fast VB native version, still not enough for a good VBA engine.

So I added a simple hash logic and tried to understand sources from Cuckoo, Sjeng, Protector and Stockfish.
One problem: The VB engine does NOT use bitboards. The board uses the classic 10x12 array.
Then she search logic and the king safety evaluation was improved with Stockfish logic and combined with own ideas.

The final native version has a >>> playing strength of about 2500 ELO <<< compared to CCRL 40/4,
the same level as engines like "LittleGoliath Evolution" and "Yace".
Match result: ChessBrainVB - Yace : 104,5/200 81-72-47 52%

Compiling the VB6 source as Pseudo-Code creates a winboard exe which is close to VBA speed (10% faster than VBA).
This slow engine has the same level as the famous small engine Micro-Max 4.8 from H.G.Mueller.
>>> Office VBA playing strength is about ELO 1950 <<< compared to CCRL 40/4.

Comparing these engines is quite interesting: the smallest (but fast) engine against the slowest(?) (but very selective) engine.
Node count of the Pseudo-Code-Exe (VBA speed) is about 10.000-20.000 nodes per second only!

The next step was to make the source compatible with VBA and to create a small GUI with MsOffice forms.
Finally versions for EXCEL and WORD are available (convert to other MsOffice Apps like Access and Powerpoint should be easy)

Have fun!
Roger Zuehlsdorf
User avatar
Dariusz
Posts: 364
Joined: Sat Jun 13, 2015 10:08 am
Location: Poland
Full name: Dariusz Domagała

Re: My new exotic engine: ChessBrainVB for OfficeVBA (1950 E

Post by Dariusz »

Thank you Roger.

I from time to time using vba for excel.
Is good to see your engine in action.
Regards, Darius
https://chessengeria.eu
Ferdy
Posts: 4840
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: My new exotic engine: ChessBrainVB for OfficeVBA (1950 E

Post by Ferdy »

ExcelChessBrainX works fine here cool :). My programming interest was actually triggered by excel vba.
User avatar
Sylwy
Posts: 4497
Joined: Fri Apr 21, 2006 4:19 pm
Location: IASI - the historical capital of MOLDOVA
Full name: SilvianR

Re: My new exotic engine: ChessBrainVB for OfficeVBA (1950 E

Post by Sylwy »

Very interesting ! An engine just on my taste !

THANK YOU !

SilvianR :wink:
tttony
Posts: 268
Joined: Sun Apr 24, 2011 12:33 am

Re: My new exotic engine: ChessBrainVB for OfficeVBA (1950 E

Post by tttony »

Excelent!!

I'm trying to test ChessBrainVB.exe under Arena but it shows a form that ask for the winboard path, I select the winboard path but it can't play under Arena but in winboard
Roger Zuehlsdorf
Posts: 9
Joined: Fri Sep 04, 2015 11:22 am
Location: Germany

Re: My new exotic engine: ChessBrainVB for OfficeVBA (1950 E

Post by Roger Zuehlsdorf »

Sorry,
I forgot to mention in the documentation:

please add in Arena the option
General-> Command Line Parameter:
-xboard

Roger
User avatar
Sylwy
Posts: 4497
Joined: Fri Apr 21, 2006 4:19 pm
Location: IASI - the historical capital of MOLDOVA
Full name: SilvianR

Re: Here you are wrong !

Post by Sylwy »

Roger Zuehlsdorf wrote: LarsenVB was the best VB6 engine available:The compiled native x86 EXE for winboard has a playing strength of ELO 1528

Roger Zuehlsdorf
Hi !

The best chess engine written in Visual Basic (until now) was ProChess 1.02 AD of Mr.Edoardo Manino/Italy & Tomasz Michniewski/Poland ! Over 2200 Elo points (CCRL 4/40).

Regards,
SilvianR :wink:
Roger Zuehlsdorf
Posts: 9
Joined: Fri Sep 04, 2015 11:22 am
Location: Germany

Re: Here you are wrong !

Post by Roger Zuehlsdorf »

The best chess engine written in Visual Basic (until now) was ProChess 1.02 AD of Mr.Edoardo Manino/Italy & Tomasz Michniewski/Poland ! Over 2200 Elo points (CCRL 4/40).
Thank you for your hint, I did not know this VB engine.
A quick test match at 40/4 between both Vb engines had a result of 10-0-0 for ChessBrainX.
ProChess is 5 times faster in nps but has no evaluation except piece square tables. But it has a nice code for move generaion, interesting for me.

Regards,
Roger
User avatar
Sylwy
Posts: 4497
Joined: Fri Apr 21, 2006 4:19 pm
Location: IASI - the historical capital of MOLDOVA
Full name: SilvianR

Re: ChessBrainVB 1.1 is already in tests

Post by Sylwy »

Hi !

I like a lot your engine ! That's because it is - from this evening - in tests.
The first opponent: the best Yace ever (Paderborn 2003) !

SilvianR :wink:

Image
supersharp77
Posts: 1247
Joined: Sat Jul 05, 2014 7:54 am
Location: Southwest USA

Re: My new exotic engine: ChessBrainVB for OfficeVBA (1950 E

Post by supersharp77 »

Roger Zuehlsdorf

My new exotic engine: ChessBrainVB for OfficeVBA (1950 ELO)

This chess engine (32 bit Windows) for winboard and MsOfficeVBA (EXCEL/WORD) is based on the source of the engine "LarsenVB"
by Luca Dormio (http://xoomer.virgilio.it/ludormio/download.htm).
LarsenVB was inspired by "Faile 0.6 by" Adrien M. Regimbald, which was also the base for the engine "Sjeng".
I want to thank Luca Dormio for his permission to use his LarsenVB source.

Download link:
https://www.dropbox.com/sh/fx4xmxcvacp2 ... c8Lwa?dl=0

----------------------


Thank you for the great new engine based on Larsen VB ChessBrainVB
engine plays very good chess and tests very very well! Strong Play!!

ChessBrain Test Games

http://s000.tinyupload.com/?file_id=405 ... 8297018424