Pathfinding - Section 1 - Develop a Pathfinder in C#
Channel: FaramiraSG
Date: 11/03/2024

Welcome to our game development tutorial series. In this video tutorial, we will explore in depth the process of understanding and implementing pathfinding using C# in Unity. Our tutorial is structured into four main sections, each containing one or more subsections. The timestamp for each section is located in the description below.

1. In the first section, we will introduce the concept of pathfinding and then proceed to develop a generic pathfinder using C#. This pathfinder will be based on three well-known algorithms. 
2. In the second section, we will apply our generic pathfinder to navigate through a 2D grid, showcasing its practical application within Unity.
3. Transitioning to the third section, we will leverage our generic pathfinder to address a graph-based pathfinding problem, again demonstrating its utility in Unity. 
4. Finally, in the fourth section, we will delve into solving the 8-puzzle problem using pathfinding techniques, showcasing that pathfinding can be used not only for navigation but also to solve a generic search-based puzzle problem.

Try the WebGL version of the Pathfinder on: https://faramira.com/downloads/pathfinding-playground/

For the written version of this tutorial, visit our website: 
https://faramira.com/pathfinding-using-c-in-unity/

You can also access the entire source code of this project on our GitHub repository: https://github.com/shamim-akhtar/tutorial-pathfinding/tree/2023

In this first section, we will learn about pathfinding and the algorithms used to solve it. We will then proceed to implement a generic pathfinder by applying the three most commonly known and popular pathfinding algorithms: the "A-star," the Dijkstra, and the greedy best-first algorithms.

Time Stamps:
0:16 - Overview of the sections.
1:27 - Section 1: Develop a Generic Pathfinder in C#
2:50 - The General Steps to Solve Pathfinding Problem
5:27 - The Path Finder Status
6:37 - The Node Class
7:54 - The Path Finder Class
8:41 - The Path Finder Node Class
11:02 - Some Properties
12:20 - The Open and Closed List 
13:40 - Delegates for Action Callbacks
15:30 - The Reset Method
16:16 - The Search Step
18:50 - Initialising Path Finding
20:24 - The Dijkstra’s Algorithm
22:58 - The A* Algorithm
25:14 - The Greedy Best-first Search Algorithm