On The Bubble

A custom engine based game inspired by the game “Super Monkey Ball” with a big focus on user generated content.

On the Bubble is the project I worked on for most of my third year at Breda University of Applied Sciences. It is a custom engine project made for a Super Monkey Ball inspired game. The main selling points for this project are path-traced graphics and a custom level editor used for creating and share custom levels. While working on this project, I took on the role of generalist programmer. My focus was on supporting the creation of the level editor and the implementation of mod.io for the project. I worked on this project with 13 other developers. This game and engine were made with a combination of C++JavaScriptCSS, and HTML.

Link to the On the Bubble Steam page

My contributions

Mod.io

This project makes use of the Mod.io SDK for the sharing and downloading of user created levels. The player can create a custom level in with the build in level editor and upload it to the Mod.io servers. After that, this level can be found through the level browser. If the player wants to play a custom level, they only need to select the level, and the downloading process gets taken care of during the loading time.

I was fully responsible for the Mod.io implementation in On the Bubble. The game contains most of the standard features provided by and required from Mod.io. the game supports the following:

  • Mod.io login through Steam
  • Level uploading
  • Browsing for the most recent levels
  • Browsing for the most downloaded levels
  • Browsing for the best rated levels
  • Downloading levels
  • Deleting downloaded levels
  • Reporting levels

Steam based Mod.io login demonstration

Level publishing demonstration

Level browsing and downloading demonstration

Level reporting demonstration

UI implementation

The UI for On the Bubble is implemented with the help of the Ultralight library. This library allows us to create UI with HTML, CSS, and JavaScript. Because of my previous experience in web development with these languages, I helped set up some of the UI in the game to keep it responsive. I worked on the following UI:

  • Intro splash screen
  • Player HUD

Intro splash screen demonstration

Player HUD demonstration