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.

Built With

Share this project:

Updates