A quick overview over the project and setting up the basics of the breakout game.
This game tutorial series will teach you how to create a simple match 3 game. The player swaps 2 jewels, if afterwards 3 or more jewels match, they’ll be destroyed (giving points) and the jewels above will fall down, possibly creating additional matches.
In this tutorial we’ll take a quick look at the project and set up some basics in the Makinom editor.
The Unity Project
By now you should’ve downloaded the project, unzipped it and opened it as a Unity project (i.e. don’t import it). You can open the project using the Unity menu: File > Open Project…
The project contains the following folders:
The finished game, containing the complete Makinom project and all schematics, prefabs and the level.
The Makinom gizmo icons.
The free version of Makinom.
You can import the full version to replace it.
- Tutorial Resources
The resources the tutorial will be using, i.e. the ready to use level and prefabs that haven’t yet been set up for Makinom.
The level is located in Assets/Tutorial Resources/.
The prefabs are located in Assets/Tutorial Resources/Prefabs/.
Setting up Makinom
We’ll now set up some basics in the Makinom project. Open the Makinom editor (Window > Makinom) – this will create a new Makinom project at Assets/Makinom/Project.asset, in case no project has been created or opened yet.
Check if you’re working on a new project (i.e. not using the Finished Project) in Editor > About in the Project Summary. The Currently Loaded project should be Assets/Makinom/Project.asset, if not, please click on Create New Project and save it at this location.
Game Object Pools
We’ll use pooling to reduce the amount of game objects created and destroyed during the game – you can learn more about pooling in this how-to.
Whenever a jewel is destroyed, a particle effect will be spawned at it’s position, we’ll use pooling to reduce the costs for creating and destroying these short-lived game objects.
Navigate to Base/Control > Game Object Pools and change the following settings.
0: Destroy Particles
Set to Destroy Particles.
Select Destoy Particles.
The prefab can be found at Assets/Tutorial Resources/Prefabs/.
- Start Size
Set to 20.
- Can Grow
Enable this setting.
We’ll set up a GUI box that’s used for the information HUD (displaying the player’s score and turns). Navigate to Menus > GUI Boxes and change the following settings.
The GUI box will later be used to display the player’s lives in a HUD at the lower left corner of the screen.
Set to HUD.
- Height Adjustment
In the Content Box Settings we’ll define the bounds of the GUI box – the health HUD will be displayed at the player’s position, i.e. we’ll only really need the width and height.
Set to X=0, Y=0, W=1280, H=200.
Select Upper Left.
- Show Box
Disable this setting.
- Font Size
Set to 25.
Finally, we’ll set up the HUD. Navigate to Menus > HUDs and change the following settings of the already added default HUD.
Set to Info.
- GUI Box
- HUD Type
- Auto Display
Enable this setting.
Information Element 0
We need one HUD element to display the player’s information, click on Add Information Element to add it.
The score will be stored in the global int variable score, the turns in the global int variable turns.
- Element Type
- Variable Origin
- Is Percent (Width)
Enable this setting.
And that’s it – click on Save Settings to save the changes.
Finally, we’ll add Makinom to the scene. Open the Level 1 scene (found at Assets/Tutorial Resources/).
Adding a Game Starter
To add Makinom to the game, we’ll need a game starter. You can learn more about game starters in this how-to.
Add the game starter using the scene wizard (Windows > Scene Wizard). Click on Add Game Starter, select the Makinom project if it’s not already selected (found at Assets/Makinom/Project.asset) and click on Add Game Starter again. The scene wizard will create a new game object and attach the game starter to it.
Move the new game starter object out of the way, e.g. to X=-10, Y=0, Z=0.
And that’s it for now – save the scene.
The next tutorial will handle the generating the level.