June
16
2015

Setting up the bomb prefabs and adding bomb laying to player controls.

In this tutorial we’ll set up the bomb crate and bomb prefabs, and add laying bomb to the player control schematic.

Bomb Crate Prefab

First, we’ll set up the bombCrate prefab – the setup is similar to the health crate. We’ll add an object variable component, a trigger machine (BombPickup schematic), and 2 tagged machines (BombExplosion when being hit by a rocket, CrateLand when the crate lands on the ground). The bombCrate prefab can be found at Assets/Tutorial Resources/Prefabs/Pickups/.

We’ll add the components to the crate child object of the bombCrate prefab.

Object Variables

Add an object variable component to the prefab (e.g. using the component menu: Makinom > Scenes > Object Variables) and change the following settings.

  • Local Variables
    Enable this setting.
  • Always Initialize
    Enable this setting.

Click on Add Variable to add an object variable. This variable will store the amount of health that will be restored if the pickup is collected.

  • Variable Key
    Set to bombCount.
    Select the Value string type.
  • Type
    Select Int.
  • Operator
    Select Set.
  • Float Value
    Set to 1 (Value).

Bomb Pickup: Trigger Machine

Next, we’ll add a trigger machine that will handle the bomb pickup by the player (or landing the crate if it’s not the player). Add a trigger machine component to the prefab (e.g. using the component menu: Makinom > Machines > Trigger Machine) and change the following settings.

Start Settings

  • Trigger Enter
    Enable this setting.
  • Start By Other
    Enable this setting.

Machine Execution Settings

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

Bomb Explosion: Tagged Machine

In case the crate is hit by a rocket, we need it to explode – so we’ll add the BombExplosion schematic with a tagged machine.

Add a tagged machine component to the prefab (e.g. using the component menu: Makinom > Machines > Tagged Machine) and change the following settings.

Start Settings

Click on Add Tag to add a starting tag

  • Tag
    Set to rocketHit.

Machine Execution Settings

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

Local Start Variables

  • Set Start Variables
    Enable this setting.

Click on Add Variable to add a start variable.

  • Variable Key
    Set to radius.
  • Type
    Select to Float.
  • Operator
    Select Set.
  • Float Value
    Set to 10 (Value).

Land Crate: Tagged Machine

Finally, we’ll add a tagged machine that will handle landing the crate. Add a tagged machine component to the prefab (e.g. using the component menu: Makinom > Machines > Tagged Machine) and change the following settings.

Start Settings

Click on Add Tag to add a starting tag

  • Tag
    Set to land.

Machine Execution Settings

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

That’s it for the bomb crate – we don’t need to apply the changes, since we’ve worked on the prefab directly.

Bomb Prefab

Next, we’ll set up the bomb prefab – we’ll only need an auto machine handling the BombExplosion schematic. The bomb will explode automatically after it was laid by the player. You can find the bomb prefab at Assets/Tutorial Resources/Prefabs/Pickups/.

Add an auto machine component to the prefab (e.g. using the component menu: Makinom > Machines > Auto Machine) and change the following settings.

Start Settings

  • Start
    Enable this setting.
  • Start Delay (s)
    Set to 1.5.

Machine Execution Settings

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

Local Start Variables

  • Set Start Variables
    Enable this setting.

Click on Add Variable to add a start variable.

  • Variable Key
    Set to radius.
  • Type
    Select to Float.
  • Operator
    Select Set.
  • Float Value
    Set to 10 (Value).

That’s it for the bomb – we don’t need to apply the changes, since we’ve worked on the prefab directly.

Player Control: Updating the Schematic

Finally, we’ll add the lay bomb controls to the PlayerControl schematic – you probably have saved it in Assets/Schematics/ if you’ve followed the tutorial.

You can open the schematic directly by double clicking on it or by clicking on the Edit Schematic button in the inspector (when the schematic is selected).

Settings

First, we’ll add the bomb prefab to the schematic.

Prefabs

Click on Add Prefab Resource to add 2nd prefab resource.

  • Name
    Set to Bomb.
  • Prefab
    Select bomb.
    Can be found at Assets/Tutorial Resources/Prefabs/.

Now, we’ll change to layer 3 (Bomb) that we added as a last step when adding the rocket fire controls

The following nodes are placed in layer 3: Bomb. In this layer, we’ll handle the player laying bombs.

Input Key

Add > Input > Input Key

We’ll use this node to check if the player pressed the Bomb input key.

This node is connected to the Next slot of the Gate Exit from layer 2.

  • Input Key
    Select Bomb.

Reset Input Axes

Add > Input > Reset Input Axes

Since we’re running this in a Fixed Update tick machine, it’s possible that it’ll run more than once per frame. To prevent laying multiple bombs, we’ll reset the Bomb input key.

This node is connected to the Bomb slot of the Input Key node.

  • Reset All
    Disable this setting.
  • Input Key
    Select Bomb.

Check Variables

Add > Value > Variable > Check Variables

We’ll use this node to check if the player has bombs.

Click on Add Variable to add a variable change.

  • Condition Type
    Select Variable.
  • Variable Key
    Set to bombs.
  • Variable Origin
    Select Global.
  • Is Valid
    Enable this setting.
  • Exists
    Enable this setting.
  • Type
    Select Int.
  • Check Type
    Select Is Greater.
  • Check Value
    Set to 0 (Value).

Play Sound

Add > Animation + Audio > Audio > Play Sound

We’ll use this node to play a sound on the player.

This node is connected to the Success slot of the Check Variables node.

Play On

  • Object
    Select Machine Object.

Audio Settings

  • Audio Clip
    Select Select Audio Clip and Player-BombsAway.
  • Wait
    Disable this setting.
  • Play One Shot
    Enable this setting.
  • Volume
    Set to 1.

Spawn Prefab

Add > Game Object > Prefab > Spawn Prefab

We’ll use this node to spawn the bomb prefab and play an audio clip on it.

  • Prefab
    Select Prefab 1: Bomb.
  • Target Type
    Select Object.

Target Object

  • Object
    Select Machine Object.

Audio Settings

  • Play Audio
    Enable this setting.
  • Audio Clip
    Select Select Audio Clip and bombFuse.
  • Play One Shot
    Enable this setting.
  • Volume
    Set to 1.

Change Variables

Add > Value > Variable > Change Variables

Finally, we’ll reduce the bombs of the player by 1.

Click on Add Variable to add a variable change.

  • Change Type
    Select Variable.
  • Variable Key
    Set to bombs.
  • Variable Origin
    Select Global.
  • Type
    Select Int.
  • Operator
    Select Sub.
  • Float Value
    Set to 1 (Value).

And that’s it – click on Save Schematic to save the changes.

Testing

If you want to test your bombs, just drag a bomb crate prefab into the scene and click on Play. The bomb crate will float down and land on the ground – the player can pick it up on the ground or in the air. After picking up the bomb, the player can lay a bomb using the Bomb key, or shoot on the crate to explode it.

The next tutorial will handle the pickup spawner.