강의

멘토링

로드맵

BEST
Game Dev

/

Game Programming

Game Algorithms You Must Learn by Lee Deok-woo

This is an online lecture that systematically organizes pathfinding and spatial partitioning algorithms used in game production.

(4.8) 24 reviews

599 learners

  • ideugu
알고리즘
실습 중심
게임개발자
Algorithm
Unity

Reviews from Early Learners

What you will learn!

  • A* Pathfinding Algorithm Used in Game Development

  • Various space-partitioning algorithms used in game production

Game optimization algorithms that every game programmer must know

This lecture covers all the essential algorithms that game programmers need to know.

  • A* pathfinding algorithm

  • Spatial partitioning Quadtree algorithm

  • Loose Quadtree algorithm that complements the Quadtree problem

  • Octree algorithm that extends the dimensionality of Quadtree

  • Spatial partitioning KD tree algorithm

  • Space partitioning BSP tree algorithm


This course is used as an in-house training material at Nexon Korea, Inc.

I recommend this to these people

Who should take this course (1)

A new game programmer who wants to take their game development skills to the next level.

Who should take this course (2)

A game programmer who wants to solve optimization problems that arise in game production using algorithms.

Who should take this course (3)

Programmers who want to systematically understand pathfinding and space partitioning algorithms.

After class

  • By understanding the strengths and weaknesses of various optimization algorithms, you will develop the ability to solve various problems.

  • If you are a game programmer, you can systematically understand the main algorithms that you basically need to know.

    • Understand the history and background of algorithms.

    • Understand the entire process, how the algorithm works step by step.

    • Implement the algorithm in a game engine and understand how it works through in-engine visualizations.

    • Beyond simply implementing algorithms, you'll learn optimization techniques to further improve them.

  • An example of implementing an algorithm directly in a game engine




Features of this course

Please introduce the key features and differentiating factors.

Feature 1

Key strengths of this course (1)

This course is designed to help students fully understand the algorithms by thoroughly examining each algorithm's progress step by step.

Feature 2

Key strengths of this course (2)

We've created programming examples using the Unity Engine and C#, enabling learners who understand the algorithm to easily implement it. We also provide additional optimization lessons, providing food for thought for future practical application.

Learn about these things

Section (1) Understanding the A* Pathfinding Algorithm

Learn the A* pathfinding algorithm, a basic algorithm used for pathfinding in game development, and implement it directly in the Unity engine.
Additionally, we implement the A* pathfinding algorithm using a binary heap-based priority queue data structure with enhancement learning and compare the results.

Binary heap example

Example implementation of the A* algorithm

Section (2) Understanding Space Partitioning Algorithms - Quadtrees and Octrees

Learn the quadtree algorithm, widely used in game development optimization, and implement it directly in the Unity engine. Using augmented learning, you'll learn the loose quadtree algorithm to solve common quadtree algorithm problems. Then, extending the domain to three dimensions, you'll implement spatial partitioning directly using the octree algorithm.

Quadtree example

Quadtree Algorithm Implementation Example

Section (3) Understanding Space Partitioning Algorithms - KD Trees and BSP Trees

We'll learn about the KD tree algorithm, another representative space partitioning algorithm, and implement it directly in the Unity engine. Finally, we'll examine the principles of the BSP tree, a popular choice in classic games, and learn about its strengths and weaknesses.

KD Tree Example

Example implementation of the KD tree algorithm

Hello. This is Lee Deuk-woo!

I am currently teaching students at Cheonggang Cultural Industry College.

We are producing online lectures for professionals commissioned by Nexon Korea, and we are also participating in Smilegate's UNSEEN training program to cultivate programmers essential for the Korean game industry.

To address the lack of systematically organized Korean-language resources on game development, I've been writing books and posting lectures on Inflearn, using my free time to compile essential game development theories. My representative book is "Game Mathematics" by Deuk-Woo Lee, and my featured lecture on Inflearn is "Unreal Programming" by Deuk-Woo Lee.

  • Epic Games Headquarters Hosts, Unreal Dev Grant Awards (2017)

  • Author of "Lee Deuk-woo's Unreal C++ Game Development Essentials" (Acorn Publishing, 2017)

  • Epic Games Unreal Engine Certified Instructor (2022)

  • Epic Games Korea Education Program (Start Unreal 2017, 2018, 2019, 2022)

  • Author of "Lee Deuk-woo's Game Mathematics" (Book Only, 2022)

  • Smilegate's Unreal Engine Professional Programmer Training Program, UNSEEN (2022)


[Representative works]

[Inflearn Representative Lecture]

Part 1

Part 1 - Understanding Unreal C++

part2

Part 2 - Understanding the Unreal Game Framework

Part 3

Part 3 - Understanding Network Multiplayer Frameworks

Do you have any questions?

Q. Is it mandatory for game developers to learn the algorithms covered in this course?

The algorithms covered in this course were devised a long time ago, but they remain essential and useful in game development. While some are provided as general-purpose APIs in commercial game engines, there are many situations where you need to implement them yourself. Furthermore, even within the same algorithm, performance can vary depending on the data structure used to implement it. Furthermore, they can be expanded and modified in various ways to suit the current game design. Therefore, a solid understanding of the fundamentals of algorithms is crucial.

Q. What is the difference between this lecture and the video on YouTube?

I consulted various YouTube videos for my classes, but I found many areas lacking from my perspective. Some algorithms were difficult to properly explain in videos or documents, so to address this, I systematically planned and produced the following lectures.

  • Provides a detailed step-by-step explanation of the algorithm's origins and progress.

  • Explains the implementation process using a game engine and provides a completed project.

  • Provides enhancement learning to further optimize the algorithm.

Q. Can I make a game with this course?

This course doesn't teach game development, but rather provides foundational knowledge to enhance the fundamental skills of a game programmer. However, because it's designed to be implemented using the Unity engine, anyone using the engine should be able to fully apply what you learn to their current game development.

Things to note before taking the course

Practice environment

  • Operating System and Version (OS): Windows, macOS

  • Tools Used: Unity Engine 2021.3.33f1

  • PC specifications: Windows 7 or later (64-bit), GPU supporting DX10 or later, CPU supporting SSE2 instructions

Learning Materials

  • Unity project file with completed algorithm implementation


Player Knowledge and Precautions

  • Basic experience using the Unity Engine

  • Basic C# language programming skills


Recommended for
these people

Who is this course right for?

  • Programmers who want to improve their game development skills

  • New programmers who want to get started in game development

  • Developers who want to systematically learn game algorithms

Need to know before starting?

  • Basic usage of Unity Engine

  • Basic C# Engine

Hello
This is

13,819

Learners

1,116

Reviews

826

Answers

4.9

Rating

7

Courses

청강문화산업대학교에서 언리얼 엔진, 게임 수학, 게임제작을 가르치고 있습니다.
- 이득우의 언리얼 C++ 프로그래밍, 넥슨 코리아 공식 교육 교재 선정 2023
- 스마일게이트 언리얼 프로그래머 양성 프로그램 언신(Unseen) 교육 총괄 2023
- 에픽게임즈 언리얼 공인 강사 (Authorized Instructor) 2022
- 에픽게임즈 개발자 지원 언리얼 데브그랜트 수상 2017
- 언리얼 서밋 2017, 2018, 2019 발표
- 시작해요 언리얼, UEFN 2022, 2023 웨비나 진행
- 대한민국 게임백서 2022 기술부문 편찬위원
- 부산인디커넥트페스티벌(BIC) 2022, 2023 심사위원장   

Curriculum

All

10 lectures ∙ (3hr 32min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

24 reviews

4.8

24 reviews

  • 강보영님의 프로필 이미지
    강보영

    Reviews 22

    Average Rating 5.0

    Edited

    5

    100% enrolled

    도움이 많이 되었습니다.

    • 까미님의 프로필 이미지
      까미

      Reviews 30

      Average Rating 4.6

      5

      60% enrolled

      • woobum72님의 프로필 이미지
        woobum72

        Reviews 19

        Average Rating 4.6

        5

        30% enrolled

        • 장발장님의 프로필 이미지
          장발장

          Reviews 5

          Average Rating 5.0

          5

          100% enrolled

          best

          • 함형진님의 프로필 이미지
            함형진

            Reviews 2

            Average Rating 5.0

            5

            60% enrolled

            $51.70

            ideugu's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!