Description
In this course, you will :
- Learn C# from the ground up. A strong modern language.
- Learn how to use Unity 2017, a powerful 3D tool.
- Learn everything there is to know about video game design.
- Unity allows you to create 2.5D and 3D games.
- Transfer your knowledge to.NET, other languages, and other platforms.
- Learn how to use object oriented programming in practise.
- Develop a problem-solving mindset that is upbeat.
- EVERY VIDEO INCLUDES PRACTICAL EXERCISES TO BUILD ACTUAL SKILLS.
- Learn how to code well and how to use design patterns.
- Learn how to use source control, a useful tool for working in small groups.
Syllabus :
1. Obstacle Course
- Start() & Update()
- Introducing Variables
- Using SerializeField
- C# Formatting & Input.GetAxis()
- Time.deltaTime
- Cinemachine Follow Camera
- Basic Collision
- Introduction To Methods
- Practicing With Methods
- Using OnCollisionEnter()
- Using GetComponent<>()
- Incrementing A Score
- Using Time.time
- If Statements
- Caching A Reference
- Using Tags
- Rotate An Object
- Prepare Our Prefabs
- Build An Obstacle Course
2. Project Boost
- Game Design - Project Boost
- Onion Design
- Unity Units
- Introducing Classes
- Basic Input Binding
- Using AddRelativeForce()
- Variable For Thrusting
- Transform.Rotate() Our Rocket
- Rigidbody Constraints
- Our Source Control Repo
- Unity Audio Introduction
- Play AudioSource SFX
- Switch Statements
- Respawn Using SceneManager
- Load Next Level
- Using Invoke
- Multiple Audio Clips
- Bool Variable For State
- Make Rocket Look Spiffy
- How To Trigger Particles
- Particles For Rocket Boosters
- Refactor With Extract Method
- Add Cheat / Debug Keys
- Make Environment From Cubes
- How To Add Lights In Unity
- Move Obstacle With Code
- Mathf.Sin() For Oscillation
- Protect Against NaN Error
- Designing Level Moments
- Quit Application
- How To Build & Publish A Game
3. Argon Assault
- Game Design - Argon Assault
- How To Add Terrain
- Unity Terrain Tools
- How To Use Unity Asset Store
- Texturing Terrain In Unity
- Add Trees To Terrain
- Master Timeline For Player Rail
- Animate Enemy Using Timeline
- Import Player Ship Asset
- Using GetAxis() For Movement
- Unity's New Input System
- Start Moving Our Player
- Move Player Using Input
- Mathf.Clamp() To Constrain Movement
- How To Set Local Rotation
- Rotate Ship With Position & Throw
- Time To Tune And Tweak
- Particle System Laser Bullet
- Exploring Nested Prefabs In Unity
- Set Up Firing Input
- Arrays & Foreach Loops
- Deactivating Particle System Emission
- Header & Tooltips Attributes
- Understanding Collisions & Triggers
- Detecting Particle Collisions
- Reload Scene After Collision
- Create Explosion Particle Effect
- Trigger Player Explosion
- Instantiate At Runtime
- Public Methods In Unity C#
- Simple User Interface For Score
- ToString() To Display Score
- Enemy Hit Points
- Set Up Enemy Prefabs
- Using FindWithTag()
- Control Tracks For Enemy Waves
- Timeline For Dialogue
- Singleton Pattern For Music Player
- Sneaky Explosion SFX
- Skybox & Lighting
- Add Post Processing
- Your 3 Minute Experience
4. Realm Rush
- Realm Rush Game Design
- Grid Snapping
- Text Labels
- Coordinate System
- Lists
- Introducing Coroutines
- Importing Assets
- Prefab Variants
- Smooth Enemy Movement
- Detect Mouse Input
- Targeting Enemies
- Damaging Enemies
- Debugging Tools
- Finding the Path
- Instantiating Enemies
- Object Pools
- Target Closest Enemy
- Currency System
- UI Text
- Increasing Difficulty
- Refactoring
- Playtest and Balance
- Review and Reflect
- Pathfinding Decisions
- Breadth First Search
- Pure C# Classes
- Dictionaries
- More Debugging Tools
- Exploring Neighbors
- Exploring the World
- Finding the Path (again!)
- Blocking Nodes
- Valid Path
- Script Execution Order
- Broadcast Message
- Overloading Methods
- Build Timer
- Ambience
- Post Processing
5. Zombie Runner - First Person Shooter
- Zombie Runner Game Design
- Adding First Person Controller
- Make A Prototyping Sandbox
- Using NavMeshAgent For AI
- Getting Stuck & Jittering
- Enemy AI - Chase Range
- Using OnDrawGizmosSelected()
- Enemy AI - Attack If Provoked
- Give That Player A Gun
- Introduction To Raycasting
- Enemy Health & Damage
- Implement A Muzzle Flash
- Creating Shooting Hit Effect
- Introduction To Animator Controller
- Creating A Simple Animation
- Animator Transition Conditions
- Trigger Animation In Code
- Use Animation Events
- Create Player Health Class
- Rotate To Face Target
- Game Over User Interface
- Create A Death Handler
- Using BroadcastMessage
- Early Gameplay Loop
- Weapon System Overview
- Weapon Zoom - Field Of View
- Weapon Zoom - Mouse Sensitivity
- Basic Ammo Functionality
- Multiple Weapon Types
- Weapon Differentiation
- Set Active Weapon
- Player Input To Select Weapon
- Public Enum & Private Class
- Different Weapon Different Ammo
- Quick Bug Fix Challenge
- Ammo Pickup
- Let's Add A Zombie
- Quick Zombie Attack Challenge
- Flex Your Level Design Muscles
- Add Terrain & Trees
- ProBuilder For Making Props
- ProBuilder To Make Rooms
- ProBuilder To Make Levels
- Adding Textures With ProBuilder
- We Need Some Lights
- Create A FlashLight
- Create A Battery Pickup
- Display Current Ammo UI
- Damage Received UI
- Props & Polish