A piece that moves like Rook, Bishop and Knights is called Amazon. The Lance comes from Shogi but can only slide forwards. IMHO it's fine to use existing pieces from other variants. I'm not at all fan of swapping piece names and movement like you do. What a mess ....
Made a "Working" version of Chess on a Really Big Board in Python
You also swapped the moves of the Wazir and the Man compared to what is commonly used for pieces with those names.
BTW, I made a JavaScript program to embed diagrams for variants like this (including a UI and an AI)on a web page, see for instance:
https://www.chessvariants.com/index/listcomments.php?id=35127
One only has to specify the piece names, moves and locations; the AI estimates the piece values by itself. It is also pretty slow, for such large variants.
If you need help, please contact our Help and Support team.
I've been getting into big chess variants lately and I, disappointed with the few options there are in playing these variants, decided to follow a tutorial on Youtube by Eddie Sharrick on how to make a simple Chess GUI and Chess AI. (you can find his channel and chess program tutorial here)
I took some creative liberty to scale the board up to 16x16 and added a few pieces:
- The Chancellor (moves like a rook and knight)
- The Archbishop (moves like a bishop and knight)
- The Lance (moves like a bishop, knight, and rook)
- The Mann (depicted as a king without a base, moves 1 square orthogonally)
- The Ferz (depicted as a queen without a base, moves 1 square diagonally)
- The Wazir (a non-royal, pentagonal shaped piece that moves like a king)
- And the Alfil (depicted as an elephant, leaps and only leaps 2 squares diagonally)
The pawns can move up to 5 squares ahead on their first move, only promote to a lance once they reach the last rank, no en passant nor castling (I saw that there is no point anyway since, for example, you need to move a ton of pieces just to castle), implemented checkmate and stalemate but I haven't implemented any repetition or 50 move draws.
Mr. Sharrick (the creator of the code) himself has stated that he does not want to share his original source code of the program, but I guess the changes I made are major enough that i can share mine here.
REQUIREMENTS:
- you must have Python 3.8 installed
- you must have the pygame module installed
INSTRUCTIONS ON HOW TO USE THIS PROGRAM:
1. In the project folder, run the "ChessMain.py" file
2. if you want to play against AI, or pit 2 AIs against each other, open the "ChessMain.py" file
on line 54 and 55, "playerone" is True if white is human False if AI and "playertwo" is True if black is human False if AI
3. if you want to change the depth of the AI (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. I apologize that some of the code is written in my native language but if anyone knows ways on how to improve the AI that would be appreciated