Follow the steps below for a "wow!":

1) Click here,

2) Call a friend,

3) Tell them to click here,

4) Click on your friend's avatar,

5) Write them a message,

6) Run around the mountains, and

7) Roam.

Inspiration

With minimalistic character and level design inspired by Nintendo's "Good Job!": good job

With the concept inspired by thousands of people complaining of Zoom fatigue: zoom fatigue

We bring you... roam

What it does

Roam is a social platform that aims to give people a fun alternative to Zoom or other video communication services in order to combat the widely prevalent experience of Zoom fatigue — tiredness, worry, or burnout associated with overusing such platforms (source: https://www.psychiatrictimes.com/view/psychological-exploration-zoom-fatigue)

How we built it

Roam is a NodeJS Express 4 application deployed on Azure.

For the back-end, we used Socket.IO as a way to create the platform's multiplayer and chat features as it enables real-time, bidirectional and event-based communication between users.

For the front-end, we used a HTML pre-processor called Pug together with THREE.js (for our 3D objects and WebGL setup).

For the design, we used Blender and custom made all our characters and environments.

Challenges we ran into

We wanted to use this Hackathon to learn a lot so... Almost everything was a challenge!

Before today neither of us had ever used:

1) Socket.IO,

2) Pug,

3) THREE.js, or

4) Blender.

(ps. That's 4 out 7 of the technologies we've used!)

Accomplishments that we're proud of

Among the pride of being able to learn so many new technologies, we're particularly happy of being able to use Azure (specifically, deploying the application to the Azure Portal using CI/CD pipelines on Azure DevOps) with ease. Azure is a technology that we mostly learned through hackathons so it felt really good to see that all-nighters can actually teach you a lot.

What we learned

We can confidently say one of our teammates can be employed as a Blender PRO after this.

What's next for Roam

  • Improving our THREE.js loaders to load complex textured environments,
  • Improve our character model,
  • Add login,
  • Add voice chat,
  • Increase variety of rooms, and
  • Allow for character customization.
Share this project:

Updates