Devlog 4 - Tutorial System Design, Main Menu and Localization,


Simple Tutorial System Design

In this devlog's design chapter, I want to explain how I designed and integrated my tutorial system into my game Isominer.

Isominer a simple mobile game but has many game mechanics inside of it such that: asteroids types, level, stage, experience, combo, health, speed, modules, upgrades, skills, subskills etc. When I playing the game with my friends even in earlier versions, it can be complicated since there are a lot of game mechanics, because of that tutorials are important task for me and to explain those mechanics to player. 

Objectives about Tutorial System

1-Triggered by in-game events.
2-May have multiple steps.
3-User should interact.
4-There should be a option to pass all tutorials.

How I Design The Tutorial System

I created two class for tutorials:
1-TutorialHandlerUI - For controlling and linking them with events and other steps (with my GameEvents).
2-TutorialUI - For tutorial steps that can be attached to game objects.

TutorialUI class has action that hold information to run next step when tutorial completed, and methods to open and complete current tutorial step, and skip all tutorials.

and I created a prefab to provide same design pattern for all steps. Prefab has TutorialUI script attached to parent GameObject, particle systems attached to the script to show user related area in the game, localized text component, 

I planned steps and created a GameObject from prefab for each step. Then, I add them to the TutorialHandler class via editor. In TutorialHandler class, I link first steps of tutorials with events and other steps to previous steps.

Here is a example:


With this basic design, I arranged my tutorials (there are nearly 20 steps for now) with a functional user experience.

What is Changed

Main Menu

I added a main menu for game to prepare closed tests in Google Play. I work on credits to giving proper attribution even if it is not required and created a prefab for credits. In attribution prefab, attribution has asset name, author name with a link, link to the platform that I get it from, and link to the license information.

Localization

I use a free asset for localization, named Lean Localization from Unity Asset Store. It is simple for now, maybe .csv localization is more easy to implement but I use it for text and sprite localization. It is doing its job, but since it uses GameObject to localization, hierarchy becomes very large and hard to arrange.

Advertisement

I wanted to add rewarded ads in the game, it can be watched only when space ship destroyed optionally. It can be watched only 1 times per 15 minutes, even you destroy your ships multiple times in that period. It contains test ads and disabled for test releases for now.

I use decide to use Admob by Google to use. My purpose is for this game is not only earn money, but learning how ads working in Unity Game.

Google's documentation for integrating Admob in Unity was really straightforward and easy to implement. I watch a tutorial by Google and follow the instructions that is in the documentation.

3D Model of First Spaceship

I was using Unity's prototype package for spaceship (scaled cube) and want to create a 3D simple model for ship. I started to learn Blender but it was confusing for me at the beginning. There are a lot of tutorials but since I want a simple model to replacing cubes, I did not want to consume my time for days to learning how to use Blender. So, I watched the Beginner Tutoprial Series by Blender Guru with skipping to learn basics of the software, then I watched the Learn Low Poly Modeling in Blender 2.9 / 2.8 by Imphenzia with taking notes. Then I was able to made a model of my spaceship in few hours. 

The time consuming part that take a day for me is importing the model to Unity for me. If you will do this for the first time, I advise you to make a research about it, especially with headings setting their origins, exporting with .fbx format. Every object must be at the origin and to make model work in Unity, I reset position, scale and rotation then while exporting in .fbx format, I change the axis.

Get Isominer - Casual Space Mining Game

Download NowName your own price

Leave a comment

Log in with itch.io to leave a comment.