Inspiration

Mashiwords is directly inspired by the board game Codenames by Vladimír Chvátil. I've played this game a bunch with my friends both back in Texas and here at Hopkins and it's always super fun! I thought it'd be nice to be able to play the game without having to constantly lug the box back and forth between home and school.

I designed the game such that I could maintain the original atmosphere of the physical game as much as possible. Everyone should be looking at the same screen as much as possible. The spymasters should be sitting together, sharing a screen--occasionally discussing with one another. A timer that isn't well-enforced to resemble the physical sand timer. Covering up words that have already been picked, but being able to look under if you need to. The only difference I actively sought was the ability to add custom words.

What it does

Here is how you play:

Mashiwords is a game for 3 or more players.

The board consists of 25 words in a 5x5 grid. There are two teams: Team Mashimaro (the bunny) and Team Doraemon (the blue cat). Each card on the board belongs to either Team Mashimaro, Team Doraemon, Pusheen, or Evil Pusheen. 9 cards belong to Team Mashimaro, 8 to Doraemon, 7 to Innocent Pusheens, and 1 to Evil Pusheen.

Each team has a designated person called the 'spymaster'. The spymasters can view a card (tjiang11.github.io/mashiwords/spymaster) that informs them who each card on the board belongs to. It would be preferable to view the spymaster card on a separate mobile device. The spymasters need to get their teammates to guess which words belong to their team by giving them clues.

Team Mashimaro starts. The spymaster for Team Mashimaro gives a hint. Each hint consists of one word and one number, where the word is the textual hint and the number is how many words on the board the spymaster is referring to. For example, if 'Tears' and 'Plant' belong to Team Mashimaro, perhaps a clue the spymaster would give is 'Weepingbell, 2'. Clues must not be equal to or contain as prefixes/suffixes any word on the board. Clues can only be one word, unless they are a proper name (such as The Legend Of Zelda). After giving the clue, the teammates for the spymaster attempt to guess what words the spymaster is referring to. Teammates pick one word at a time and may only attempt N + 1 guesses where N is the number the spymaster gave in the hint. Once a wrong guess is made, that team's turn ends immediately and the spymaster for the opposing team can begin their round. If someone guesses on Evil Pusheen, that team loses the game. The first team to claim all its cards wins.

A default list of words is provided, but you are given the option to upload your own words to play with!

A timer is also available in case anyone gets impatient :)

How I built it

I built the game primarily with HTML/CSS and Angular.JS.

I fetched the graphics of Pusheen, Mashimaro, and Doraemon from the internet and used my very primitive image editing skills to make them among other miscellaneous visuals consistent for the game.

Challenges I ran into

I ran into a slew of challenges while building this, such as how to implement the core functionality of parsing a file of words in Javascript and properly binding them to the cards on the board.

What's next for mashiwords

There's a lot of stuff that could be added! -Online multiplayer functionality -Refining of the custom words feature with more input methods -Using a database to find popular word lists by other users -MORE PICTURES OF PUSHEEN (and the others) -1/2 Player mode with hint-generating AI

Share this project:

Updates