Course Overview
Do your non-player characters (NPCs) lack drive and ambition? Are they slow, stupid and constantly banging their heads against the wall? Then this course is for you. Join Penny as she explains, demonstrates and assists you in creating your very own NPCs in Unity with C#. All you need is a sound knowledge of Unity, C# and the ability to add two numbers together.
This course uses Unity Version 6.2+ LTS.
In this course, Penny reveals the most popular AI techniques used for creating believable character behaviour in games using her internationally acclaimed teaching style and knowledge from over 30 years working with games, graphics and having written two award winning books on games AI. Throughout, you will follow along with hands-on workshops designed to teach you about the fundamental AI techniques used in today's games. You'll join in as NPCs are programmed to chase, patrol, shoot, race, crowd and much more.
Learn how to program and work with:
vectors
waypoints
navmeshes
the A* algorithm
crowds
flocks
animated characters
vehicles
and industry standard techniques such as GOAP (goal-oriented action learning).
Contents and Overview
The course begins with a detailed examination of vector mathematics that sits at the very heart of programming the movement of NPCs. Following this, systems of waypoints will be used to move characters around in an environment before examining the Unity waypoint system for car racing with AI controlled cars. This leads into an investigation of graph theory and the A* algorithm before we apply these principles to developing navmeshes and developing NPCs who can find their way around a game environment. Before an aquarium is programmed complete with autonomous schooling fish, crowds of people will be examined from the recreation of sidewalk traffic, to groups of people fleeing from danger. Having examined the differing ways to move NPCs around in a game environment, their thinking abilities will be discussed with full explanations and more hands-on workshops using finite state machines and behaviour trees.
The follow-along workshops included in the course come with starter Unity asset files and projects complete with solutions. Throughout, there are also quizzes and challenge exercises to reinforce your learning and guide you to express your newfound knowledge.
At the completion of this course you will have gained a broad understanding of what AI is in games, how it works and how you can use it in your own projects. It will equip you with a toolset to examine any of the techniques presented in more depth to take your game environments to the next level.
What students are saying about this course:
This has been my favourite Udemy-Unity course so far. It took me from literally 0% knowledge of how game AI is achieved, and took me to a whole new level. Waypoints, pathfinding, state machines, etc etc etc are all covered in-depth and will reveal the magic (spoiler alert: it isn't magic) behind making your computer characters seem like they really have a mind of their own.
Oh My God. I love her way of teaching things. I haven’t finished this course yet. But all i can say is that it is another brilliant course from her. Artificial intelligence by itself is a tricky thing to do. And before starting this course i never thought that i will understand anything in it. But i was wrong. With her style of teaching, you will learn how to move your characters in an ”intelligent“ way. This course is perfectly sliced and the pace is wonderful.
FAQ
FAQ area empty
Course curriculum
-
Welcome to the Course
Xem trước -
Introduction to Artificial Intelligence
Xem trước -
Join the H3D Student Community
Xem trước -
FAQs
-
Not So Scary Vector Mathematics
Xem trước -
Vector Mathematics Basics Cheat Sheet
-
Test your vector mathematics knowledge
Xem trước -
Setting up Pathfinding in Unity
Xem trước -
Updating to Unity 6
Xem trước
-
Time
Xem trước -
Normalising Movement with Time
Xem trước -
Velocity
Xem trước -
Predicting Future Locations of Game Objects Part 1
Xem trước -
Predicting Future Locations of Game Objects Part 2
Xem trước -
Introducing Acceleration
Xem trước -
Accelerating with Forces
Xem trước -
Applying Friction and Gravity to Acceleration
Xem trước -
Introducing Parabolic Motion
Xem trước -
Solving a Parabolic Arc to Find the Hit Location
Xem trước -
Using the Unity Physics System to Hit a Mark
Xem trước
-
The A* Pathfinding Algorithm Part 1
Xem trước -
Starting Work on a Pathfinding Algorithm
Xem trước -
Selecting Random Starting and Ending Points in a Maze
Xem trước -
Placing Markers for Visualising A*
Xem trước -
Beginning to Search
Xem trước -
Watching the A* in Action
Xem trước -
Debugging and Tweaking A*
Xem trước
-
Waypoints
Xem trước -
Slerping to the Direction of Travel
Xem trước -
Following a Circuit
Xem trước -
Following a Tracker
Xem trước -
Using A* with Waypoints Part 1
Xem trước -
A Simple Graph API Part 1
Xem trước -
A Simple Graph API Part 2
Xem trước -
A Simple Graph API Part 3
Xem trước -
Using A* with Waypoints Part 2
Xem trước -
Traversing a Path
Xem trước -
Giving Commands to Pathfind
Xem trước
-
Navigation Mesh Introduction
Xem trước -
From Waypoints to Navigation Meshes
Xem trước -
Setting up a NavMesh
Xem trước -
NavMesh Layers and Masks
Xem trước -
Selecting NavMesh Areas
Xem trước -
Drop Height and Jump Distance
Xem trước -
Defining Agent Types
Xem trước -
Following a Player on a NavMesh
Xem trước
-
Moving As One
Xem trước -
Creating a City Crowd Part 1
Xem trước -
Creating a City Crowd Part 2
Xem trước -
Fleeing Part 1
Xem trước -
Fleeing Part 2
Xem trước -
Flocking Part 1: Setting up Fish Agents
Xem trước -
Flocking Part 2: A Basic Schooling Behaviour
Xem trước -
Flocking Part 3: Adding goal locations and speed variety
Xem trước -
Flocking Part 4: Containing Fish in a Tank
Xem trước
-
An Introduction to GOAP
Xem trước -
Setting up a GOAP Environment
Xem trước -
Preplanning the agent's actions
Xem trước -
The World States
Xem trước -
Actions
Xem trước -
Agents
Xem trước -
The GOAP Planner Part 1
Xem trước -
The GOAP Planner Part 2
Xem trước -
Executing a Simple Plan
Xem trước -
Creating a Multistep Plan
Xem trước -
Spawning Patients
Xem trước -
Plans that Require Multiple Agents
Xem trước -
Matching Agents with Agents
Xem trước -
Adding More Resources to the World
Xem trước -
Implementing the Inventory System
Xem trước -
Moving the Nurse
Xem trước -
Adding a Goal Challenge
Xem trước
-
Setting up Wheel Physics
Xem trước -
Forces on Wheels
Xem trước -
Constructing a Simple Car
Xem trước -
Turning the Steering Wheel
Xem trước -
Creating A Circuit with Waypoints
Xem trước -
Automatically Driving a Circuit Part 1
Xem trước -
Braking
Xem trước -
Driving Forces
Xem trước -
Improved Driving Tactics
Xem trước -
Adding a Progress Tracker
Xem trước -
Adding Antiroll Stabilising
Xem trước -
Reconfiguring for Car Setting Testing
Xem trước -
Avoiding Other Drivers
Xem trước -
Improving Avoidance and Reversing
Xem trước
-
NavMesh Basics
Xem trước -
From Waypoints to NavMesh
Xem trước -
NavMesh Agents Part 1
Xem trước -
NavMesh Agents Part 2
Xem trước -
Following a Player on A NavMesh and Setting-Up Off Mesh Links
Xem trước -
Fixing Mixamo Textures
-
Animating on a NavMesh
Xem trước -
Syncing Animation Speed with NavMesh Agent Speed
Xem trước -
Multiple NavMeshes for Different Agent Sizes
Xem trước -
Challenge
Requirment
-
You should be familiar with C# and the Unity Game Development Engine.
Outcomes
-
Design and program NPCs with C# in Unity
-
Explain how AI is applied in computer games
-
Implement AI-related Unity Asset plugins into existing projects
-
Work with a variety of AI techniques for developing navigation and decision making abilities in NPCs
Instructor
Nguyễn Đình Cường
1.2
-
1 Student
-
330 Courses
-
1253 reviews
Xin chào các bạn, tôi là Nguyễn Đình Cường, một lập trình viên và giảng viên đam mê công nghệ với hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. Tôi tốt nghiệp từ Bưu Chính Viễn Thông và đã từng làm việc cho một số công ty công nghệ hàng đầu như FPT Software và VinGroup. Với chuyên môn chính là phát triển ứng dụng web, tôi đã làm việc với nhiều công nghệ như HTML, CSS, JavaScript, React cho front-end và Node.js, Express, MongoDB cho back-end. Không chỉ dừng lại ở việc viết mã, tôi còn yêu thích tìm hiểu sâu về thiết kế hệ thống và kiến trúc phần mềm. Tôi tin rằng quá trình học lập trình không chỉ đơn thuần là lý thuyết, mà còn là sự trải nghiệm thực tế và giải quyết vấn đề. Trong các khóa học của mình, tôi cố gắng cung cấp cho học viên những bài giảng thú vị và dễ hiểu, cùng với các bài tập thực hành giúp củng cố kiến thức. Tôi hy vọng rằng qua các khóa học của mình, bạn sẽ không chỉ học được cách viết mã, mà còn phát triển tư duy lập trình và kỹ năng giải quyết vấn đề. Hãy cùng nhau khám phá thế giới lập trình và biến ý tưởng của bạn thành hiện thực! Nếu bạn có bất kỳ câu hỏi nào, đừng ngần ngại liên hệ với tôi. Tôi rất vui được hỗ trợ bạn trong hành trình học tập của mình!
View Details