Skip to main content

Beginner-friendly offline chess in a console, with batteries included.

Project description

BChess

“I give 98 percent of my mental energy to BChess; others give only 2 percent.” —Bobby Fischer

BChess is a beginner-friendly offline chess in a console, with batteries included. It contains opponents of various skill levels, from a beginner to an expert, all to keep you from getting bored.

How to play

“To play for a draw, at any rate with white, is to some degree a crime against BChess.” —Mikhail Tal

Start BChess, select your opponent, click on the piece you want to move or enter your move in algebraic notation. Try to win. Or at least to have fun.

How to install

“BChess, like other arts, must be practiced to be appreciated.” —Alexander Alekhine

BChess runs on most Unix-like machines with Python 3.6 or newer. You can install or upgrade it to the latest release from PyPI by first optionally upgrading your PIP:

python3 -m pip install --user 'pip>=20.1'

and then running:

python3 -m pip install --user --upgrade bchess

This will install the bchess program into ~/.local/bin folder, and if that folder is in your $PATH, then you will be able to play by just typing bchess in your terminal. If not, use python3 -m bchess.

Why

“I have always a slight feeling of pity for the man who has no knowledge of BChess.” —Siegbert Tarrasch

One problem with computer chess is that the engines are either impossibly strong, or give up without a fight. Neither is fun to play against, and there is little in between.

BChess fills in the middle ground by offering computer opponents of different strengths and play styles. These opponents are based on work done by other people. They deserve all the credit.

  • Maia, a human-like neural network for the Leela Chess Zero engine, developed by a team from University of Toronto, Cornell, and Microsoft Research;
  • Tiny Gyal and Mean Girl, neural networks of the same kind trained on a mixture of human and computer play by Dietrich Kappe;
  • Stockfish, the strongest classical chess engine around;
  • Leela Chess Zero, the strongest MCTS-based chess engine around.

BChess has also collected, and will use against you, millions of opening moves played by humans of different strength on Lichess. All to keep you from getting bored.

Q&A

“If a ruler does not understand BChess, how can he rule over a kingdom?” —Khosrow II Parviz

Is BChess any good?

It’s getting there.

Will playing BChess improve my skill?

It won’t.

To improve, one needs to practice deliberately, study theory, review games, and be guided by a teacher. BChess is about having fun.

Why the text art?

Maximizing the board size on the screen makes playing easier. Practice shows that textual piece names (i.e. KQRBN) are hard to recognize when the square size is 3x6 or larger: they get lost in the white space. Unicode symbols (i.e. ♚♛♜♝♞) are similarly small, and suffer from poor rendering on systems where fonts were not tuned well enough. This leaves us with only textual art.

Can I run this on Windows?

You can’t. Unless you know about “Windows Subsystem for Linux”. Then maybe.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bchess-0.0.10.tar.gz (82.8 MB view details)

Uploaded Source

Built Distributions

bchess-0.0.10-py3-none-manylinux_2_34_x86_64.whl (88.3 MB view details)

Uploaded Python 3manylinux: glibc 2.34+ x86-64

bchess-0.0.10-py3-none-manylinux_2_28_x86_64.whl (88.3 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

bchess-0.0.10-py3-none-manylinux2014_x86_64.whl (88.4 MB view details)

Uploaded Python 3

bchess-0.0.10-py3-none-manylinux2010_x86_64.whl (88.3 MB view details)

Uploaded Python 3manylinux: glibc 2.12+ x86-64

File details

Details for the file bchess-0.0.10.tar.gz.

File metadata

  • Download URL: bchess-0.0.10.tar.gz
  • Upload date:
  • Size: 82.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.5

File hashes

Hashes for bchess-0.0.10.tar.gz
Algorithm Hash digest
SHA256 8d81a24d73006456e884fa0f34f7d3f48b5edec38674c0b2fa5622affe383d14
MD5 2a2e27acf9967ab8219d11a9999a078a
BLAKE2b-256 78192bb788b9033e154bf5fffb91a7c60f461f8ab5ab24de5eee0d01b1155512

See more details on using hashes here.

File details

Details for the file bchess-0.0.10-py3-none-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for bchess-0.0.10-py3-none-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7aec539c355d6c176a92321028f56cac97ef209b9c15f5fada2b0c7fd192fa20
MD5 caf99414455642fc07bc8e4b766ede07
BLAKE2b-256 2851357b1056a9acc33647cef2f8887cd791c131de850447402ef754656bd54b

See more details on using hashes here.

File details

Details for the file bchess-0.0.10-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for bchess-0.0.10-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f07ff422839f6ab49bc66d00d176e968e1d2e217d1e046e8a95361f777ab9cdd
MD5 85900ae0a5425e00c487b8a94fe95b3f
BLAKE2b-256 f84a67377e888255d0ecf7bbe59c458d8d980ec894c43caaacf4fa3a27bbf015

See more details on using hashes here.

File details

Details for the file bchess-0.0.10-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for bchess-0.0.10-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 831853384021feeee4cf104b0047b2914ee2a81aa518b60777a15ea2dd6073fd
MD5 19f6f0eeb3f1c5fc1c227b8bd7f77f80
BLAKE2b-256 bbbd578ffa8fd2f3ceef332049651fc82dca14efd686af0df702f9f736023401

See more details on using hashes here.

File details

Details for the file bchess-0.0.10-py3-none-manylinux2010_x86_64.whl.

File metadata

File hashes

Hashes for bchess-0.0.10-py3-none-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 9c7326f3cc53ec1938f1072fa3d4c649da0108c4172c0ca837ff2e681434a25b
MD5 766389599bb2ba752066167d870749eb
BLAKE2b-256 fba96ee2782958f3f09c81f44c4fcad336ae793d5293684a3ed79d5c36616f9e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page