SoulMate is a group project for my Gameplay module at Plymouth University, my role within the team was game designer and coder. It's a shape matching puzzle game where you drag your character's shape around to match you "suitor", when the shapes are close enough you absorb the suitor and move on to the next. The aim is to absorb as many suitors as possible by the time the game ends.
The main mechanic is to click one of 4 nodes on your blob and move them to match the shape of your suitor. The system uses the node's positions on both player character and suitor and uses the difference between them to work out their similarity. There's also a colour changing mechanic which massively reduces the score if the colours are different.
We originally tried a free floating node system that would allow the player to grab a node and move it anywhere inside the maximum bounds of the character. However, this was unrealistic given the requirement to compare node positions. A player could make the outlines match perfectly but with the nodes in the wrong position, delivering a confusing experience to the player. To remedy this I only allowed the nodes to move within a set area of the character, allowing for many shapes to be created but far less confusion.
With the scoring and timing systems we wanted to reward players who are doing well and try to encourage a flow state. To create this the player gains a multiplier for each match over a threshold, and loses one for each under, on top of this a higher multiplier causes the suitors to arrive at a faster rate. We combined this with adding more duration to the timer for close matches meaning that more skilled players will have longer games and exponentially higher scores.