Day 16: Tilemaps & Character Controller

Today we continued to look at 2D level art creation tools with the Tilemap system, which lets us quickly generate sprite-based levels on a series of layered grids. Then we began to apply 2D physics to our character, a used a 3rd party script to control the character movement.

continue reading

Day 15: 2D Basics

Today we moved on from attacking spaceships and onto a new project – the 2D platformer! We explored Unity’s 2D template, learned how to import and process 2D images as “sprites”. Tomorrow we will create our first Tilemap and let our player move around!

continue reading

Day 14: TextMeshPro and UI Objects

Today we looked at the build process, and also at Unity’s preferred method for text rendering, TextMeshPro, and implemented a sample overlay message. (TMP uses different libraries and types, so your code from the previous project will not work without some adjustment).

continue reading

Day 13: Singleton Game Manager

Today we mapped out our game flow and looked at how our various object interactions would move us through our state machine, and then used another singleton, the GameManger, to help coordinate this journey, then spent a little time at the end making cooler enemies. (You don’t have to do this for your game, but you may want to!)

continue reading

Day 12: Singleton & Sounds

In today’s class, we discussed strategies for audio, and covered the Singleton pattern – a very powerful tool (but also a potentially tricky/dangerous one) for organizing our game and exposing our “manager” scripts to the objects in our scene. Tomorrow we will create the Game Manager which will handle our game state and flow, and on Friday we will spice up our visuals and learn about the “build” process.

continue reading

Day 9: Easy Pong 4 (Coroutines & Simple UI)

Today we look at how to extend our functions beyond the Update loop by allowing them to pause and resume execution using “Coroutines”. We also take our first look at Unity’s UI system, and use these together to create a “Get Ready” state to prepare our players for gameplay. Get Ready!!! Part 1: Coroutines Incontinue reading

Day 8: Easy Pong 3 (Enumeration & Finite State Machines)

Today we build out the flow of our game logic – setting up the game, starting a round, identifying a scoring event, and starting the next round. There are many steps to consider and so we visually map them out into a flow diagram that we will use to build our “finite state machine”. We will also use an “enumerated type” to create an easy-to-read variable to hold our current state, and use the “GameObject.Find( )” command to allow one object to easily locate another. Let’s go!

continue reading

Day 7: Easy Pong 2 (Collisions & Sound)

Today we take a look at collisions – when objects bump into one another. These are some of the most commonly used events because so much of our game mechanics depend on whether or not two things have touched. We use them to determine if a hit was successful, if an enemy has touched us, if we are on the ground, if we should be making a sound. Understanding how collision events are generated and how to interpret them is incredibly important. And today, we will use them to generate game feedback in the form of sounds.

continue reading