A Retro Game Over Screen!

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.

Displaying information to our players while maintaining style!

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…

Adding two new powerups: Speed Boost and Shield!

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!

Time to refactor

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. …

How long should Powerups last?

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.

Using the Animation window to give life to our game entities

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!

Creating an Animator Controller

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:

  • Add the Animator Component to the GameObject to animate.
  • Open the Animation Window, and create an animation.
  • A File Explorer window will pop…

Creating a new special ability for the spaceship

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!

Three cannons for three lasers

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…

Get your priorities right! Know the benefits of working without assets

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.

Moving from cubes to real assets, and what makes for a complete prototype

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.

A prototype is ready for production when…

  • It proves that the prototype is fun to play with what you have.
  • It has potential to become something great.
  • The main…

Hiding GameObjects in the Unity Hierarchy by assigning them a Parent

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.

Learning how to use Coroutines in Unity as an alternative way to update functionality

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…

Pablo Gómez Platón

I am a recently graduated Game Designer with strong knowledge of the Unity Engine! You can check my game “Noise Hunters” on Steam!

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store