Programming
Teams
During the 2023 Okanagan Engineering Competition, I partnered with Andre Cox in a team of two to design and build a networked, battleship-style game in just 5 hours. Our project earned second place in the programming category.
Overview
This was my second year competing in the Okanagan Engineering Competition. The challenge for 2023 was to re-imagine a classic board game. We chose Battleship and decided to modernize it by introducing real-time multiplayer functionality through networking.
With only five hours to complete the challenge, our focus was on delivering a polished, functional experience that demonstrated both technical depth and usability.
The Game
We built the game using Next.js for the frontend and TailwindCSS for styling, allowing us to rapidly prototype and maintain a clean, responsive interface.
For real-time gameplay, we implemented networking using Socket.io, enabling two players to share and sync game state seamlessly. A central socket server handled communication and connection management between players.
This project significantly strengthened my understanding of real-time application development. I gained valuable experience managing state synchronization, handling connections, and designing responsive multiplayer interactions under time constraints.
Results
We successfully completed a fully playable version of the game within the allotted time and were awarded second place.
Looking back, one area for improvement would have been introducing a more creative twist or additional gameplay features. While our implementation was solid and technically sound, pushing the concept further could have helped us secure first place.
Takeaways
This competition was a highly valuable experience that reinforced my ability to:
- Work effectively under tight deadlines
- Collaborate in a small team
- Build and deploy real-time applications quickly
Technologies Used
- Next.js
- Node.js
- TailwindCSS
- Yarn
- Socket.io
- TypeScript