Day 27: Particle Systems

Often times, we want to add a little punch to our games – something to increase the “juice” of an action, event, or object. One way to do that is to add special effects using the “particle” system – a speedy way to generate visual effects. These particles are designed to render hundreds or even thousands of little objects quickly and efficiently so that you can build out stunning visuals without too much overhead.

continue reading

Day 26: Lighting

Today, we take a look at very important and yet often overlooked feature of Unity – the Lighting System. Unity’s default 3D scene has lighting that is comprised of a Directional Light (to mimic the sun) a horizon (created by the procedural Skybox) and ambient lighting (calculated using the Skybox). This setup works for many projects, but there is SO MUCH MORE that the Lighting System can do, more personality that good lighting can add, and better performance if you understand the tradeoffs of your lighting decisions. Let’s dig in!

continue reading

Day 25: Terrain Tools (Racing Game)

Today, we look at a number of tools for building and populating vast game environments with Unity’s Terrain System. This system generates (and regenerates) a terrain mesh at runtime that is optimized for our game, providing high level of detail at a close proximity and maintaining a low poly mesh for distant features, all to keep our framerate performance running smoothly.

continue reading

Day 24: FPS Game

Today, we are looking at some advanced Unity features that we can use to create our own “first person shooter” (FPS) style game. We will take a look at tools for quick level generation, dive into Unity’s Character Controller, take a deeper examination of the offerings of the Physics library, and finally dip our toes into some Enemy AI.

We are at a point where These lessons are no longer required information to complete requirements. From this point on, all lessons are strictly educational, but I strongly recommend trying to follow along as these systems are very useful for developing your own games.

continue reading

Day 23: Optimization / Assignment 5

Today in class we discussed Assignment 5 (due on Monday 6/27 @ 4pm) and covered various optimization methods. We will look at more of these tomorrow with the First Person Shooter lesson, which will be viewed through pre-recorded lectures.

Day 22: Animation Events / 2D Advanced Topics

For this class, we looked at a few more advanced techniques to enhance our platform games. The first is Animation Effects, which allow us to call a scripted event from inside an animation clip, which we used to make a “coin box”. Next we looked at 2D Effectors, physics components that let us add behaviors to our collider objects. Let’s go!

continue reading

Day 20: Scene Management

Today we took a look at the Scene Manager, which allows us to make the jump out of our scene and into new ones. This introduces some challenges when we want to retain information or objects between these scenes, and so we look at how we can use the singleton pattern to help us manage this process.

continue reading

Days 18 & 19: Animation

It’s time to bring our world and our characters to life. In this mega-lesson, we dive into the wonderful world of animation, specifically how animation is implemented in our engine. We are going to look at a large number of animation types, so I have posted individual workshops for each stage of this. Links inside!

continue reading

Day 17: Camera Control & Triggers

Today we continued to develop our platform game by making our camera smoothly follow the player throughout the environment, implementing our ruleset for how the player can move through the environment (forward only, please!) and finally we added an enemy controller and gave it a patrolling “behavior” through the use of triggers (a special variation of colliders).

continue reading