Inspiration
We took inspiration from typing-based games; namely, something like ztype. In addition to that, we explored the concept of a multiplayer typing game, with more advanced strategies involved such as blocking and cutting off your opponent.
What it does
The project contains two components, a backend, and a frontend.
Frontend
Built with React, it provides the player with the interface to the game: the graphics, sounds, controls, and some of the game logic.
Backend
Built with Python, it hosts a server that accepts Socket.IO connections, maintains open game rooms, and coordinates packets between players.
How we built it
In the backend, we used Python. We mainly used React.JS for the frontend and communicated between the frontend and backend with Socket.IO. We used Sanic to run the Socket.IO server.
The service is hosted on Google Cloud.
Challenges we ran into
At the beginning of the project, we had a bit of trouble deciding on our idea, taking us more than 3 hours. Additionally, we also had issues bringing up the Socket.IO server as we did not have much experience with the library.
Accomplishments that we're proud of
- Building a frontend UI that was both responsive and aesthetically pleasing
- Designing sound effects for the game that made the game feel more complete
- A speedy backend service for coordinating games between players
What we learned
- How to design interesting sound effects
- How to host a Socket.IO server in Python
What's next for LetterGrid
- Refine game graphics with animations
- More advanced backend which maintains game state
- Cheat prevention
- Different types of maps
Log in or sign up for Devpost to join the conversation.