Inspiration

We decided to make this project to give people something more to do during their isolation and lockdown. Lots of games and quizzes that were great fun at the start of lockdown have started to become stale, so we wanted to add some more novelty to them!

What it does

Our project is a website (currently hosted at https://www.oliver-ursell.tech/GUH) which allows you to log on as a user, when your friend loads one of the games from our github. There are three game: Frogger, everybody plays against each other to get past all the traffic and be the first one to the top. Boss battle, everybody works together to defeat a boss, dodging lasers and making sure they make the best impact. DoD, a text based adventure where each user can vote for their groups chosen path, discovering an exciting story along the way.

All of our systems were built with mqtt in a reliable, scalable manner. The games were designed to be hosted by one user and have been tested with upwards of 40 users at a time, although we believe we can do much more! The games are fun for small groups and a great way of bonding with a whole lecture theatre. Shouting and whooping to the skies!

How we built it

Our website was built with html, CSS and Javascript, using a javascipt mqtt library. Dod was built in Java (Processing 3) using the processing mqtt library. Frogger was built in python, using the same protocol again with it's own library. Finally C++ was used for Boss Battle.

Challenges we ran into

The use of multiple different languages to build each of our games was an exhilarating and highly educational experience, we struggled with integrating C++ and our network, however learnt to love Sdl all the same, along with pygame, Processing 3 and graphical web design. Our backend universally, providing code to access our broker in 3 different languages shows the versatility of our publish / subscribe system.

Accomplishments that we're proud of

Getting it to work! We were very surprised by the scalability of our programming, we learnt Pygame from scratch, Sdl in C++ from scratch and Processing 3 from scratch, skills we all hope to use extensively again.

What's next for MOA - Multiplayer Online Arcade

More Games! We want to help people tackle that boredom and get closer to each other. Playing our Frogger game in particular has strengthened some friendships, and awoken some enemies. A test with a large number of people is coming next, we want to know just how far we can go!

Share this project:

Updates

posted an update

Please note that the games are hosted using the broker test.mosquitto.org in order to get over the fact we are unable to port forward in our student Accomidation. In a release scenario running the server program would include loading a broker, allowing you to connect to the IP of the main computer. This has three consequences:

  • Use "test.mosquitto.org" as the host IP when the game is run
  • Running two games at a time is not possible. It would be in the scenario explained above where the user hosts their own broker on their ip.
  • The game's server can be temperamental since the broker is constantly being used for testing both in the software it runs, and others using the software for their own projects. More about this here: http://test.mosquitto.org/

Log in or sign up for Devpost to join the conversation.