— PROJECT NAME
Bloodtoon
— ROLE
Programmer
Gameplay designer
— DATE
January – April 2022
— SOFTWARES USED
Unreal
Wwise
Perforce
Bloodtoon is a game prototype made as part of a game design course at UQAT. We had to create an original game concept inspired by a fictional character. Our team's attributed character was Inkling from Splatoon (Nintendo, 2015). We decided to take inspiration from its cute and mischievious aesthetic, but also from the paint-spraying mechanic of its original game.
The player embodies a little blood demon that must reach and take back control of Hell's great plaza from other monsters. To do this, it will need to use its ability to shapeshift between its normal appearance and its arachnid form.
You can download the final prototype on itch.io here. You can also watch a demo of the game here.
This project was made by a team of 8 people (myself included) on Unreal Engine 5:
Having never played Splatoon before, I analyzed its gameplay extensively to recreate some of its mechanics and figure out what we could do differently. Me and the team quickly established that we could bank on our character having a form-switching mechanic, each with their own gameplay advantages: one for shooting and the other for greater mobility.
Our original idea for the character and its mechanics was poorly received by our teachers and tensions were high between the art and design team. However, after another brainstorm and more communication between the 2 teams, we settled on the idea of a demon with blood manipulation powers. From this, we came up with a gameplay loop we found satisfying.
Most ideas found during the initial conception were found as a group effort and polished as the project went. However, with my programming knowledge, I could more easily advise the team on how feasible some mechanics would be with the time allocated to us. This allowed us to waste less time on unrealizable or overly complicated concepts.
In the end, these are the mechanics we came up with for each form (design images by Guillaume Massé):
This lumbering form was designed to focus on offense. With it, the player can spray blood on surfaces and enemies. It can also take bones from inside its body and throw them on enemies, as well as specific walls to create platforms from coagulated blood.
While slower on normal surfaces and incapable of shooting blood, this form can recharge the demon’s blood supplies when standing in blood. It can also scale bloody walls and its increased speed on blood allows it to reach normally unreachable areas.
My main task for this project was to program most of the player’s controls, with the exception of the paint-spraying mechanic. This included:
Switching form and climbing proved a greater challenge than anticipated. I initially programmed it to switch between the two models (with one being under the map) while keeping momentum values. However, this caused issues where the player could get stuck under the map if it switched back fast enough. The issue was finally resolved by modifying how it worked and with the help of my teammate Juniper Bouchard.
As for the climbing mechanic, it took several tries to come up with satisfying controls. In the end, it was a achieved with a mix of multiple linecasts for precision purposes and the reuse of the blood detection mechanic (using UV detection) I had worked on earlier in the project.
While this particular mechanic went through several iterations as problems appeared, I am satisfied overall by the final result.
As mentionned earlier, one of the mechanics i worked on was the creation of bloody platforms. This mechanic in particular was redesigned mutiple times. Since it was the team’s first real Unreal Engine experience, our initial idea to create bridges from bones by spraying blood between them seemed more trouble than it was worth considering our limited timeframe.
Thus, I first made it so the player had to charge a bone with blood to make a simple platform appear. After some playtesting, this idea was modified to make the platform appear instantly on impact since it was slowing down gameplay too much otherwise.
Most of the issues I had were fixed by communicating with the artist that modeled the bones. While some infrequent issues still remain regarding bone placement and rotation, I gave the player an input to reset every thrown bone, which was appreciated by players.
Finally, apart from player controls, I was also tasked with some environmental interactions, notably with control points in the later part of our prototype.
I find the little growing effect I made when charging a control point particularly satisfying. Made with a simple Unreal timeline, it provides the player with visual feedback and this simple animation was also reused when creating bloody platforms.
In conclusion, I am really proud of this project. While we started on the wrong foot, we managed resolved our conflicts and I came out of this project with a greater understanding of what the art team needs to do their work. Each team member gave it their all for this prototype to succeed and it shows in the final product’s quality.
It’s also the first big project I did with Unreal Engine and I learned a lot by working on all these mechanics. I would finally like to give special thanks to Juniper Bouchard, who made the main surface covering mechanic work wonderfully.