We were inspired to make something for everyone at a time where a full college experience maybe lacking. Which brought us back to the 'olden days' when we hung out with friends on Club Penguin. Something based off of Club Penguin seem like the perfect solution because not only is it entertaining but everyone could interact and meet new friends in the comfort of their home.
What it does
Allow for anyone to make an account and play KnightClub, which is an interactive multiplayer platform for people to message their friends in the same room, show off their best dance moves, and play mini games like running through a maze and a game inspired by Frogger.
How we built it
To replicate the one and only Club Penguin we knew we had to host a game online like the good ole days when games were made by Adobe Flash Player (but of course with modern technology). This way the game is only a link away, no downloads required. We focused on using Unity to develop the game, and Blender to create all of the 3D models in game. As for the website, we focused on using React.js and React libraries to build the site. Many of the character design shown on the website was also made with Blender. The site is currently live at knightclub.online, and served with Google Cloud Platform's virtual machine. Last of all for the backend is hosted through firebase and the API was written with Python.
Challenges we ran into
We ran into many challenges over the course of our project.
One of the major pain points we had to deal with was version control. Our project would constantly throw merge conflicts our way, even when a developer didn't make a change to the repository. It would also erase the work of our developers, leading to a lot of frustration.
Another major hurdle to our project was the backend. Backend web development is not the specialty of any of our group members, so it took a lot of collaboration and trial-and-error configuration to get it to work. One particularly difficult area to set up with the backend was Cross-Origin Resource Sharing (CORS) blocking our build from making requests to the backend. We had to learn a lot of important information to get this backend up and running, and this knowledge should hopefully prove itself useful for future projects
Accomplishments that we're proud of
Patrick (our back-end developer) learned python and Firebase with no prior back end or coding experience outside of 'intro to c' Catalina created environment and models from scratch Tiffany created a website using react that hosts a unity web browser game. She was especially proud of being able to host a unity project on a website because thats rarely done, of course through the help of a react library that she had found. Jon created the unity game that includes multiplayer, character animations, chat system, multi-room environments, and client-side server hosting
What we learned
-> How important it is to configure CORS into our server when working with web applications. -> How to host an API on Google Cloud Platform -> How to host and serve a website on Google Cloud's VM instance. -> To BACK UP all source code because anything can happen... as mentioned in the previous question -> Have a clear idea of how the backend should be laid out before proceeding.
What's next for KnightClub
For KnightClub we plan on adding more games, more items for the users to wear, crafting more rooms and interact-able objects for the environment, and adding a store and currency system
Log in or sign up for Devpost to join the conversation.