Featured

Development of “Marble Racer”

This blog covers my role in the development of “Marble Racer” during this academic year. “Marble Racer” is the name of the game produced as a part of the “Ethics of Lootboxes” project. This project also includes a VR experience in addition to the main game. This project’s brief was compiled by our client Dr Tom Brock.

The “Ethics of Lootboxes” project aims to create a game that simulates the controversial lootbox system that a lot of big AAA games use as their main venue for monetisation, while simultaneously exposing its flaws. This system has raised a lot of ethical questions regarding the gambling aspect of lootboxes and the impact they have on gameplay.

The members with their respective roles and blogs of the “Ethics of Lootboxes” project are:

Prototype

Tasks

  • Research how some of the features described in the game documentation can be done in unreal.
  • Help prepare the presentation.

Release Reflection

At the stage of the release of the prototype, we had close to nothing done. We got a late start due to not being able to contact the client, it was hard to start the project without his input. To make up for this we made a very interactive PowerPoint with animations which was very well received, except for the fact that the text was hard to read. That also explains the lack of tasks during this stage of the development.

Friends and Family Alpha

Tasks

  • Implement the character jump.
  • Implement the character moving right endlessly.
  • Implement the “speed boost” power-up. (With Joshua)
  • Implement the “jump boost” power-up. (With Joshua)
  • Implement a high-score system.
  • Produce a questionnaire for the mini-showcase.

Release Reflection

During this stage of the project we focused on trying to get a solid “demo” game that people could enjoy at the showcase. I feel like we achieved that since we got mostly positive feedback at the showcase. The issue most players had with the game was that it was too difficult and some people didn’t like the jump mechanic.

Alpha

Tasks

  • Disable the A and D keys.
  • Save player coins and high-score.
  • Implement rotation animation for the ball.
  • Start procedural generation.
  • Help prepare the presentation.

Release Reflection

The main goals for this stage of the development was to get started with the lootbox system, the level’s procedural generation and improving the visuals, as well as fixing the issues that arose during the mini-showcase.

This release presentation was very well received because we acted on the feedback from the previous one and changed the colour scheme of the presentation.

The biggest hurdle during this time for me was to implement the save system. I had never done any work related to saving in Unreal, and had to a lot of research and testing to get it to work. In the end I managed to do it, although I was not able to implement the best solution due to lack of time and skill.

Beta

Tasks

  • Implement power-ups that are stored in inventory and activatable through key press.
  • Create and implement the flame effect for the speed boost.
  • Implement the speedometer.
  • Add music to the level and main menu.
  • Create and implement special effects when coins are collected.
  • Help prepare the presentation.

Release Reflection

This release was shortly after Christmas break, and because of that we able to make great progress by using the time we had during our breaks to work on this project. At this stage the game felt like it was at a good place with its most important mechanics in place and working as intended. The presentation for this release was extremely well received and got everyone really excited for Early Access.

The biggest hurdle I had to face at this stage was the inventory, I spent a long time researching how to do it and tried a lot of different approaches, until I found one that worked and suited the project’s needs. The final solution was not the most elegant since it was all hard coded, but given the circumstances this was the best I could manage.

Early Access

Tasks

  • Create and implement the UI for the inventory system.
  • Fix the timer to stop when the player dies.
  • Reduce coins when loot boxes are purchased and save the new value.
  • Test the game on android.

Release Reflection

At this stage the game was heading to its finale and most of the tasks were about polishing the game. The mini-showcase was a success since we got mostly positive feedback. The main complaints from players was that the lootbox shop was hard to access because you had to click on a button on screen and many suggested to add a key press to open it.

At this point I struggled with trying to get the coins working properly, I didn’t know how to edit an existing saved variable and also didn’t know how to overwrite its save. Took me a while to figure out how to do this, but in the end I was able to do it.

Release Candidate

Tasks

  • Fix the space bar issue that arose during the mini-showcase.
  • Implement the immunity power-up.
  • Improve the inventory UI.
  • Package the game for android. (With Joshua)
  • Create and implement visual effect to immunity pick-up. (Not Completed)
  • Save the power-ups received from loot boxes.(Not Completed)
  • Save the player collected skins. (Not Completed)

Release Reflection

This was the last stage of the project, meaning that it was mostly finished. As final adjustments I implemented the immutity power-up, but unfortunately didn’t have the time to create a visual effect for when it is used by the player. As a final task I tried to implement a way to save the power-ups and skins, however this proved to be too much of a hurdle and I couldn’t finish it.

In the end I am happy to say that I am very pleased with the final product of this project and it was an absolute joy to be able to participate in it.