When the player has no lives left, I want my game to display a giant “Game Over” text. Like the good ol’ times…
Something really easy to do is just enable and disable the text in an interval with the use of Coroutines. But instead, I used the Animator to fade the text’s alpha value in and out. Why use an animation and not Coroutines to do the same thing? Because it’s simpler to do. ;)
Once the player dies, I activate the Game Over text GameObject and I let the Animator do its thing. Literally less than 1 minute to set up.
As all digital products, there is always a user interface which helps the user understand and communicate with the software or machine. Videogames are no different. We, as developers, need to share information to our players about the avatar’s status, the surroundings, and the game state, and we do it though UI.
Today, I will add two new UI elements: The number of lives through an image, and a Score through text!
For our UI elements to exist, we must first create a Canvas, which is the key component that draws them in the screen and can alter their behaviour…
So far, I have only implemented the Triple Shot powerup. It works really well, but it’s not enough to make the game enjoyable. That’s why, today, I will talk about how I have programmed a modular powerup system and the two new powerups for my game:
Speed Boost and Shield!
One of the ways to modularize the use of powerups has been to enable in the same script to choose what type of powerup it is. …
For every feature, there will always be a problem. One of them is about balance. You have to take into account how the player uses the ship, the different types of enemies in the game, other powerups and, obviously, how balanced is the Triple Shot among all these elements.
The Triple Shot powerup is quite powerful, and it’s not ideal to let the player abuse that weapon, or the game will be so easy that it’ll become boring.
In the previous article, I implemented a new powerup to my game: Triple Shot! Today, I’m going to show you how I animated the powerup, and how you can animate anything you want in Unity!
Before we begin creating or adding our animations, the GameObject needs to have an Animator Component and a Controller. Those two are necessary to make animations work and set the animation behaviors. There is an easy way to get both right away:
It’s time to make my game feel like a real game, not just some space-themed target practice. A good way to start is by developing one of the most common features for a space game: powerups, which allow the player’s ship to use special abilities! And so, I set forward to make the very first powerup: Triple Shot!
The powerup name is self-explanatory: I want to spawn three lasers instead of one when the ship collects the respective powerup. The spawn points could either be specified through code… or I could just make an empty GameObject, assign it three lasers…
As all newly created projects, you’ll stare at an empty scene and asset folder. If you already have a document or a developed idea, you’ll quickly start assembling a Test scene and some scripts.
Now, one of the usual mistakes developers make is wasting time on looking for assets, or working on, for example, animations for your placeholder model. Don’t even bother thinking like this.
You have tested your game, the core mechanics work, and the game is fun. Congratulations, you entered the Production Phase, and now you can start adding even more content.
This article is a direct continuation of the From Prototype to Production section from my first Galaxy Shooter article. I will show you how I changed my project to start looking like a real game, and what to expect when moving on to the production phase of your project.
This is a quickie one. When instantiating GameObjects, you’ll notice that our Hierarchy gets filled with our enemy clones. This gets annoying real fast, as in a real project your scene is already filled with other important GameObjects, and you really don’t want to waste your time finding one object among all that clutter.
When I started out coding in Unity, I used Update for everything: cooldowns, abilities, spawn rates… I just needed a few bools and floats to control that functionality.
But, it felt… cheap. Having every single feature updated all the time, checking conditions, or constantly updating values that don’t always need to be, didn’t feel right. There were many times where I really wished I could just execute or pause midway that code only when I wanted.
That was until I discovered Coroutines! It can detach functionality from the Update() method, executing code when I tell it to. And that’s today’s…
I am a recently graduated Game Designer with strong knowledge of the Unity Engine! You can check my game “Noise Hunters” on Steam!