|
3 | 3 |
|
4 | 4 | ## What does Rudim do? |
5 | 5 |
|
6 | | -Rudim is currently a work in progress. The aim is for Rudim to be able to play above average chess. |
| 6 | +Rudim is currently a work in progress but is in an MVP phase - you can [play with Rudim on Lichess](https://lichess.org/YaGBp2Cw). |
7 | 7 |
|
8 | | -Rudim currently has a working implementation of [Bitboards](https://en.wikipedia.org/wiki/Bitboard) and Move Generation. It uses simple straightforward bitboard logic for generating legal moves of a given position and can currently calculate roughy 1000 KN/s according to simple perft on my local. |
9 | | - |
10 | | -Rudim has a basic implementation for the [UCI Protocol](https://www.shredderchess.com/chess-features/uci-universal-chess-interface.html) - i.e. if you try loading the engine into a GUI like Arena and generate moves - it would be able to play a game of chess. It currently does not evaluate the best move in the position, just picks any of the available moves arbitrarily. |
| 8 | +If you see Rudim as offline - the server might be down. If Rudim is online but not accepting your challenge, Rudim might either be playing someone else (currently can play only one person at a time) or the server might be restarting - try again later. |
11 | 9 |
|
12 | 10 | ### What all does Rudim implement? |
13 | 11 |
|
14 | 12 | - Bitboards & Magic Bitboards |
15 | 13 | - UCI Protocol |
16 | 14 | - Simplified Evaluation (Piece Square Tables) |
17 | 15 | - Tapered Evaluation |
| 16 | +- Negamax with Alpha Beta Pruning |
| 17 | +- Quiescent Search |
| 18 | +- Move Ordering - MVV LVA |
18 | 19 |
|
19 | 20 | ### What's next for Rudim? |
20 | 21 |
|
21 | | -- Write a search algorithm to scan through the tree, prune unnecessary nodes, and evaluate leaf positions. |
22 | | -- Update the UCI code to include the extra options for the `go` command. (These are mostly timers & infinite search until an async stop is called - which would need the above two steps in place first) |
23 | | -- Improve the Search, Move Generation, and Evaluation algorithms. |
| 22 | +- Finish the implementation for the UCI commands (and any changes in the implementation for Rudim that might be a result of it) |
| 23 | +- Improve the Search, Move Generation, and Evaluation algorithms to make Rudim stronger. |
24 | 24 |
|
25 | 25 | ## How does Rudim work? |
26 | 26 |
|
27 | | -I've written a blog post on my journey through creating Rudim - you can read up on it [here](https://vishnubhagyanath.dev/blog/2022-01-28-rudim-1/). |
| 27 | +I've written a series of blog posts on my journey through creating Rudim - you can read up on it [here](https://vishnubhagyanath.dev/tags/rudim/). |
28 | 28 |
|
29 | 29 | ## Running Rudim |
30 | 30 |
|
|
0 commit comments