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

unity3d.com/unity-training-workshops page 2/5

  • 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

unity3d.com/unity-training-workshops page 3/5

  • 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

unity3d.com/unity-training-workshops page 4/5

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment