Skip to content

Commit fb620ae

Browse files
committed
2 parents 41c6575 + 49a8d5a commit fb620ae

File tree

1 file changed

+12
-13
lines changed

1 file changed

+12
-13
lines changed

README.md

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,9 @@ This repository tracks the journey of writing my first chess engine. It's writte
77

88
## Motivation
99

10-
My focus was on creating a *minimal* engine with just enough features and optimizations to become a reasonably strong player.
11-
I try to keep the codebase small but more importantly simple and human readable.
10+
My focus is on creating a *minimal* chess engine with just enough features and optimizations to become a reasonably strong player.
1211

13-
I learned a lot about how a chess engine operates and how critical components like move generation or tree search can be implemented correctly.
12+
__Version 0.2__ of MinimalChess uses iterative deepenging search with alpha-beta pruning and a simple killer-move heuristic and evaluates a position by counting material. That's all. This lack of sophistication causes it to play rather weak at only a little over 1000 ELO. Nothing to brag about but it makes it a good sparring partner for weak human players like myself and chess programmers who are just starting out. (Again - like myself) The engine is open source and I tried to write code that is as simple as possible to both understand and explain. It could be smaller or faster but I doubt it could be much simpler than it currently is. ;)
1413

1514
## Making Of Videos (Chess programming tutorial)
1615

@@ -21,30 +20,30 @@ I have documented each milestone of the development in an accomanying [Youtube](
2120
1. [Making of MinimalChessEngine - Episode 3: Move Generation](https://www.youtube.com/watch?v=j6bNdkQnL0Q&list=PL6vJSkTaZuBtTokp8-gnTsP39GCaRS3du)
2221
1. [Making of MinimalChessEngine - Episode 4: Search & Eval](https://www.youtube.com/watch?v=b3DMIhmPSvE&list=PL6vJSkTaZuBtTokp8-gnTsP39GCaRS3du)
2322

24-
## Download the Engine
23+
## Play the Engine
2524

26-
I've uploaded a Windows build here: https://github.com/lithander/MinimalChessEngine/releases/tag/MakingOfPart4
25+
You can find prebuild binaries of different versions of MinimalChess for Mac, Linux and Windows here on github.
2726

2827
### MinimalChessEngine
2928

30-
Add MinimalChessEngine.exe as an engine to an UCI compatible Chess GUI such as CuteChess. I expect it to play at roughly 1000 ELO in a very non-human style.
31-
It doesn't provide any options to configure and is hardcoded to make a move in less then one second so it should be compatible with all but the fastest time controls. There are no hash table settings or opening books to disable "advanced" techniques like this aren't implemented.
29+
To play I recommend you add MinimalChessEngine as an engine to an UCI compatible Chess GUI such as [CuteChess](https://cutechess.com/).
3230

3331
### MinimalChessBoard
3432

35-
Run MinimalChessBoard.exe directly to get a console based Chess GUI with a few commands that help debugging the code!
33+
You can also run MinimalChessBoard to get a console based Chess GUI that allows you to play chess against the engine. I don't recommend it though. This part of the project is mainly used during development for analysis and debugging purposes!
3634

3735
Command | Description
3836
----------------- | -------------
3937
[move] | You can play the game by typing in the move you want to make in the long algebraic notation e.g. "e2e4" to move white's King's Pawn.
4038
reset | Reset the board to the start position.
4139
fen [fenstring] | Setup the board to represent the given position.
42-
perft [integer] | Compute perft values of the given depth
43-
divide [integer] | Compute perft values of all available moves
44-
! [integer] | Play the best move, search it with the given depth
45-
? [integer] | List all available moves
40+
perft [depth] | Compute perft values of the given depth
41+
divide [depth] | Compute perft values of all available moves
42+
! [depth] | Play the best move, search it with the given depth
43+
? [depth] | List all available moves
4644
?? | Print the resulting board for each available move
4745

4846
## Help & Support
4947

50-
If you encounter any problems of have questions or comments don't hesitate to contact me or open an issue or engage in the discussions section of this repositor.
48+
Please let me know of any bugs or stability issues and must-have features you feel even the most barebones engine should support but MinimalChess is lacking.
49+
Don't hesitate to contact via email or open an issue or engage in the discussions section of this repository.

0 commit comments

Comments
 (0)