Inspiration

When we were first year students, we were overwhelmed by the new things we learnt during our first computer science course. There was a lot of content that was covered in lectures and labs each week, and outside of those classes we wouldn't spend much time on revising course content until the exams came by.

What if there was a way we could quiz ourselves on course content while having fun and getting to know people? And what if there was a way to also become familiar with important locations on campus as a first year student at the same time?

What it does

We built a social deduction game for COMP1511 students for them to get to meet other people doing the course, review course content, familiarise thmselves with the campus, and have fun while doing so. We have imitated Among us game where the tasks are multiple choice questions for the users to complete. Similarly for imposters, where they would require to complete task to sabotage. There's more functionalities, such as killing, and reporting.

How we built it

We built it using a lot of teamwork(!!) and React / ExpressJS, socketio, and Real Time Communication with Agora.

Challenges we ran into

One of the biggest challenges was figuring out how to build a real-time multiplayer game. None of us had done anything like that before, so it was a lot of trial and error. Getting all the players to stay in sync, making sure the game state updated properly for everyone, and handling things like disconnections wasn’t easy. Socket.IO helped a lot, but it still took time to get our heads around how it all worked.

Setting up real-time voice chat with Agora was also tricky. We had to learn how to handle audio permissions, manage different voice channels for each game room, and make sure it worked smoothly across different devices and browsers.

Designing the game itself was another challenge. We didn’t want it to feel like just another quiz app. Our goal was to make something fun that also helped students revise and connect with each other. And of course, debugging multiplayer code is just hard. When something breaks, it’s not always clear if the issue is on the server, the client, or somewhere in between.

Accomplishments that we're proud of

We’re really proud that we managed to build a working multiplayer game with real-time communication from scratch. That’s something none of us had done before, and it was cool to see everything come together.

Getting Socket.IO and Agora working smoothly was a big win. The voice chat makes the game feel way more social and immersive, and it really helps players work together (or deceive each other, depending on the role).

We’re also proud of the idea itself. Turning COMP1511 revision into a game that’s actually fun and social is something we would have loved when we were in first year. The in-game map based on real campus locations was a nice touch too. it helps new students get familiar with the uni while playing.

But maybe most of all, we’re proud of how we worked as a team. We all brought different skills to the table, and we learned a ton by building this together.

What we learned

We learned how to use real-time communication (RTC) using Agora, how to manage multiplayer game state with Socket.IO, and how to build a full-stack app with a smooth interactive experience.

What's next for SUS1511

We plan to expand SUS1511 beyond COMP1511. Our goal is to support other uni courses so more students can benefit. We're also working on integrating AI that can automatically parse lecture slides and generate relevant quiz questions for the game, making it scalable and easier to maintain.

+ 1 more
Share this project:

Updates