GithubHelp home page GithubHelp logo

rzulu54 / chessbrainvb Goto Github PK

View Code? Open in Web Editor NEW
26.0 5.0 4.0 96.27 MB

Chess AI engine with GUI for Excel / Word VBA - plus VB6 (Visual Basic 6) edition as UCI/Winboard/SMP engine (ELO 3000)

HTML 1.99% VBA 45.91% Visual Basic 6.0 52.10%
chess-engine winboard vba vb6 excel word chess visual-basic chess-game excel-chess

chessbrainvb's Introduction

ChessBrainVB

Chess AI engine with chessboard GUI for Excel / Word VBA - plus VB6 edition for UCI/Winboard engine with playing strength of 3200 ELO (4 CPU).

There are two ways to use this chess engine:

  1. Visual Basic 6 Windows 32 bit EXE-Version: Use a free chess GUI (i.e. ARENA or CuteChess), add ChessBrainVB.exe as UCI or winboard engine and play games. Playing strength is about 3150 ELO (CCRL 40/40 conditions, 4CPU, see http://www.computerchess.org.uk/ccrl/4040/rating_list_all.html)

Compiled with Visual Basic 6 => 32 bit Windows exe file, examines about 150.000-200.000 positions/sec. All chess rules are implemented: castling, En passant, Threfold repetition, 50 move rule. Support for up to 64 cores, maximum transposition table hash size is 1.4 GB. Not supported: endgame tablebases, pondering.

  1. Excel/Word version (for 32 bit and 64 bit Office): Use ExcelChessBrainX.xlsm, WordChessBrainX.docm (full install needed, viewer not working) to play games using the GUI implemented in VBA forms. The Excel edition needs the Excel file only. All data needed (i.e. opening book) is stored in worksheets. Playing strength of the VBA version is about 2600 ELO. Visual Basic for Applications (VBA) is used here for the chess engine. This pseudo code is 30 times slower ( 5.000-10.000 position/sec) than the compiled VB6 EXE.

Virus scanners sometimes give a false positive alert. To be sure the files can be checked a www.virustotal.com .

Hint: The program "Alice in Chessland" by Angelo Spartalis has a very nice GUI and is based on ChessbrainVB V3.05. Link: https://www.spartalis.gr/chess/index_ENG.html

For questions please contact me: [email protected]

CREDITS

This chess engine 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.

ChessBrainVB is also based on many great ideas from the following people:

Marco Costabla/Tord Romstad/Joona Kiiski (Stockfish sources): Search logic, king safety, piece evaluation. Search logic and evaluation are based an Stockfish 7 with adaptions to non-bitboard data structure and search changes that perform better for slower move generation and evaluation. Raimund Heid (Protector sources): Material draw logic Norbert Raimund Leisner: Logo file


Keywords: "Excel chess engine", "Excel chess", "Word chess engine", "Powerpoint chess engine", "VBA chess", "VBA chess engine", "VB6 chess engine", "VBA chess game", "Excel chess game", "Visual Basic chess program", "Exel chess board", "VBA chess board", "VBA chess AI"

chessbrainvb's People

Contributors

rzulu54 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

chessbrainvb's Issues

Why Fritz does not understand it

Hello Roger,

Just a wild guess. When I run v4.00 using InBetween, this is what I see upon typing uci:

ChessBrainVB by Roger Zuehlsdorf
uci

id name ChessBrainVB V4.00

id author Roger Zuehlsdorf, Germany

option name Threads type spin default 1 min 1 max 64

option name Hash type spin default 128 min 1 max 1400

option name Clear Hash type button

uciok

Maybe those blank lines are responsible for the problem.

Gabor Szots
CCRL testing group

BTW, does it still support WinBoard?

Check-Mate Issue

If you set up a board and then put the computer in check-mate it throws an error.

Ponder support?

Just wondering if you're planning on implementing ponder? I run all my tournaments with 1 thread + ponder, and it really helps at short time controls like 1m + 1s or 2m + 1s.
I noticed that ChessBrainVB and for example Halogen lose quite some performance when going from 1m + 1s to 2m + 1s, compared to the pondering engines. It's like it doesn't have a huge effect at 1m, but at 2m is like some sort of sweet spot and it helps a lot.

Code of conduct

Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
Our Standards
Examples of behavior that contributes to creating a positive environment include:
Using welcoming and inclusive language
Being respectful of differing viewpoints and experiences
Gracefully accepting constructive criticism
Focusing on what is best for the community
Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
The use of sexualized language or imagery and unwelcome sexual attention or advances
Trolling, insulting/derogatory comments, and personal or political attacks
Public or private harassment
Publishing others' private information, such as a physical or electronic address, without explicit permission
Other conduct which could reasonably be considered inappropriate in a professional setting
Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [email protected]. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
Attribution
This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at http://contributor-covenant.org/version/1/4

v3.70 stalls and disconnects

In an ongoing 40/40 test ChessBrainVB 3.70 64-bit lost practically every game with Black due to stalled connections or disconnects. Out of 30 participants, ranging from Xiphos and Arasan down to GreKo and Marvin, this is the only engine to have any problems in this test.

One example out of 19:

PGN

[Event "?"]
[Site "?"]
[Date "2018.11.12"]
[Round "?"]
[White "Demolito 2018-10-29 64-bit"]
[Black "ChessBrainVB 3.70"]
[Result "1-0"]
[ECO "A40"]
[GameDuration "00:25:20"]
[GameEndTime "2018-11-12T22:58:10.354 Eastern Standard Time"]
[GameStartTime "2018-11-12T22:32:49.809 Eastern Standard Time"]
[Opening "Queen's pawn"]
[PlyCount "25"]
[Termination "stalled connection"]
[TimeControl "40/1200"]
[Variation "Franco-Indian (Keres) defense"]

1. d4 {book} e6 {book} 2. c4 {book} Bb4+ {book} 3. Nd2 {book} c5 {book}
4. e3 {+0.28/20 31s} cxd4 {-0.51/14 6.1s} 5. exd4 {+0.24/21 30s}
Nf6 {-0.28/18 8.6s} 6. Nf3 {+0.24/22 29s} Be7 {-0.17/16 4.9s}
7. Bd3 {+0.36/22 29s} b6 {-0.29/19 15s} 8. O-O {+0.34/21 30s}
O-O {-0.15/15 3.5s} 9. a3 {+0.28/21 29s} d5 {-0.15/18 9.3s}
10. b4 {+0.30/21 30s} dxc4 {+0.16/16 3.9s} 11. Nxc4 {+0.40/21 30s}
Bb7 {0.00/17 9.6s} 12. Bb2 {+0.25/19 31s} Nbd7 {+0.14/14 4.3s}
13. Re1 {+0.36/20 31s, Black's connection stalls} 1-0

WER report

Problem signature:
  Problem Event Name:	APPCRASH
  Application Name:	ChessBrainVB-370.exe
  Application Version:	3.7.0.0
  Application Timestamp:	5ba0025d
  Fault Module Name:	ChessBrainVB-370.exe
  Fault Module Version:	3.7.0.0
  Fault Module Timestamp:	5ba0025d
  Exception Code:	c0000005
  Exception Offset:	0001f6a8
  OS Version:	6.1.7601.2.1.0.256.48
  Locale ID:	1033
  Additional Information 1:	9c2a
  Additional Information 2:	9c2af5251156b3873c9ee911e8dff81d
  Additional Information 3:	d7e5
  Additional Information 4:	d7e5827e2d088af9440ebf3208077cab
  

Debug log
ChessBrainVB-370-stall-log.txt

Dual Xeon E5-2690v2 @3 GHz, 20 cores, HT off, 32 GB RAM
Win 7 x64 Pro SP1
Cute Chess GUI 20181029 64-bit dev build
512 MB hash, 1 thread
concurrency=18

Tirsa@CCRL

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.