Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
BEST
Game Dev

/

Game Programming

Lee Deok-woo chia sẻ về các thuật toán trò chơi cần phải học

Đây là khóa học trực tuyến tổng hợp có hệ thống các thuật toán tìm đường và chia không gian được sử dụng trong sản xuất trò chơi.

(4.8) 22 đánh giá

587 học viên

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

Đánh giá từ những học viên đầu tiên

Dịch cái này sang tiếng Việt

  • Thuật toán tìm đường A* được sử dụng trong sản xuất trò chơi

  • Nhiều thuật toán chia không gian được sử dụng trong sản xuất trò chơi

Thuật toán tối ưu hóa trò chơi mà mọi lập trình viên trò chơi phải biết

Bài giảng này đề cập đến tất cả các thuật toán cần thiết mà lập trình viên trò chơi cần biết.

  • Thuật toán tìm đường A*

  • Phân vùng không gian Thuật toán Quadtree

  • Thuật toán Quadtree lỏng lẻo bổ sung cho bài toán Quadtree

  • Thuật toán Octree mở rộng tính đa chiều của Quadtree

  • Thuật toán cây phân vùng không gian KD

  • Thuật toán cây BSP phân vùng không gian


Khóa học này được sử dụng làm tài liệu đào tạo nội bộ tại Nexon Korea, Inc.

Tôi giới thiệu điều này cho những người này

Ai nên tham gia khóa học này (1)

Một lập trình viên trò chơi mới muốn nâng cao kỹ năng phát triển trò chơi của mình lên một tầm cao mới.

Ai nên tham gia khóa học này (2)

Một lập trình viên trò chơi muốn giải quyết các vấn đề tối ưu hóa phát sinh trong quá trình sản xuất trò chơi bằng thuật toán.

Ai nên tham gia khóa học này (3)

Các lập trình viên muốn hiểu một cách có hệ thống về các thuật toán tìm đường và phân vùng không gian.

Sau giờ học

  • Bằng cách hiểu được điểm mạnh và điểm yếu của nhiều thuật toán tối ưu hóa khác nhau, bạn sẽ phát triển khả năng giải quyết nhiều vấn đề khác nhau.

  • Nếu bạn là một lập trình viên trò chơi, bạn có thể hiểu một cách có hệ thống các thuật toán chính mà về cơ bản bạn cần biết.

    • Hiểu được lịch sử và bối cảnh của thuật toán.

    • Hiểu toàn bộ quá trình, cách thuật toán hoạt động từng bước.

    • Triển khai thuật toán trong công cụ trò chơi và hiểu cách thức hoạt động của nó thông qua hình ảnh trực quan trong công cụ.

    • Không chỉ đơn thuần là triển khai thuật toán, bạn sẽ học được các kỹ thuật tối ưu hóa để cải thiện chúng hơn nữa.

  • Một ví dụ về việc triển khai thuật toán trực tiếp trong công cụ trò chơi




Các tính năng của khóa học này

Xin hãy giới thiệu những đặc điểm chính và yếu tố khác biệt.

Tính năng 1

Điểm mạnh chính của khóa học này (1)

Khóa học này được thiết kế để giúp sinh viên hiểu đầy đủ về các thuật toán bằng cách xem xét kỹ lưỡng từng bước tiến triển của từng thuật toán.

Tính năng 2

Điểm mạnh chính của khóa học này (2)

Chúng tôi đã tạo ra các ví dụ lập trình bằng Unity Engine và C#, giúp người học hiểu rõ thuật toán có thể dễ dàng triển khai. Chúng tôi cũng cung cấp các bài học tối ưu hóa bổ sung, cung cấp tư liệu tham khảo cho ứng dụng thực tế trong tương lai.

Tìm hiểu về những điều này

Phần (1) Hiểu thuật toán tìm đường A*

Tìm hiểu thuật toán tìm đường A*, một thuật toán cơ bản được sử dụng để tìm đường trong phát triển trò chơi và triển khai trực tiếp trong công cụ Unity.
Ngoài ra, chúng tôi triển khai thuật toán tìm đường A* bằng cách sử dụng cấu trúc dữ liệu hàng đợi ưu tiên dựa trên đống nhị phân với học tăng cường và so sánh kết quả.

Ví dụ về heap nhị phân

Ví dụ triển khai thuật toán A*

Phần (2) Hiểu về thuật toán phân vùng không gian - Quadtrees và Octrees

Tìm hiểu thuật toán quadtree, được sử dụng rộng rãi trong tối ưu hóa phát triển trò chơi, và triển khai trực tiếp trong công cụ Unity. Sử dụng học tăng cường, bạn sẽ học thuật toán quadtree rời rạc để giải quyết các bài toán thuật toán quadtree phổ biến. Sau đó, mở rộng miền dữ liệu lên ba chiều, bạn sẽ triển khai phân vùng không gian trực tiếp bằng thuật toán octree.

Ví dụ Quadtree

Ví dụ triển khai thuật toán Quadtree

Phần (3) Hiểu về thuật toán phân vùng không gian - Cây KD và Cây BSP

Chúng ta sẽ tìm hiểu về thuật toán cây KD, một thuật toán phân vùng không gian tiêu biểu khác, và triển khai nó trực tiếp trong engine Unity. Cuối cùng, chúng ta sẽ xem xét các nguyên tắc của cây BSP, một lựa chọn phổ biến trong các trò chơi cổ điển, và tìm hiểu về ưu điểm cũng như nhược điểm của nó.

Ví dụ về cây KD

Ví dụ triển khai thuật toán cây KD

Xin chào. Tôi là Lee Deuk-woo!

Hiện tại tôi đang giảng dạy tại trường Cao đẳng Công nghiệp Văn hóa Cheonggang.

Chúng tôi đang sản xuất các bài giảng trực tuyến cho các chuyên gia được Nexon Korea ủy quyền và cũng tham gia chương trình đào tạo UNSEEN của Smilegate để đào tạo các lập trình viên cần thiết cho ngành công nghiệp trò chơi điện tử Hàn Quốc.

Để giải quyết tình trạng thiếu hụt các nguồn tài liệu tiếng Hàn được tổ chức một cách hệ thống về phát triển game, tôi đã viết sách và đăng bài giảng trên Inflearn, tận dụng thời gian rảnh rỗi để biên soạn các lý thuyết phát triển game thiết yếu. Cuốn sách tiêu biểu của tôi là "Toán học trò chơi" của Deuk-Woo Lee, và bài giảng nổi bật của tôi trên Inflearn là "Lập trình không thực" của Deuk-Woo Lee.

  • Trụ sở chính của Epic Games tổ chức Giải thưởng Unreal Dev Grant (2017)

  • Tác giả của "Lee Deuk-woo's Unreal C++ Game Development Essentials" (Acorn Publishing, 2017)

  • Giảng viên được chứng nhận Unreal Engine của Epic Games (2022)

  • Chương trình giáo dục Epic Games Korea (Start Unreal 2017, 2018, 2019, 2022)

  • Tác giả của "Toán học trò chơi của Lee Deuk-woo" (Chỉ có sách, 2022)

  • Chương trình đào tạo lập trình viên chuyên nghiệp Unreal Engine của Smilegate, UNSEEN (2022)


[Tác phẩm tiêu biểu]

[Bài giảng của đại diện Inflearn]

Phần 1

Phần 1 - Hiểu về Unreal C++

phần 2

Phần 2 - Hiểu về Khung trò chơi Unreal

Phần 3

Phần 3 - Hiểu về các khuôn khổ nhiều người chơi mạng

Bạn có thắc mắc nào không?

H. Các nhà phát triển trò chơi có bắt buộc phải học các thuật toán được đề cập trong khóa học này không?

Các thuật toán được đề cập trong khóa học này đã được phát minh từ lâu, nhưng chúng vẫn thiết yếu và hữu ích trong phát triển trò chơi. Mặc dù một số được cung cấp dưới dạng API đa năng trong các công cụ trò chơi thương mại, nhưng có nhiều trường hợp bạn cần tự mình triển khai chúng. Hơn nữa, ngay cả trong cùng một thuật toán, hiệu suất có thể thay đổi tùy thuộc vào cấu trúc dữ liệu được sử dụng để triển khai nó. Hơn nữa, chúng có thể được mở rộng và sửa đổi theo nhiều cách khác nhau để phù hợp với thiết kế trò chơi hiện tại. Do đó, việc hiểu rõ các nguyên tắc cơ bản của thuật toán là rất quan trọng.

H. Sự khác biệt giữa bài giảng này và video trên YouTube là gì?

Tôi đã tham khảo nhiều video trên YouTube cho các lớp học của mình, nhưng tôi thấy nhiều điểm còn thiếu sót so với quan điểm của mình. Một số thuật toán khó có thể giải thích rõ ràng bằng video hoặc tài liệu, vì vậy để giải quyết vấn đề này, tôi đã lên kế hoạch và biên soạn các bài giảng sau một cách có hệ thống.

  • Cung cấp lời giải thích chi tiết từng bước về nguồn gốc và tiến trình của thuật toán.

  • Giải thích quá trình triển khai bằng công cụ trò chơi và cung cấp một dự án hoàn chỉnh.

  • Cung cấp khả năng học nâng cao để tối ưu hóa thuật toán hơn nữa.

H. Tôi có thể tạo trò chơi bằng khóa học này không?

Khóa học này không hướng dẫn phát triển game, mà cung cấp kiến thức nền tảng để nâng cao kỹ năng cơ bản của một lập trình viên game. Tuy nhiên, vì được thiết kế để triển khai bằng engine Unity, bất kỳ ai sử dụng engine này đều có thể áp dụng hoàn toàn những gì bạn học vào quá trình phát triển game hiện tại của mình.

Những điều cần lưu ý trước khi tham gia khóa học

Môi trường thực hành

  • Hệ điều hành và phiên bản (OS): Windows, macOS

  • Công cụ được sử dụng: Unity Engine 2021.3.33f1

  • Thông số kỹ thuật PC: Windows 7 trở lên (64-bit), GPU hỗ trợ DX10 trở lên, CPU hỗ trợ lệnh SSE2

Tài liệu học tập

  • Tệp dự án Unity với việc triển khai thuật toán đã hoàn thành


Kiến thức và biện pháp phòng ngừa của người chơi

  • Kinh nghiệm cơ bản khi sử dụng Unity Engine

  • Kỹ năng lập trình ngôn ngữ C# cơ bản


Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Những lập trình viên muốn nâng cao năng lực phát triển trò chơi

  • Người mới bắt đầu muốn tham gia vào quá trình sản xuất trò chơi

  • Các nhà phát triển muốn học thuật toán trò chơi một cách có hệ thống

Cần biết trước khi bắt đầu?

  • Cách sử dụng cơ bản của Unity Engine

  • Động cơ C# cơ bản

Xin chào
Đây là

13,626

Học viên

1,101

Đánh giá

819

Trả lời

4.9

Xếp hạng

7

Các khóa học

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

Chương trình giảng dạy

Tất cả

10 bài giảng ∙ (3giờ 32phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

22 đánh giá

4.8

22 đánh giá

  • jidoil님의 프로필 이미지
    jidoil

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    tốt nhất

    • hjham5096님의 프로필 이미지
      hjham5096

      Đánh giá 2

      Đánh giá trung bình 5.0

      5

      60% đã tham gia

      • gamejuppiiiii1478님의 프로필 이미지
        gamejuppiiiii1478

        Đánh giá 1

        Đánh giá trung bình 5.0

        5

        60% đã tham gia

        • haedallog님의 프로필 이미지
          haedallog

          Đánh giá 14

          Đánh giá trung bình 4.9

          5

          100% đã tham gia

          Những ai tò mò về thuật toán tìm đường và thuật toán phân vùng không gian sẽ khó tìm được bài giảng nào tốt hơn bài giảng này. Thật tốt vì các ví dụ được cung cấp bằng Unity.

          • gusdh8380님의 프로필 이미지
            gusdh8380

            Đánh giá 1

            Đánh giá trung bình 5.0

            5

            100% đã tham gia

            Cảm ơn bạn vì bài giảng rất hay! Tôi sẽ trở thành một nhà phát triển trò chơi giỏi để có thể giới thiệu bài giảng này!

            1.402.898 ₫

            Khóa học khác của ideugu

            Hãy khám phá các khóa học khác của giảng viên!

            Khóa học tương tự

            Khám phá các khóa học khác trong cùng lĩnh vực!