You are browsing as a guest. Sign up (or log in) to start making projects!

Ship #1 Changes requested

Stockpanda is an open-source chess engine made with Python that can be played through a custom web GUI!

Creating an engine is extremely technical, so I had to do thorough research on the different alogrithms to make the engine better and better.

I’m proud that my GUI has such a smooth user interface, as well as the fact that my engine is extremely strong! Building this was a blast :)

  • 24 devlogs
  • 23h
Try project → See source code →
Open comments for this post

1h 38m 14s logged

implemented two pieces of polish:

  1. victory confetti
  2. screen shake + sound effect on illegal moves

these changes were not too difficult, but I did run into a couple of bugs. i think i’m ready to ship! not much i think i can add at this point.

0
0
5
Open comments for this post

1h 43m 27s logged

made the move history travel-able! now, you can go backwards and forwards through the game’s history. there were bugs with this feature, but it works perfectly now!

0
0
2
Open comments for this post

1h 52m 16s logged

added more customization! there are now more options for customizing the time, board, piece, and now sound themes. this wasn’t too difficult; just tedious.

0
0
7
Open comments for this post

22m 12s logged

deployed this on Vercel! had to change a couple of things and vercel had some issues with the build, but i got it figured out! go to stockpanda.vercel.app!

0
0
4
Open comments for this post

1h 17m logged

implemented premoves! now you can make moves before the engine makes a move; similar to chess.com and lichess.org. i couldn’t get a screenshot cause it takes some time, so try it out yourself!

0
0
3
Open comments for this post

1h 6m 12s logged

added board annotations! if you’ve ever used chess.com or lichess, you would know you can highlight squares and draw arrows. now, you can do that on stock panda! implementing this was a lot easier than i thought, ngl. pretty smooth sailing.

0
0
4
Open comments for this post

1h 22m 21s logged

made it responsive on mobile! i came across a lot of bugs with it not working but i eventually got through the bugs. to accomplish this, i also ended up adding functionality to make moves by clicking instead of dragging. some people like it that way.

0
0
6
Open comments for this post

42m 8s logged

implemented a notation system on the side, similar to how chess.com andlichess.org do it. pretty simple, other than visual bugs with weird scrolling problems. super clean tho!

0
0
7
Open comments for this post

1h 25m 36s logged

implemented custom themes! now you can fully customize the look and feel of your chess game against Stock Panda! I love how intuitive the UI/UX is

0
0
8
Open comments for this post

1h 36m 46s logged

transformed the UI of the application. added extremely satisfying sounds that im genuniely so proud of. made it look like chess.com cause people recognize that. also, you can choose to play as black or white, which is really cool! finally, there are now animations for the computer’s moves.

0
0
5
Open comments for this post

34m 10s logged

implemented phase-based evaluation!

essentially, the engine changes based on the phase of the game (opening, middlegame, endgame). for example, you want to have your king active in the endgame but safe in the opening. thats what this change does!

0
0
5
Open comments for this post

26m 39s logged

implemented endgame tablebases!

essentially, chess is solved with 7 pieces or fewer. so instead of trying to calculate the perfect move in a complicated position, we can just look it up in a precomputed database of all positions with 7 pieces or fewer. this is a huge boost for endgame play, and also lets the engine play perfectly in those positions instead of relying on heuristics. the syzygy tablebases are the standard in the chess programming community, so i used them!

0
0
2
Open comments for this post

35m 15s logged

implemented an opening book!

essentially, for common openings, the engine has a file of the best moves in those common positions. this makes it a lot better (and faster) at the opening stage.

implementing it was pretty difficult because of some issues with the book file, but it eventually worked!

0
0
3
Open comments for this post

49m 57s logged

implemented transition tables!

essentially, transition tables cache evaluations to reuse if the position is achieved through a different set of moves (transposition).

0
0
4
Open comments for this post

50m 18s logged

implemented quiessence search!

basically, the engine keeps searching until the position becomes stable. for example, lets say the user can trade queens on move 5. it would see that and think that line is winning, but fails to see past move 5 where the opponent can recapture the queen. this 5-depth barrier is known as the horizon effect!

0
0
6
Open comments for this post

28m 36s logged

creating logo for stockpanda! it looks pretty cool to me, ngl. made in Figma. pretty simple but straight to the point. modeled after stockfish logo

0
0
3
Open comments for this post

1h 10m 41s logged

added iterative deepening!

essentially, it has a max thinking time and thinks as much as possible in that time. this makes it way faster!

0
0
2
Open comments for this post

37m 44s logged

added alpha-beta pruning! basically, if a branch in the tree is already bad, then my engine stops looking at the line (ex: blunders queen on move one, no need to look at that line).

only 26 lines changed, but it was difficult to implement and i kept facing errors.

0
0
1

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…