Game Bank
For a few weeks, a friend and I have been building a fun project where people can play a variety of games either alone or against a friend. It’s still a work in progress, and I would like to continue adding games, but nonetheless it’s currently functional with 5 games: tic tac toe, wordle wars, word search, minesweeper, and 2048. The games are either played against an AI or solo, and a dynamic scoreboard tracks each players progress and displays it respectively.
This was also my first time using Vue for JavaScript. In the past I have tried React, but I felt that I was able to grasp Vue way faster than React. Additionally, Vue’s built-in animations and templates helped, since I came from a more traditional web design background.
When the user first clicks any game, they will be brought to a load-in screen if you will. It prompts them for a username (for the leaderboard), and then gives them the option to play solo or ready up (if they are playing a multiplayer game).
If the user wants to play a multiplayer game, they need to copy the link, which will contain an id for the room, and then have the other person paste it into their browser. When they then click on the desired game, it will show both players and give them the option to be ready. When both player’s are ready, the game will start.
To go to the website:
I’ll give a run down of each of the games:
Tic Tac Toe
The classic game everyone knows to play. The objective is to get the most wins possible to add to your streak without losing. If the game ends in a win for the user, the scoreboard is updated, and the user has one point. A tie holds no change to the score, and a loss resets the score to zero. The game features an AI (the computer) that plays the best possible move against the user — given the board — 80% of the time, and the other 20% plays a random move. When first designing this game, the computer would always play a random move. However, this did not make much of an entertaining or difficult challenge, so we changed it to make the best possible move 100 percent of the time. This then would always end in a tie or loss, meaning that the scoreboard would never leave zero. So, we decided to implement a combination of the two that made the game challenging, but possible.
As detailed in the info section (top left of the program), the user simply clicks a grid using the mousepad, and the program places an X. The leaderboard displays the person who has the most wins out of the people currently playing together.
WordleWars
The one game without the leaderboard is WordleWars, which is a replica of the popular NYT game Wordle. Instead of the leaderboard, it displays the other person’s grid – without the letters – of course. Like the traditional Wordle, the program picks a random word each day and allows the user to play it solo — if they wish. But it’s more fun playing multiplayer against one or a few friends. Each user is racing to guess the correct word before the others, without failing to guess the word in six guesses.
Like traditional Wordle, green indicates that the letter of the word guesses is correct and correctly positioned. Yellow indicates that the letter guessed is in the word, but incorrectly positioned.
Word Search
Again, another classic game that is pretty self-explanatory. The program generates some random words and randomly fills them on the screen – either horizontally, vertically, or diagonally. It then fills the remaining columns with random letters, A-Z. A funny story is that when I was first generating the words to put into a words.txt file, I used some built-in dictionary with my computer. As it turns out, the dictionary was literally all words of English, including some old English words that no one has ever heard. There were also a few slurs, which made for a really funny ChatGPT prompt title, which now reads “slurs identified”.
To guess the words, the user clicks the starting letter of the word and drags their mouse along the line when they find the word. If the word matches, it’s crossed off the word list and shaded out in the grid. Shaded letter can still be used in other words. The game ends when the user has found all words and then gains a point on the leaderboard.
Kickball
It’s currently finals week at my school, and this upcoming week is the last of the year. The year has felt short, as time has definitely flown. But it also felt long, since remembering back to soccer season and the start of the year feels more like two or three years. Everything has sort of blended together into one big ball. I only have one final this week on Wednesday, which means next and last week are sort of throw aways. That is, we already took the final when prepping for the AP exam. So now, we just go outside during the exam blocks and play kickball or soccer to pass the time. Besides getting sweaty, it’s fun to relax and do nothing school-related for these past two weeks – almost like a reward for the rest of the year.
Hello, I enjoy reading through your post. I like to write a little comment to support you.