Unity Expert Gameplay Programmer Certification Courseware

Video description

Duration: 8 Hours of video instruction

Overview

This series of courses help prepare you to take the Expert Gameplay Programmer Certification exam, and covers six topics areas distributed over five lessons. 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 these courses are project and activity based and participants will need to feel comfortable individually programming a game in Unity. Participants will be challenged with a series of realistic programming problems in Unity video-game projects, the kind true gameplay programming experts face every day. Each challenge is inspired by one or more of the topics covered in the exam.

Description

This course is exam preparation for Unity’s Expert Gameplay Programmer Certification Exam. This course will challenge you with a series of realistic programming problems in Unity video-game projects, inspired by one or more of the topics covered in the Expert Gameplay Programmer Exam. Throughout this course, you will work on a 2D “infinite platformer” game project and 3D “Dual-Stick Survivor” game project. This will help you practice prototyping core gameplay mechanics, including scripting GameObjects and their components, coordinating UI systems, and implementing UI scripting. This will also include configuring GameObject physics, spawning Prefabs, designing level logic and behavior, scripting animation systems and events, and working with in-game cinematics.

Throughout this course, you will learn Unity Services Implementation techniques, including: streamlining your project management with Unity Cloud Build, monetization with Unity Ads and in-app purchases, and Unity Analytics. By the end of this course, you will implement in-app purchases for a 3D "Dual-Stick Survivor" game project.

About the Instructor

Unity Technologies is the creator of the worlds most widely used real-time 3D (RT3D) development platform, giving developers around the world the tools to create rich, interactive 2D, 3D, VR and AR experiences. Our 1000 person engineering team keeps Unity at the bleeding-edge of technology by working alongside partners such as Facebook, Google, Microsoft, and Oculus to ensure optimized support for the latest releases and platforms. Experiences made with Unity reach nearly 3 billion devices worldwide, and were installed 24 billion times in the last 12 months. Unity is powering RT3D in architecture, automotive, construction, engineering, film, games, and more.

By successfully completing the projects in all four courses, participants will have had extensive, guided practice in the programming skills needed to pass the Unity Expert Gameplay Programmer exam.

Skill Level

  • Advanced

What You Will Learn

  • Interpret Game Design Document to determine basic game functionality
  • Build a prototype to illustrate basic game functionality
  • Identify conflicts and solutions during prototype stage to improve game play
  • Enable ads in the game to demonstrate knowledge of Unity Services
  • Demonstrate knowledge of NPC logic and behavior
  • Demonstrate knowledge of animation behavior systems
  • Develop a HUD to demonstrate knowledge of UI coordinate systems
  • Create an options menu to demonstrate knowledge of user interface scripting
  • Create a basic game world level to demonstrate knowledge of level design
  • Add characters to your level
  • Demonstrate knowledge of gameplay debugging
  • Demonstrate knowledge of platform optimization

Who Should Take This Course

Primary: Game Developers seeking extensive, guided practice in the programming skills needed to pass Gameplay Programmer Expert Certification

Course Requirements

Prerequisites: 2-3 years of experience developing games with Unity with advanced programming skills, particularly in the C# language

Table of Contents

Introduction

The Gameplay Programmer Specialization

The Expert Gameplay Programmer Exam

Course 1: Rapid Gameplay Programming

  1. Core Gameplay Prototyping
    1. Understanding What the GDD Wants
    2. Converting the GDD to Unity
    3. Let the User Move
    4. Refining User Control
    5. Getting the Basics Set Up for the Most Basic NPC
    6. Inheritance and Polymorphism
    7. A Zoo for NPCs
  2. User Interface Coordinate Systems
    1. Overlay, Camera, and the World
  3. UI Coordinate Systems
    1. What does the GDD Require?
    2. Static Aspect Ratios
    3. Dynamic Aspects Ratios
    4. Configuring What Can be Hit
    5. Masking the Graphic Raycaster
  4. UI Scripting
    1. What’s important to the User
    2. Any Feedback is Better Than None
    3. Testing Through the UI
    4. Adding a Mini-Map
    5. Adding a Radar: Part 1
    6. Adding a Radar: Part 2
    7. The UI Profiler and Frame Debugger
    8. UI Optimizations
    9. Identifying Localization Needs: Part 1
    10. Identifying Localization Needs: Part 2
    11. Localization Implementation
  5. Conflict and Solutions During Prototype
    1. Defining Failure and Success
    2. Making the Computer Provide Useful Feedback
    3. On Paper

Course 2: Programming for Level Design

  1. Introduction
  2. Configuring Physics
    1. Collider Types and Configuration
    2. Choosing the Best Collider for the Job
    3. RigidBodies and Colliders
    4. Rigidbody Performance
    5. Kinematic Rigidbodies
    6. OnTrigger Configurations
    7. OnCollision Configurations
    8. Physics Mask Groupings
    9. Physic Material Properties
  3. Spawning Runtime Prefabs and Effects
    1. When and Why to Spawn Objects
    2. When and Why Not to Spawn Objects
    3. Spawn Rates and Performance Impact
    4. Reliable Particle Effect Placement
    5. Dynamic Particle Effect Spawning
    6. Evaluating Effects for Spawning and Placement
    7. Dynamically Altering Wind Zones
    8. Line Renderers
    9. Trail Renderer
  4. Level Logic and Behaviour
    1. Triggered Interactions
    2. Bringing Gameplay Together
    3. Our Mighty Gameplay Overlord of Scene Management
    4. Orchestrating Chaos
  5. Loading and Unloading Scenes
    1. Loading Scenes
    2. Unloading Scenes
    3. Steaming Limits
  6. Cinematics
    1. In-Engine Cinematic Parameters- Part 1
    2. In-Engine Cinematic Parameters- Part 2
    3. Cinematic Post Effects
    4. When, Why, and at What Cost?

Course 3: NPC Design Programming

  1. Course Introduction
  2. NPC Logic and Behavior
    1. Animation State Machines
    2. Driving States Via Scripts
    3. Animation Events
    4. Adding State Machine Behaviors
    5. Mapping NPC Logic
    6. Scripting Logic into an NPC
    7. Mapping Mob Mentality
  3. Navigation and Pathfinding
    1. NavMesh Methodology
    2. Baking a Quality NavMesh
    3. NavMesh Area Costs
    4. Area Triggers
    5. Off Mesh Links
    6. Obstacle Avoidance Quality and Priority
  4. Raycasting
    1. Raycast Behavior
    2. Debugging Raycast Masks
    3. Optimizing Raycasts via Layers
  5. NPC Spawning and Placement
    1. Determining NPCs for Placement at Scene Load
    2. Where to Dynamically place NPCs
    3. Determining NPC Spawn Rates
    4. Optimizing Spawn Rates per Platform

Course 4 Performance Optimization

  1. Introduction
  2. Rendering Optimization
    1. Occlusion Culling
    2. Optimizing Performance via Occlusion Culling
    3. LOD Methodology
    4. Evaluating LOD Distances
    5. Analyzing Fill Rates
    6. Rendering-Best Practices
    7. Minimizing Frame Drops
  3. Asset Bundles
    1. Asset Bundle Strategies
    2. Determining Optimal Configurations
    3. Identifying Issues
    4. Providing Asset Bundle Solutions
    5. Using Asset Bundles
  4. Gameplay Debugging
    1. General Debugging Strategies
    2. General Debugging Techniques
    3. Isolating Level Issues
    4. NPC Debugging
    5. Isolating Scene Loading and Transition Issues
    6. Finding the Best Solution
    7. Low-Hanging Fruit
    8. Game Killers
  5. Platform Constraints
    1. Platform Input/Controller Schemas
    2. Platform System Resources
    3. Optimizing Runtime Performance per Platform
    4. Optimizing Storage per Platform
    5. Platform Constraints
  6. Platform Optimization
    1. Using the Profiler
    2. Managing your Short-term Memory
    3. Long-term Memory Use
    4. Hidden CPU Taxes
    5. Assessing Capabilities per Platform
    6. Targeting Build Targets

Course 5: Unity Services Implementation

  1. Introduction
  2. Unity’s Ads
    1. Simple Ad Placement
    2. Simple Ads and the Player Experience
    3. Supplementing Scene Loading with Ads
    4. Rewarded Ad Placement
    5. Rewarded Ads and Player Experience
    6. Enhancing the Player Experience with Rewarded Ads
  3. In App Purchases
    1. Enabling an In App Purchases Store
    2. Processing In App Purchases
    3. Post Purchase
    4. UI Elements for In App Purchases
    5. Implementing an In App Purchase
  4. Unity Analytics
    1. Unity Analytics
    2. Translating GDD Level Design to Data Collection Points
    3. Custom Data Events for Player Behavior
    4. Heatmap Data
    5. Identifying User Pain Points from Heatmap Data
    6. Using the Dashboard for Evaluating Analytics
    7. Evaluating Analytics Raw Data
    8. Performance Reporting
    9. Analyzing Performance Reports
  5. Unity Cloud Build
    1. Setting up Cloud Build
    2. Test Build Logs
    3. Assessing your Target Build Platforms

About Pearson Video Training

Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Prentice Hall, Sams, and Que Topics include: IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training at http://www.informit.com/video.

Table of contents

  1. Unity Expert Gameplay Programmer Certification Courseware
    1. The Gameplay Programmer Specialization
    2. The Expert Gameplay Programmer Exam
  2. Course 1: Rapid Gameplay Programming
    1. Introduction
  3. Core Gameplay Prototyping
    1. Understanding What the GDD Wants
    2. Converting the GDD to Unity
    3. Let the User Move
    4. Refining User Control
    5. Getting the Basics Set Up for the Most Basic NPC
    6. Inheritance and Polymorphism
    7. A Zoo for NPCs
  4. User Interface Coordinate Systems
    1. Overlay, Camera, and World
  5. UI Coordinate Systems
    1. What does the GDD Require?
    2. Static Aspect Ratios
    3. Dynamic Aspects Ratios
    4. Configuring What Can be Hit
    5. Masking the Graphic Raycaster
  6. UI Scripting
    1. What’s important to the User
    2. Any Feedback is Better Than None
    3. Testing Through the UI
    4. Adding a Mini-Map
    5. Adding a Radar: Part 1
    6. Adding a Radar: Part 2
    7. The UI Profiler and Frame Debugger
    8. UI Optimizations
    9. Identifying Localization Needs: Part 1
    10. Identifying Localization Needs: Part 2
    11. Localization Implementation
  7. Conflict and Solutions During Prototype
    1. Defining Failure and Success
    2. Making the Computer Provide Useful Feedback
    3. On Paper
  8. Course 2: Programming for Level Design
    1. Introduction
  9. Configuring Physics
    1. Collider Types and Configuration
    2. Choosing the Best Collider for the Job
    3. RigidBodies and Colliders
    4. Rigidbody Performance
    5. Kinematic Rigidbodies
    6. OnTrigger Configurations
    7. OnCollision Configurations
    8. Physics Mask Groupings
    9. Physic Material Properties
  10. Spawning Runtime Prefabs and Effects
    1. When and Why to Spawn Objects
    2. When and Why Not to Spawn Objects
    3. Spawn Rates and Performance Impact
    4. Reliable Particle Effect Placement
    5. Dynamic Particle Effect Spawning
    6. Evaluating Effects for Spawning and Placement
    7. Dynamically Altering Wind Zones
    8. Line Renderers
    9. Trail Renderer
  11. Level Logic and Behaviour
    1. Triggered Interactions
    2. Bringing Gameplay Together
    3. Our Mighty Gameplay Overlord of Scene Management
    4. Orchestrating Chaos
  12. Loading and Unloading Scenes
    1. Loading Scenes
    2. Unloading Scenes
    3. Streaming Limits
  13. Cinematics
    1. In-Engine Cinematic Parameters- Part 1
    2. In-Engine Cinematic Parameters- Part 2
    3. Cinematic Post Effects
    4. When, Why, and at What Cost?
  14. Course 3: NPC Design Programming
    1. Course Introduction
  15. NPC Logic and Behavior
    1. Animation State Machines
    2. Driving States Via Scripts
    3. Animation Events
    4. Adding State Machine Behaviors
    5. Mapping NPC Logic
    6. Scripting Logic into an NPC
    7. Mapping Mob Mentality
  16. Navigation and Pathfinding
    1. NavMesh Methodology
    2. Baking a Quality NavMesh
    3. NavMesh Area Costs
    4. Area Triggers
    5. Off Mesh Links
    6. Obstacle Avoidance Quality and Priority
  17. Raycasting
    1. Raycast Behavior
    2. Debugging Raycast Masks
    3. Optimizing Raycasts via Layers
  18. NPC Spawning and Placement
    1. Determining NPCs for Placement at Scene Load
    2. Where to Dynamically place NPCs
    3. Determining NPC Spawn Rates
    4. Optimizing Spawn Rates per Platform
  19. Course 4 Performance Optimization
    1. Introduction
  20. Rendering Optimization
    1. Occlusion Culling
    2. Optimizing Performance via Occlusion Culling
    3. LOD Methodology
    4. Evaluating LOD Distances
    5. Analyzing Fill Rates
    6. Rendering - Best Practices
    7. Minimizing Frame Drops
  21. Asset Bundles
    1. Asset Bundle Strategies
    2. Determining Optimal Configurations
    3. Identifying Issues
    4. Providing Asset Bundle Solutions
    5. Using Asset Bundles
  22. Gameplay Debugging
    1. General Debugging Strategies
    2. General Debugging Techniques
    3. Isolating Level Issues
    4. NPC Debugging
    5. Isolating Scene Loading and Transition Issues
    6. Finding the Best Solution
    7. Low-Hanging Fruit
    8. Game Killers
  23. Platform Constraints
    1. Platform Input/Controller Schemas
    2. Platform System Resources
    3. Optimizing Runtime Performance per Platform
    4. Optimizing Storage per Platform
  24. Platform Optimization
    1. Using the Profiler
    2. Managing your Short-term Memory
    3. Long-term Memory Use
    4. Hidden CPU Taxes
    5. Assessing Capabilities per Platform
    6. Targeting Build Targets
  25. Course 5: Unity Services Implementation
    1. Introduction
  26. Unity’s Ads
    1. Simple Ad Placement
    2. Simple Ads and the Player Experience
    3. Supplementing Scene Loading with Ads
    4. Rewarded Ad Placement
    5. Rewarded Ads and Player Experience
    6. Enhancing the Player Experience with Rewarded Ads
  27. In App Purchases
    1. Enabling an In App Purchases Store
    2. Processing In App Purchases
    3. Post Purchase
    4. UI Elements for In App Purchases
    5. Implementing an In App Purchase
  28. Unity Analytics
    1. Unity Analytics
    2. Translating GDD Level Design to Data Collection Points
    3. Custom Data Events for Player Behavior
    4. Heatmap Data
    5. Identifying User Pain Points from Heatmap Data
    6. Using the Dashboard for Evaluating Analytics
    7. Evaluating Analytics Raw Data
    8. Performance Reporting
    9. Analyzing Performance Reports
  29. Unity Cloud Build
    1. Setting up Cloud Build
    2. Test Build Logs
    3. Assessing your Target Build Platforms

Product information

  • Title: Unity Expert Gameplay Programmer Certification Courseware
  • Author(s): Unity Technologies
  • Release date: May 2019
  • Publisher(s): Pearson
  • ISBN: 9780135898949