Setting up the enemy machines.

In this tutorial we’ll set up the enemy game objects. We’ll add the schematics we created in the previous tutorial using different machines.

The setup for all 3 enemies (Zombunny, ZomBear and Hellephant) is the same (except for minimal differences). The following component setup can be repeated for all enemy prefabs, or you can just copy the components and paste them on the other enemies.

The enemy prefabs can be found at Assets/Tutorial Resources/Prefabs/. We’ll add the components directly to the prefabs.

Object Variables

First, we’ll set up the object variables of the enemies. Add an object variable component to the prefabs (e.g. using the component menu: Makinom > Scenes > Object Variables). Change the following settings.

  • Local Variables
    Enable this setting.
    The enemies can be spawned multiple times, so we don’t want them to share their variables.
  • Always Initialize
    Enable this setting.

Click on Add Variable to add an object variable.

  • Variable Key
    Set to health.
    Select the Value string type.
  • Type
    Select Int.
  • Operator
    Select Set.
  • Float Value
    Zombunny: Set to 100 (Value).
    ZomBear: Set to 100 (Value).
    Hellephant: Set to 300 (Value).

Copy the variable and change the following settings.

  • Variable Key
    Set to points.
  • Float Value
    Zombunny: Set to 10 (Value).
    ZomBear: Set to 10 (Value).
    Hellephant: Set to 50 (Value).

That’s it for the object variables.

Enemy Movement: Tick Machine

Next, we’ll add the EnemyMovement schematic using a tick machine.

Add the component to the enemy prefabs (e.g. using the component menu: Makinom > Machines > Tick Machine). Change the following settings.

Start Settings

  • Update
    Enable this setting.

Machine Execution Settings

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

Enemy Attack: Trigger Machine

The enemy’s attack will be started while the player is within the enemy’s trigger.

Add a trigger machine component to the enemy prefabs (e.g. using the component menu: Makinom > Machines > Trigger Machine). Change the following settings.

Start Settings

  • Trigger Stay
    Enable this setting.

Machine Execution Settings

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

Condition Settings

The attack should only start if the enemy’s and player’s health is above 0.

  • Check Variables
    Enable this setting.
  • Needed
    Select All.

Click on Add Variable to add a variable condition.

  • Variable Key
    Set to health.
    Use the Value string type.
  • Variable Origin
    Select Object.
  • Game Object
    Select User.
  • Is Valid
    Enable this setting.
  • Exists
    Enable this setting.
  • Type
    Select Int.
  • Check Type
    Select Is Greater.
  • Check Value
    Set to 0 (Value).

Copy the variable condition and change the following settings.

  • Game Object
    Select Player.

Local Start Variables

The Machine Start Variables we’ve set up in the schematic are automatically added here with their default values, so all we need to do is adjust them to our needs. Make sure both variables are enabled.

  • damage
    Zombunny: Set to 10.
    ZomBear: Set to 15.
    Hellephant: Set to 30.
  • attackTimeout
    We can keep the default value of 0.5 on all enemy prefabs.

Take Damage: Tagged Machine

Now, we’ll add the TakeDamage schematic using a tagged machine that will be stared by the tag damage.

Add a tagged machine component to the enemy prefabs (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

  • Asset Type
    Select Schematic.
  • 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
    Zombunny: Select ZomBunny Hurt.
    ZomBear: Select ZomBear Hurt.
    Hellephant: Select Hellephant Hurt.
    The audio clips can be found at Assets/Tutorial Resources/Audio/Effects/.

Enemy Death: Tagged Machine

Finally, we’ll add the EnemyDeath schematic using a tagged machine started by the tag death.

Add a tagged machine component to the enemy prefabs (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

  • Asset Type
    Select Schematic.
  • Schematic Asset
    Select EnemyDeath.
  • 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
    Zombunny: Select ZomBunny Death.
    ZomBear: Select ZomBear Death.
    Hellephant: Select Hellephant Death.
    The audio clips can be found at Assets/Tutorial Resources/Audio/Effects/.

And that’s it for now. Since we added the components directly on the prefabs, we don’t need to apply the changes.

Testing

If you want to test your enemies, just drag them into the scene and click on Play. The enemis will move toward the player, if you shoot them, they’ll die once their health is gone. They aren’t yet able to damage the player, since we didn’t add the TakeDamage schematic to it yet – we’ll do this later.

The next tutorial will handle HUDs.