Unity Expert Gameplay Programmer Certification Exam Preparation
This goal of this workshop is through completing activity challenges in all the six Unity Expert Gameplay Programmer Certification exam topic areas and reviewing suggested reading in the ebook, participants will be prepared to successfully pass the exam and gain certification.
This workshop covers six topic areas distributed over 3 days of study. These topics include Rapid Gameplay Prototyping and Unity Services Implementation; NPC Design programming and User Interface Implementation; Level Design Programming and Performance Optimization. The format of this workshop is project and activity based. Participants will spend most of their time individually programming to solve challenges introduced by the instructor with brief group discussion and group sharing to clarify concepts and problems. This workshop is not a follow-the-leader style course. Participants will need to feel comfortable individually programming a game in Unity.
Level: Advanced
Prerequisites: 2-3 years of experience developing games with Unity with advanced programming skills, particularly in the C# language
Duration: 21-24 hours
Class size: 15 people
Trainer: Unity Certified Instructor
Learning Objectives and Outcomes
Rapid Gameplay Prototyping
Interpret Game Design Document to determine basic game functionality
-
Sketchout prototyping plans before programming
Build a prototype to illustrate basic game functionality
-
Create a basic level, character, NPC enemy, and add user controls
-
Play test your game to identify problems
-
Implement solutions
Identify conflicts and solutions during prototype stage to improve game play
-
Playtest each others game prototypes
Unity Services Implementation
Enable ads in the game to demonstrate knowledge of Unity Services
-
Enable Services
-
Setup a simple script to show an ad
-
Add a Canvas UI system with a button that displays an ad
-
Reward the player for watching the entire ad
-
Design the UI not to unload
Demonstrate knowledge of Unity Ad placement for optimal player experience
-
Load an ad between scenes for a better player experience
Demonstrate knowledge of Unity In-App Purchasing (IAP)
-
Enable the player to purchase extra coin
Setup data collection points to demonstrate knowledge of Unity Analytics
-
Setup a data collection point to determine player death locations
-
Setup a data collection to determine number of attempts
NPC Design Programming
Demonstrate knowledge of NPC logic and behavior
-
Add a NPC to the scene and make it move along the floor
Demonstrate knowledge of animation behavior systems
-
Make the NPC animate appropriately as they move around the level
Demonstrate knowledge of Navigation and Pathfinding
-
Improve the NavMesh to support gameplay
-
Add dynamic area changes to the NavMesh
-
Make the NPC respond to obstacles
Demonstrate knowledge of the waypoint system
-
Create a waypoint system for the NPC characters to move around the floor naturally
-
Make the NPC interact with the Player if they are in range
Demonstrate knowledge of NPC spawning and placement
-
Make your NPC load spawn at scene load
-
Optimize the NPC spawn rate for XYZ platform
User Interface Implementation
Develop a HUD to demonstrate knowledge of UI coordinate systems
-
Create a minimap that displays incoming enemies
-
Build the HUD to work with different aspect ratios
Create an options menu to demonstrate knowledge of user interface scripting
-
Create a menu option to adjust volume
-
Create a menu option to change the default language
Level Design Programming
Create a basic game world level to demonstrate knowledge of level design using the supplied project and GDD
-
Create a basic landscape with visuals and texture elements
-
Set up the animation system for the NPC
Add characters to your level to demonstrate knowledge of physics configurations
-
Make the player character move around the floor and collide with objects
-
Make the NPC chase the character
Make the character fire at targets to demonstrate knowledge of raycasting
-
Make the character fire at NPC to kill the NPC
-
Make objects invulnerable to fire
-
Demonstrate raycasting by making bullets ricochet off the toy blocks
Populate the level with Particle Systems and Effects
-
Add particles to elements of the scene include at least one trail renderer
-
Create scripts to trigger particles at specific times, such as gun fire
Demonstrate knowledge of scene loading and unloading
-
Create a basic secondary level in your game and load it
-
Configure the pre-rendered cinematic to load between your first and second levels
-
Determine script to load the pre-rendered cinematic
Demonstrate knowledge of script-spawned Prefabs during runtime
-
Make additional NPC spawn in the world
-
Instantiate additional grenades for the player
Performance Optimization
Demonstrate knowledge of rendering optimization to improve gameplay
-
Resolve rendering optimization problems in the game
Demonstrate knowledge of gameplay debugging
-
Recognize game play issues and debug
-
Debug NPC interaction issues
Demonstrate knowledge of platform differences and impact on gameplay
-
Optimize game for PC Platforms, target 30fps
-
Re-optimize game for VR, target 90fps
Demonstrate knowledge of platform optimization
-
Optimize the PC version of the game for Mobile
Activities:
-
Introduction: Workshop overview and Learning Action Plan
Rapid Gameplay Prototyping
-
Activity 1 - Interpret a Game Design Document to determine basic game functionality
-
Activity 2 - Build your level to meet the specification in the GDD
-
Activity 3 - Create your player character to meet GDD specifications
-
Activity 4 - Create a series of enemies for the game as defined by the GDD
-
Activity 5 - Create a scoring system as defined in the GDD
-
Activity 6 - Identify conflicts and solutions during prototype stage to improve game play
Unity Services Implementation
-
Activity 1 - Demonstrate knowledge of Unity Ad placement for optimal player experience
-
Activity 2 - Enable ads in the game to demonstrate knowledge of Unity Services
-
Activity 3 - Demonstrate knowledge of Unity In-App Purchasing (IAP)
-
Activity 4 - Setup data collection points to demonstrate knowledge of Unity Analytics
NPC Design Programming
-
Activity 1 - Demonstrate knowledge of NPC logic and behavior
-
Activity 2 - Demonstrate knowledge of animation behavior systems
-
Activity 3 - Demonstrate knowledge of Navigation and Pathfinding
-
Activity 4 - Demonstrate knowledge of the waypoint system
-
Activity 5 - Demonstrate knowledge of NPC spawning and placement
User Interface Implementation
-
Activity 1 - Develop a HUD to demonstrate knowledge of UI coordinate systems
-
Activity 2 - Create an options menu to demonstrate knowledge of user interface scripting
Level Design Programming
-
Activity 1 - Create a basic game world level to demonstrate knowledge of level design using the supplied project and GDD
-
Activity 2: Add a player characters to your level to demonstrate knowledge of physics configurations
-
Activity 3: Make the character fire at targets to demonstrate knowledge of raycasting
-
Activity 4: Populate the level with Particle Systems and Effects
-
Activity 5: Demonstrate knowledge of script-spawned Prefabs during runtime
-
Activity 6: Demonstrate knowledge of scene loading and unloading
Performance Optimization
-
Activity 1 - Demonstrate knowledge of rendering optimization to improve gameplay
-
Activity 2 - Demonstrate knowledge of gameplay debugging
-
Activity 3 - Demonstrate knowledge of platform differences and impact on gameplay
What to Bring
-
Each participant will need to bring a laptop (Windows or OSX), power supply (including any necessary international adapters), and mouse.
-
Install Unity 2017.4 prior to the workshop.