Forums

Made a "Working" Chess on a Really Big Board Version in Python

Sort:
acnalbapaCluaResoJ

recently I've been into big chess variants and I, disappointed with how few the options are on playing these variants, decided to make my own. I followed a tutorial by the YouTuber Eddie Sharrick (you can find his channel and the tutorial here) on how to make a simple Chess AI and GUI in Python.

I took some creative liberty to scale the board to 16x16 and added new pieces:

-The Chancellor (C, depicted as a knight with a rook's head as a base, moves like a rook and knight)

-The Archbishop (A, depicted as a knight with a bishop's base, moves like a knight and bishop)

-The Lance (L, depicted as a knight with a queen's crown, moves like a knight and queen)

-The Wazir (W, depicted as a pentagonal shaped piece, moves like a king but is non-royal)

-The Ferz (F, depicted as a baseless queen, moves one square diagonally)

-The Mann(M, depicted as a baseless king, moves one square orthogonally)

-The Alfil (G, depicted as an elephant, leaps exactly 2 squares diagonally)

Mr. Sharrick (the creator of the code) himself has stated that he does not want to share his original source code, but I guess my changes are major enough for me to share it here

REQUIREMENTS:

-You must have Python 3.8 installed

-You must have the pygame module installed

INSTRUCTIONS:

1. Run the "ChessMain.py" file

2. If you want to play against an AI or pit two AIs against each other, open the "ChessMain.py" file

on line 54 and 55, if playerone is True then white is a human if False then AI, if playertwo is True then black is human if False then AI (which means if both are false, both are AIs and vice versa)

3. If you want to change the Ai depth (not recommended, I'll get to this later), open the "SmartMoveFinder.py" file

on line 81 change the Depth variable to any whole number

P.S

the AI is super slow, depth 2 takes minutes just to make a move, I haven't implemented any move ordering or transposition tables, and quite frankly I don't know how to. if anyone know ways to improve the AI that would be appreciated, though i apologize that the code is partly written in my native language.