Inspiration
The creators of Megalodon were both extremely interested in chess at the time. We were also aspiring programmers at the time. So we decided to take on a momentous task of creating a chess engine that could beat both of us.
What it does
Megalodon is a chess engine which interfaces through the UCI protocol.
How we built it
Megalodon was built completely from the ground up, move generation, searching for the best move, etc. To optimize Megalodon we used techniques such as bitboards, transposition tables, and alpha beta pruning.
Challenges we ran into
Creating a chess engine isn't easy, we ran into numerous roadblocks at which we either had to make touch decisions, or come up with clever solutions. One large problem that we had was performance. The faster the engine can run, the more chess moves it can access, improving the quality of the engine. One large aspect which we improved was move generation. Initially we did move generation through vectors in C++. We soon realized that this was too slow, so we changed our method to bitboards which resulted in significantly faster speeds.
Accomplishments that we're proud of
We were able to make the engine strong enough that it could defeat the creators. That was the goal we set out to do, and we did it.
What we learned
We learned a lot of chess engine optimization strategies as well as working with 64 bit numbers much better.
What's next for Megalodon
In the future if the developers choose to continue to work on it, we will likely include even more optimizations to improve Megalodon's ELO.
Log in or sign up for Devpost to join the conversation.