Tactical Pigeons 🐦

MySQL
OOP
MVC
Serverless Functions
JavaScript
Express.js
Socket.io
Railway
Git
GitHub
Trello
Figma
Events
HTML
CSS
Bootstrap
EJS

A pigeon focused, turn based multiplayer strategy game where you attack, defend, and steal food from rival pigeons. The interdisciplinary term project in our second semester at BCIT using the foundational skills we learned so far.

Summary ✨

A turn-based online game developed during my second semester at BCIT as part of an interdisciplinary project. Working in a team of four, we used `Vanilla JavaScript`, `Express.js`, `Node.js`, `MySQL`, and `Socket.io` to build the game. My role as a Full-Stack Developer involved implementing the database, assisting in server hosting, and supporting my team. Challenges included collaborating with designers and adjusting to working in a larger team. This experience taught me the importance of teamwork and trusting my teammates, leading to more innovative and remarkable outcomes.

Details 🔎

Tactical Pigeons is a fun turn based online game where you attack, defend, and steal food from rival pigeons. The interdisciplinary term project in our second semester at BCIT using the foundational skills we learned so far.

Collaborating in a team of 4, we had 1 month to plan, work with a team of designers, and develop the game from scratch. Due to the requirements of this project, we ended up using `Vanilla JavaScript`, `Experss.js`, `Node.js`, and `MySQL` to build this game. We also used `Socket.io` to implement the multiplayer functionality of the game.

My role 🫡

As a Full-Stack Developer in this project, I suggested using the MVC design pattern, collaborated with 3 other developers to plan and implement the game, implemented the database, helped with hosting the server on `Heroku` and `Railway`, integrated the real-time gameplay logic by connecting the frontend to the backend utilizing `JavaScript Event API`, installed and configured `Webpack` to bundle the frontend code, helped with the frontend design and styling, and supported my team members with any issues they had.

Challenges 🥵

Collaborating with the Designers

Working with the designers was a challenge as we couldn't communicate with them efficiently due to their busy schedules and different campus locations. Although we didn't stop working on the project, we were a little worried that we wouldn't have the required assets to finish the game on time.

Working as a Team

Before this project, I had never worked in a team of more than 2 people. Lacking teamwork experience and collaborating on a single project with 3 other people was a challenge for me at first, since I had a faulty and egoistic mindset that I didn't need to collaborate with them and take things into my own hands! But, I ended up loving it!

Takeaway 📖

A team can ideate and accomplish more than what an individual can ever come up with or imagine. And, trusting your teammates is en essential element of teamwork.

This experience truly changed me and my perspective. I discovered the value of trusting my teammates and experienced the remarkable outcomes that collaboration can yield. Had I been the sole individual tackling this project, the notions we developed collectively would've been unattainable. While completing the project on time was not an issue for me, I had to consider what mattered more: adhering to deadlines with a mediocre concept, or delving into innovative and unconventional ideas? I opted for the latter.

Contact