As Game Designers and Developers, we sometimes find ourselves looking back at the games that came before. And in some cases, those games can come from times before computers and electronics. Many games worked on the same principles of randomness that games us today, but how did they achieve this before random number generators. Dice, of course.

From a Backgammon-like game excavated from Burnt City, Iran Estimated from between 2800–2500 BCE.

Dice, have a history that goes back as far as 2800 BCE with evidence suggesting even further. And with board games being a popular choice for re-invention and re-imagining on mobile markets, how do we make good dice for our games? …


Problem: You put effort into making your game look like a Michael Bay movie but when you play it in your WebGL build the effects are falling flat.

Reason: Unity’s Render Pipelines have different profiles for High, Medium and Low settings depending on how they are getting deployed. Unity’s Editor defaults to the High settings profile. (This can be changed in the Project Settings>Quality under Rendering.)

Solution: Most of the Post Processing adjustments (such as Bloom) use the HDR color settings. …


Hopefully, you have found this article before too much hair pulling and head banging from trying older solutions to very similar problems listed online.

Problem: You have built a game with Unity and now are ready to share if with your friends and family.. But when you upload the game to your favorite game sharing service and test it, it freezes during the load.

Reason: IF your game sharing site has you upload your game as a compressed file (ie. …


So now that we have some sound in our game, let’s get some variety to what the Player is hearing.

First, we you separate out our SFX into groups that we can pull random samples from. Here, I have General, Explosion and Laser. We won’t be pulling randomly from from general, as this is were we will store all our one off sounds for the UI and such.

Let’s focus on working with the Laser SFX for the Player.


After getting the UI looking good and all the Game Mechanics working right, we still haven’t touched on one of the keys in Game Design, Sound.

Today we are going to look at setting up an Audio Manager and getting our Player’s Ship to fire some proper Lasers.

To start off, Let’s set out setting up a Mixer that will allow us to later build a interface for the Player to adjust the volume.

To make an Audio Mixer, open the context menu (right click) in you project View, select Create then Audio Mixer. This will generate a Mixer…


For our 2D space shooter, we want to give an implied feeling of depth, even if we are not using that depth. The more you can make your game or system feel like it is performing as it should in real life, the more the Player can apply to the game from their experience in the real world and it’s physics.

Up to this point in our game, the Player’s ship has been ‘sliding’ back and forth along the horizon. And while that sort of movement can be achieved in space flight, it is not what most have come to…


So we have a Life counter on the two left of our game’s screen. And when ever our Player takes a hit, they lose a life. But what if the action is so tight that the Player is hype-focused on the ship and where to move next to avoid getting hit while trying to score a kill themselves. That is were Damage indicators come into play. For this portion of our Game, we will be using plumes of fire and smoke. Dramatic, right?

To get this effect, I used Unity’s Particle System instead of the newer Visual Effects Graph. This…


A fellow coder was having some trouble figuring out how to get a Enemy to Teleport nicely. So I offered to take a stab at it.

Problem: Make an enemy that scales down into a teleport and scales up out of it as if they are disappearing from this plane.

My approach for the example above was to have an Enemy that would from the start randomly teleports around outside the Player area. And I have the Enemy’s Scale on the two axes of the game field layout (X&Z in this case).


It’s time to start thinking about how our game will differentiate between levels or waves of Enemies. Let’s start by making an asteroid object for the player to shoot when they are ready to start. This will give the player a chance to get used to the controls or to catch a breathe after a defeat. This can also offer us a space to show additional information to the Player, such as identifying power ups or enemies (Think Pac-Man).

We can get the asteroid from the wonderful Filebase.


Now that we have a nice explosion effect (in my opinion), it is time to tie it into our game by first making sure that the enemies can generate the effect when they are destroyed.

But first, let’s do a bit of house work to make things go smoothly as we move forward.

We know that this effect will be being called from multiple objects, the enemies, any variants, and the player. So, it wouldn’t make since to have the individuals spawning the effect in, not when we have a SpawnManager already in place. …

Thomas Kesler

A Unity Developer with a fondness for Fantasy games and the challenge of pushing boundaries.

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