Inspiration

Ghost is—without a doubt—a great game to play on a road trip. Ghost is a spoken word game in which players contribute a letter to an incomplete, growing word to complete it in such a fashion that it does not end on their turn. Since we could not find this game online, we decided to create this nostalgic game in an online version.

What it does

• Enables a user to play Ghost online with their friends

• Play single-player against a bot in easy, medium, and hard difficulty

How we built it

• React.js -> front end

• Express -> back end + routing + server

• Hop.io -> client and server communication for multiplayer

• Chakra UI -> overall UI

• Datamuse API -> bot and game

Challenges we ran into

Our greatest challenge was connecting different players in the multiplayer mode. We had to learn to use hop.io channels and WebSockets, as well as take care of edge cases like players leaving in the middle of a game.

Another challenge was programming three levels of bots, with the hardest bot being extremely intelligent and near-impossible to beat. We had to filter through thousands of words and have the computer choose the optimal one.

Accomplishments that we're proud of

Proud to have a working online version of Ghost up and running before the time limit! Even prouder to have done it with an almost impossible-to-beat hard difficulty bot with Datamuse API and simple game logic.

What we learned

• Learned how to build a game with the different test cases (how to navigate each of the situations and prevent bugs)

• Getting more familiar with hop.io/socket.io and backend in general

• Effectively using Datamuse API

What's next for Ghost

• Integrating the concept of lives into the game (3 lives per player)

• Best of 7 or 11 Ghost rapid series games

• Adding more popular variants of ghost such as Superghost, Superduperghost, and Xghost

Built With

Share this project:

Updates