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
Class Recap Archives
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 readingDay 13: Singleton Game Manager
Today we implemented our game flow using another singleton, the GameManager, to coordinate this journey.
continue readingDay 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 readingDay 11: Inheritance, Children, and Physics Layers
Today we took a closer look at the “parent-child” relationships of game objects, and how we could use this to coordinate our movement by “inheriting” a transform from the parent object.
continue readingDay 10: Find, Instantiate, & Destroy
Today we started out on our new game – “Astral Attackers” – a Space Invaders inspired alien shooter that we will use to illustrate the ways in which the objects in our object-oriented program interact to create gameplay.
continue readingDay 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 readingDay 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 readingDay 6: Easy Pong (Unity Physics)
Today we made a better version of our game in a fraction of the time thanks to Unity’s physics engine, and had enough time left over to recreate our paddles using prefab scripts.
continue reading