B

Berlin Checkers

Tired of checking up your phone for assignments? Or scrolling mindlessly on social media just to regret it later?Say no more. Play checkers with us or be a secret santa and invite your friends over!

The problem Berlin Checkers solves

Play Checkers online and test your board game skills! If you are also bored of sitting on your couch listening to lectures like us, come and enjoy this checkers game. The aim of this online game remains the same - to take the opponent pieces and to eliminate them from the board. You can play several different game modes including 1on1 vs. an Al, or online against your friends.

The game rules remain the same - pieces can only move diagonally one space at a time forwards. If you reach the other side of the board, you can create a King - this piece can move both forwards and backward. Use a King wisely to remove opposing pieces from the board.

Once you have mastered the basics and tested your skill against the Al opponent why not see if you can conquer the online world of checkers? You can join a quick match, or test your skills with a bot.

So refuse boredom and join us on this fun adventure!

Challenges we ran into

Challenges we ran into

We started this project as a fun project and specifically to learn how to create our own Al bot. We ran into a couple of problems, some of which we managed to find a work around and for others, we are still brainstorming.

• Creating different socket connections within a game was definitely a challenge. We have implemented video calling between players, real time chat messaging, as well as screen sharing. Each connection is done through a different client server connection.

• Saving the game state each time the user refreshes the website for a tough one. We created a model just to save the game state and update it for every move. After the game has ended, that object is automatically deleted.

• Likewise, we also had a tough time saving the chat history for the user and saving messeges even after refreshing. We managed to do it by saving chat in a chat model.

• We managed to implement the Al bot minmax algorythm correctly but we realized the bot only moved when the user refereshes the page. This sucked. So we created a game state model for this also and after turn that the user play, me made the bot to take its turn.

Discussion