This game is a slightly modified version of the traditional Scrabble. Scrabble is a game of words! It’s an exciting way to build your vocabulary and really fun to play if you have a passion for language. Playing with a smart computer AI can never fail to teach you an array of new words making it a novel learning experience! In every turn, the player is allowed to make a word on the board, following a set of rules. The board bestows a lot of bonus points at specific locations which the player can use to his advantage while making a move. The word made in any particular turn must be attached to any of the previous letters already on the board, a technically limiting, daunting and challenging task! The game takes into account that some letters are rarely used in the English language. Hence if you use these uncommon letters you get a good amount of extra points! The points written on each letter tile reflect how much that letter is worth in a formed word. For example, while A is only worth 1 point, a letter like Q is worth a whopping 10 points, and F is valued somewhere around the middle at 4 points! After every turn, the score is updated. There are different ways to end this game. Since there are fixed number of tiles in play, if all the tiles are used up, the game will end. If the player quits the game, that would be counted as a forfeit and the game will conclude. If no word can be formed in the current board by any player, the game would also come to an end. In all these cases, the points scored by the player is compared to the computer’s score and the winner is decided. This game has a hint system. When the player is unable to find a suitable word to play in a particular turn, he/she can use the hint button to allow the computer to suggest a possible word. The computer highlights some tiles from the player’s rack and to keep it interesting, it’s up to the player to figure out where on the board these letters can be re-arranged to make a meaningful word! Since the computer has access to a wide range of words, trust it to find a high scoring word for you almost every single time and be ready to rack your brain to solve the anagram! For my user interface, I drew ideas from the board game scrabble and used this to design my game’s board. I also used features from the Scrabble App on Android and the Words with friends App. The Scrabble App had features like exchange and shuffle which I incorporated into my game. However, I did not like the fact that in most of these online apps, you had to drag the letter into position because I felt that this was very inconvenient and slowed down the game. So I made my game friendlier. It just involves simple clicks and some keyboard shortcuts. I also animated the tiles falling into place so that it is easier to notice where the Computer made its move and this also makes my user interface more lively. I also used different coloured tiles for the different bonus points like double word and triple letter so that it is easier to judge where you want to place your word. I also displayed on the right hand side of the board, the last word player by both the computer and the player to ensure that the player knows exactly what changed on the board since the last turn! I have a help screen that describes the keyboard shortcuts I have created and also an instructions page to describe the rules of the game. The user interface also provides useful comments and error messages as and when it is required.
The modules I’ve used for this game are: • Tkinter • pyEnchant: To import the English dictionary and check if words made in the game actually exist in the language and are legal moves • Pickle: To store the dictionary in a different format to make the AI in my game much faster. This makes the program more algorithmically complex and the AI smarter. This game uses a dictionary of around 200,000 words! An important part of the algorithm for the AI was to figure out how to make it much faster and yet not compromise on the quality of words it makes. The Pickle dictionary object was used to solve this very problem! I have included a few keyboard shortcuts to make the game more fun to play with. I’ve also added some other fun features like: Shuffle: It rearranges the letters you have to help you spot interesting words in them! Pass: When you’re sure you can’t make a good word or would like to retain your letters to make something better later on, you could pass your turn! Exchange: When you need one more letter to make an awesome word, try your luck at exchanging one of your existing tiles for a random one from the letter bag! Undo Move: Remove the tiles you’ve already placed if you change your mind and thought of something better! When you make an incorrect word, you lose that particular turn. This is to ensure that players always learn only correct words in the language! When you play this game for a while, you will surely learn a vast number of fascinating terms and improve your vocabulary! This is my 15-112 Term Project, SCRABBLE!
Built With
- enchant
- pickle
- python
- tkinter

Log in or sign up for Devpost to join the conversation.