Dice Face

Brief of the game: Dice Face is a top-down shooter with a unique dice mechanic. The dice mechanic gives the player randomised buffs. These buffs include double damage, increased movement speed and piercing (how many enemies the projectile can penetrate). Dice Face features other basic mechanics, such as a dash and a lunge.

My original work-in-progress idea: My full vision involves a dice UI where the player can place buffs (the player has acquired them throughout the game) on each side of the dice. They can choose whichever combination of buffs they like. Rolling the dice to get a buff would require filling a metre by damaging or defeating enemies. They can have more than 1 of the same buff. This way, it is controlled randomisation. Players can choose to have all six slots used for one buff if they want that buff to be proct 100% of the time.

Dice Mechanic
In its current state, the Dice mechanic uses a "switch on int" node, which gets a random number from a "random integer in range" node. Which activates a buff for the correlating number. I only have three buffs now (movement speed, double damage and piercing). This current version is an incomplete prototype version.

Piercing Buff

Piercing is one of the buffs that can be gained through the dice mechanics. The amount of piercing stacks a player has determines how many enemies the projectiles can penetrate. (The above video is an example of max piercing stacks) Below are some of the nodes that show how piercing works.

"How Many Hit" is a variable that counts how many enemies the projectile has hit. If "How Many Hit" exceeds the number of piercing stacks, the projectile will stop penetrating and destroy itself. 1 stack of piercing means the projectile can hit 2 enemies. For example, if the player has 1 stack of piercing and the projectile has hit 2 enemies, the value of "How Many Hit" will be 2, which exceeds the piercing stack of 1. Therefore, the branch condition will be true and stop penetrating (the projectile will be destroyed). This is how the number of enemies a projectile should hit before being destroyed is determined.

Dash Mechanic

Dash can only move the same way the player moves (limited by the WASD keys).

It uses the launch character node.

Lunge Mechanic

Unlike the dash, which uses the WASD movement, the lunge moves in the direction the player is facing.

If the player hits an enemy while lunging, the velocity will change so that the player stops when they hit the enemy, rather than bouncing off of the enemy due to the high velocity. I did this so the lunge feels more like an impact when it makes contact with an enemy rather than bouncing off the enemy as the dash does. I made it this way because the purpose of the lunge mechanic is to hit enemies with it. When the player hits an enemy with the lunge mechanic, it deals 50 damage and reloads the weapon. This mechanic incentivises the player to engage in close combat rather than playing it safe from a range.
Below is a video showing the lunge hitting enemies and reloading the gun.


Special Enemy

The special enemy has an area of effect that damages the player.

The special enemy checks whether the player is overlapping and then damages the player. It then proceeds in a node loop that continually checks whether the player is overlapping and damages accordingly. It runs the Death function, which checks whether the player has reached zero health and ends the game if that's the case.