Day 15: Building

Today we took care of some outstanding issues with our game – the use of TextMeshPro was revisited (this time working properly on my machine), we added the explosion effect prefab to the enemy objects, we finished the missing implementation of our “SwapFrames( )” function, and we looked at the build process for Unity, whichcontinue reading

Day 14: Better Visuals, and TextMeshPro

Today I demonstrated my favorite method for making cool voxel enemies that appear to animated. The process is relatively simple, and when we add explosion effects it gives everything a great juicy quality. We also looked at Unity’s preferred method for text rendering, TextMeshPro, and implemented a sample overlay message. (TMP uses different libraries and types than Unity’s Legacy Text, so your code from the previous project will require some adjustment).

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