07 Player’s Death

Setting up the player’s death schematic and game over.

In this tutorial we’ll create the schematic handling the player’s death and game over, and add tagged machines for receiving damage and death to the player.

Player Death: Schematic #

First, we’ll set up the schematic animating the player’s death and displaying a game over dialogue. When the player selects restart, the level will be reloaded, starting a new game.

Open the Makinom editor, navigate to Schematics and create a new schematic. Change the following settings.

Play Mecanim Animation #

Add Node > Animation > Mecanim > Play Mecanim Animation

We’ll use this node to play the death animation of the player by setting the Die trigger parameter.

  • Object
    Select Machine Object.
  • Play Mode
    Select None.

Click on Add Parameter to add an parameter that will be changed.

  • Parameter Name
    Set to Die.
  • Parameter Type
    Select Trigger.

Play Sound #

Add Node > Audio > Audio > Play Sound

We’ll use this node to play the player’s death sound.

Play On #

  • Object
    Select Machine Object.

Audio Settings #

  • Audio Clip
    Select Select Audio Clip and Player Death.
    The audio clip can be found at Assets/Tutorial Resources/Audio/Effects/.
  • Play One Shot
    Enable this setting.
  • Volume
    Set to 1.

Wait #

Add Node > Base > Wait

We’ll wait for 1 second.

  • Time (s)
    Set to 1 (Value).

Show Dialogue #

Add Node > UI > Dialogue > Show Dialogue

This node will display a dialogue using a GUI box. We’ll display the game over message as a choice dialogue.

  • Dialogue Type
    Select Choice.
  • UI Box
    Select Message.
  • Text (Message Content)
    Set to:
    Game Over

Choice Settings #

Click on Add Choice to add a choice. We’ll display a single choice for the player to restart the game.

  • Text (Choice 0)
    Set to:
    Restart

Load Scene #

Add Node > Game > Scene > Load Scene

This node will load a scene. We’ll use it to reload the current scene.

This node is connected to the Choice 0 slot of the Show Dialogue node.

  • Reload Scene
    Enable this setting.
  • Load Type
    Select Load Level.
  • Position Type
    Select None.
    Since we already have the player in our scene, we don’t need Makinom to spawn the game object.

Change Variables #

Add Node > Value > Variable > Change Variables

We’ll reset the score to 0. Click on Add Variable to add a variable change.

  • Change Type
    Select Variable.
  • Variable Key
    Set to score.
  • Variable Origin
    Select Global.
  • Type
    Select Int.
  • Operator
    Select Set.
  • Float Value
    Set to 0 (Value).

And that’s it for the schematic – click on Save Schematic and save it as PlayerDeath in Assets/Schematics/.

Take Damage: Tagged Machine #

Now, we’ll first add the tagged machine handling the player taking damage. Select the Player game object in the scene and add a tagged machine component to it (e.g. using the component menu: Makinom > Machines > Tagged Machine). Change the following settings.

Start Settings #

Click on Add Starting Tag to add a tag that can start this machine.

  • Starting Tag
    Set to damage.

Machine Execution Settings #

  • Schematic Asset
    Select TakeDamage.
  • Execution Type
    Select Single.
  • Update Type
    Select Update.

Resource Overrides #

Expand the Resource Overrides to change the used audio clip.

  • Override Audio Clips
    Enable this setting.

Click on Add Audio Clip to add an audio clip that will be used.

  • Audio Clip
    Select Player Hurt.

Player Death: Tagged Machine #

Finally, we’ll add the PlayerDeath schematic using a tagged machine. Add a tagged machine component to the Player game object (e.g. using the component menu: Makinom > Machines > Tagged Machine). Change the following settings.

Start Settings #

Click on Add Starting Tag to add a tag that can start this machine.

  • Starting Tag
    Set to death.

Machine Execution Settings #

  • Schematic Asset
    Select PlayerDeath.
  • Execution Type
    Select Single.
  • Update Type
    Select Update.

And that’s it for now – apply the changes to the prefab by clicking on Overrides > Apply All (top of the inspector).

Don’t forget to save the scene.

Testing #

Drag some of the enemy prefabs into the scene and click on Play. The enemis will now be able to damage the player – once the player’s health reaches 0, the player dies and the game over dialogue is displayed.

The next tutorial will handle spawning enemies.