Khung công cụ game engine tạo bằng C++ (Học cấu trúc engine thông qua trò chơi Sokoban và game bắn súng)

Nếu bạn muốn hiểu về công cụ phát triển trò chơi (game engine), cách nhanh nhất là hãy tự mình tạo ra một cái. Đây là khóa học theo dạng dự án, nơi bạn sẽ triển khai cấu trúc cốt lõi của một game engine trên console bằng C++, và hoàn thành cả trò chơi Sokoban lẫn game bắn máy bay. Khóa học cung cấp góc nhìn giúp bạn hiểu sâu hơn về cấu trúc của các công cụ như Unreal và Unity.

(5.0) 24 đánh giá

152 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

C++
C++
oop
oop
Architecture
Architecture
C++
C++
oop
oop
Architecture
Architecture

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

5.0

5.0

박창후

52% đã tham gia

Trong quá trình sử dụng Unreal Engine, tôi luôn có những thắc mắc mơ hồ về việc các tính năng này hoạt động bên trong như thế nào và tại sao chúng lại được thiết kế với cấu trúc như vậy. Các bài giảng trên thị trường hầu hết chỉ tập trung vào cách sử dụng giao diện công cụ nên tôi vẫn luôn cảm thấy "khát" kiến thức, và lần này tôi thực sự đã gặp được một khóa học rất tốt. Điểm hài lòng nhất là tôi có thể tự tay hiện thực hóa các cơ chế nền tảng của engine. Không chỉ dừng lại ở việc tạo ra các tính năng, thông qua việc trực tiếp thiết kế vòng đời của Actor hay hệ thống Tick, tôi đã có cơ hội suy nghĩ sâu sắc về việc thế nào là một cấu trúc mã nguồn hướng đối tượng. Nhờ đó, những dòng code vốn dĩ lộn xộn vì trước đây chỉ mải mê vào việc thực thi thì nay tôi cảm thấy chúng đang dần trở nên trật tự hơn. Đặc biệt, phần quản lý bộ nhớ thông qua việc hiện thực hóa RTTI tùy chỉnh (Custom RTTI) đã để lại ấn tượng sâu sắc. Thay vì chỉ sử dụng các tính năng có sẵn của engine, việc học nguyên lý quản lý thông tin kiểu dữ liệu trong thời gian chạy (runtime) và ép kiểu an toàn đã giúp tôi tự tin hơn rất nhiều về C++ và cấu trúc bộ nhớ. Quá trình tách engine thành DLL để liên kết cũng rất mới mẻ; đây là những kiến thức thực tiễn khó tìm thấy trong các bài hướng dẫn thông thường, giúp ích rất nhiều cho việc học Khoa học máy tính (CS) của tôi. Sau khi hoàn thành khóa học, giờ đây mỗi tên lớp hay biến số trong Unreal Engine đối với tôi đã trở nên khác biệt hoàn toàn so với trước đây. Tôi thực sự muốn đề xuất khóa học này cho những ai muốn hiểu rõ cấu trúc khổng lồ của engine, hoặc những ai muốn phát triển thành một nhà phát triển có năng lực thực thụ. Xin chân thành cảm ơn giảng viên đã trở thành một người hướng dẫn tuyệt vời.

5.0

안희준

100% đã tham gia

Tôi thực sự khuyên dùng khóa học này cho những ai muốn tự tay thiết kế và thấu hiểu cấu trúc nội bộ căn bản của một game engine, thay vì chỉ dừng lại ở việc sử dụng các tính năng có sẵn mà các engine thương mại cung cấp. Thông qua bài giảng này, tôi đã có được cái nhìn sâu sắc về nguyên lý hoạt động của các tính năng cốt lõi như vòng đời của Actor và quản lý Tick. Đặc biệt, phương pháp trực tiếp kiểm soát bộ nhớ bằng C++ để ngăn chặn rò rỉ tài nguyên, hay nguyên lý xử lý kế thừa đối tượng và downcasting an toàn bằng cách triển khai RTTI tùy chỉnh là những kinh nghiệm quý báu mà việc học hời hợt bên ngoài không bao giờ có được. Ngoài ra, quá trình tách biệt và liên kết engine bằng cách build dưới dạng DLL đã lấp đầy những kiến thức CS thực tiễn vốn khó có thể tiếp cận trong các tiết học chuyên ngành ở trường hay các bài hướng dẫn thông thường. Nếu bạn là một nhà phát triển muốn biết lý do thực sự đằng sau cách vận hành nội bộ của các engine như Unreal hay Unity, nhất định hãy thử nghe khóa học này.

5.0

최재우

100% đã tham gia

Trước đây tôi từng mơ hồ về các kiến thức CS, nhưng giờ đây tôi đã nắm vững các khái niệm đến mức có thể diễn đạt lại một cách chính xác. Ngoài ra, thông qua việc trực tiếp thiết kế trò chơi Sokoban và game bắn súng, cũng như học về RTTI và các tính năng va chạm, tôi đã tự tin rằng mình có thể tự tay tạo ra một trò chơi! Tôi rất muốn giới thiệu khóa học này cho bạn bè xung quanh!

Bạn sẽ nhận được điều này sau khi học.

  • Tự tay xây dựng game engine bằng C++

  • Khả năng vận dụng Template và Smart Pointer trong C++

  • Cách tách biệt trách nhiệm Transform, Rendering và Va chạm thành các Component

  • Thiết kế vòng lặp trò chơi và cấu trúc cấp độ Actor

  • Thiết kế vòng đời của Actor và Component

  • Thực thi Scene Graph dựa trên biến đổi local/world

  • Thực hiện phân cấp cha-con bằng cách sử dụng AttachTo() và DetachFromParent()

  • Tách biệt sự phụ thuộc của Actor giữa Renderer và CollisionSystem

  • Thực hiện cấu trúc mô-đun dựa trên DLL

  • Xây dựng hệ thống RTTI tùy chỉnh

  • Trực tiếp triển khai Double Buffering (Đệm kép) và Hệ thống va chạm (AABB)

  • Hoàn thành trò chơi Sokoban và bắn máy bay

  • Kinh nghiệm tái cấu trúc (refactoring) chuyển đổi mã nguồn trò chơi hiện có sang cấu trúc Component

  • Hiểu hướng mở rộng dẫn đến cấu trúc Prefab, ActorID, DOD/ECS


Phần mở rộng dựa trên thành phần (component) đã được thêm vào bài giảng hiện tại.

Sau khi hoàn thành trò chơi Sokoban và bắn máy bay trong bài giảng trước,
một phần chuyên sâu mới đã được thêm vào để mở rộng công cụ game đã hoàn thiện lên một tầm cao mới.

Trong phần mở rộng lần này, chúng ta không vứt bỏ cấu trúc tập trung vào Actor cũ để làm lại từ đầu,
mà sẽ tiến hành tái cấu trúc (refactoring) dần dần công cụ đã hoàn thiện giống như trong một dự án thực tế.

Tách biệt các trách nhiệm về Transform, hiển thị (rendering) và va chạm vốn do Actor trực tiếp xử lý sang cho Component,
đồng thời triển khai cả Transform Scene Graph để thể hiện quan hệ phân cấp giữa cha và con.

Cuối cùng, chúng ta cũng sẽ cùng tìm hiểu xem cấu trúc Actor-Component hiện tại có thể được mở rộng sang cấu trúc Prefab, ActorID, DOD/ECS như thế nào
.

Không chỉ có video bài giảng mới, mà ghi chú bài học của từng chương và tệp dự án ZIP theo từng giai đoạn cũng được cung cấp kèm theo.

Tôi đã mở rộng quá trình chuyển đổi mã nguồn hiện tại sang cấu trúc mới, đồng thời trực tiếp xác nhận lý do tại sao engine được hoàn thiện trong bài giảng trước lại cần đến cấu trúc Component.


Sau khi học khóa học này, các học viên đã thay đổi như thế này

“헷갈리던 CS 개념들을 이제는 정확히 설명할 수 있게 되었습니다.”

“Thay vì chỉ tập trung vào việc triển khai tính năng, tôi đã bắt đầu nắm bắt được phương pháp thiết kế phù hợp với cấu trúc của engine.”

“Trực tiếp triển khai thử, tôi bắt đầu thấy mã nguồn của Unreal Engine theo một cách khác.”

“Thông qua việc hiểu cấu trúc RTTI và DLL, tôi đã biết được công cụ (engine) hoạt động như thế nào.”


Kết quả dự án trong vòng một tuần của các học viên thực tế


Nếu bạn muốn hiểu về game engine, hãy tự mình tạo ra nó.

Nếu muốn hiểu về game engine, việc tự mình tạo ra nó là cách nhanh nhất.

Thực hiện cấu trúc cốt lõi của game engine bằng C++, đồng thời hoàn thiện cả trò chơi Sokoban và game bắn máy bay.

Tại đây, thông qua phần chuyên sâu mới được mở rộng từ bài giảng hiện có, bạn sẽ học cách tái cấu trúc (refactoring) cấu trúc lấy Actor làm trung tâm sang dựa trên Component, đồng thời tìm hiểu hướng mở rộng của Transform Scene Graph và Prefab·ECS.

Đây là khóa học dạng dự án cung cấp góc nhìn giúp bạn hiểu tại sao cấu trúc của Unreal và Unity Engine lại được thiết kế như vậy.


Đây không chỉ đơn thuần là một lớp học làm game.

Thay vì sử dụng các công cụ đã có sẵn,
quá trình tự thiết kếtriển khai cấu trúc cốt lõi của game engine sẽ được tiến hành..


Trực tiếp xây dựng cấu trúc cốt lõi của engine.

Không chỉ đơn thuần là triển khai các tính năng, mà bạn sẽ trực tiếp tạo ra những yếu tố cốt lõi để thấu hiểu cấu trúc của các engine thương mại.

  • Thiết kế game engine dựa trên lập trình hướng đối tượng C++ (Object-Oriented Programming)

  • Kiến trúc vòng lặp trò chơi (Game Loop)

  • Hệ thống quản lý thế giới dựa trên ActorLevel

  • Cấu trúc cập nhật dựa trên khung hình cố định

  • Hệ thống xử lý đầu vào

  • Hệ thống render Double Buffering

  • Hệ thống xác định va chạm dựa trên AABB

  • Tách biệt DLL thông qua thiết kế kiến trúc Engine/Nội dung (Engine/Game Architecture)

  • Hệ thống kiểu tùy chỉnh (RTTI)

Hoàn thiện trò chơi bằng chính engine đã tạo ra.

Lộ trình tiến độ khóa học

Khóa học này không chỉ dừng lại ở việc tạo ra engine.

Thực tế sản xuất một trò chơi hoàn chỉnh dựa trên engine tự tay mình tạo ra.

Bạn sẽ được trải nghiệm toàn bộ quy trình từ “Engine → Game”.


1. Trò chơi Sokoban

Đây là dự án trò chơi đầu tiên sử dụng engine tự phát triển.
Bạn sẽ chế tạo Sokoban, một trò chơi giải đố nhấn mạnh vào các quy tắc.

Trò chơi giải đố Sokoban được triển khai dựa trên engine tự phát triển

Đây là cấu trúc được áp dụng tất cả các hệ thống nhập liệu/va chạm/kết xuất (rendering) thời gian thực.

2. Trò chơi bắn súng

Đây là dự án trò chơi thứ hai sử dụng engine tự phát triển.
Chúng ta sẽ tạo ra một trò chơi bắn súng, nơi bạn có thể trực tiếp triển khai xử lý đầu vào thời gian thực, tạo actor động và xử lý va chạm.

Trò chơi bắn máy bay thời gian thực được xây dựng dựa trên engine tự phát triển
Cấu trúc mà trong đó việc xử lý đầu vào thời gian thực, phán đoán va chạm và hệ thống render hoạt động một cách hữu cơ

Bối cảnh lập kế hoạch bài giảng

Khóa học giúp phá vỡ rào cản của năm thứ 2 phát triển game và nuôi dưỡng khả năng đọc mã nguồn Unreal Engine.

Mục tiêu là giúp bạn phát triển thành một nhà phát triển không chỉ dừng lại ở việc triển khai tính năng, mà còn hiểu rõ tại sao engine lại hoạt động như vậy.


Trong suốt thời gian dài giảng dạy về Unity, Unrealphát triển game dựa trên C++, nhiều học viên đã đặt ra những câu hỏi như thế này.

“Tôi không hiểu tại sao engine lại hoạt động như thế này.”
“Tôi biết về Tick, nhưng không nắm bắt được cấu trúc tổng thể.”
“Tôi không thể hình dung được vòng đời (lifecycle) của Actor trong đầu.”
"Tôi có thể hiện thực hóa các chức năng đơn giản, nhưng rất khó để giải thích về cấu trúc."

Vì các engine thương mại đã được hoàn thiện sẵn, nên hầu như không có cơ hội để trực tiếp trải nghiệm cấu trúc bên trong của chúng.

Vì vậy, hầu hết việc học đều diễn ra như thế này:
→ Trạng thái biết chức năng nhưng không biết cấu trúc và nguyên lý hoạt động


Trong thời đại mà AI có thể tạo ra mã nguồn, khả năng đánh giá tại sao mã đó lại hoạt động như vậy càng trở nên quan trọng hơn bao giờ hết..

Bạn không nên chỉ là một nhà phát triển sử dụng AI, mà phải trở thành một nhà phát triển có khả năng vận dụng AI.

Nếu bạn muốn vượt xa việc chỉ sử dụng các engine thương mại thông thường để trở thành một nhà phát triển hiểu rõ cấu trúc engine và có khả năng đọc mã nguồn, thì khóa học này có thể là một điểm khởi đầu tốt.


Đó là lý do tại sao tôi tạo ra khóa học này

Nếu bạn thử tự mình triển khai engine đó,

  • Tại sao vòng lặp trò chơi (game loop) lại vận hành như thế

  • Các sự kiện như BeginPlay / Tick diễn ra như thế nào

  • Tại sao Actor / Level lại được tách riêng biệt

  • Xử lý va chạm được thực hiện theo phương thức nào

  • Cách công cụ (engine) và trò chơi được phân chia như thế nào

Tất cả những luồng này sẽ được kết nối và thấu hiểu một cách tự nhiên.

Khuyên dùng cho những đối tượng sau!

Đối tượng đề xuất của bài giảng

Mục tiêu khóa học

Đây không chỉ đơn thuần là bài giảng tạo ra kết quả đầu ra.

Đây là bài giảng giúp bạn xây dựng “góc nhìn về engine”.

Xây dựng tiêu chuẩn để hiểu cấu trúc của các engine thương mại
giúp bạn thấy được "tại sao nó lại được thiết kế như vậy" khi đọc code
và trang bị năng lực phát triển dựa trên thiết kế chứ không chỉ là triển khai đơn thuần.

Khóa học này tập trung vào việc trực tiếp triển khai và thấu hiểu cấu trúc cốt lõi của game engine
thay vì hoàn thiện một kiến trúc thực tế thân thiện với kiểm thử.
Do đó, một số thiết kế đã được đơn giản hóa một cách có chủ đích để giảm độ khó trong học tập và giúp tập trung vào các khái niệm cốt lõi.

Ngoài ra, trong quá trình mở rộng engine đã hoàn thiện từ bài giảng trước sang cấu trúc dựa trên Component, bạn sẽ được trải nghiệm quy trình phân tích trách nhiệm và sự phụ thuộc của mã nguồn hiện tại để cải thiện dần dần, thay vì cố gắng tạo ra một cấu trúc lý tưởng ngay từ đầu.

Thông qua đó, bạn sẽ hiểu được rằng Component không chỉ đơn thuần là các lớp để chia nhỏ tính năng, mà còn là công cụ thiết kế để tách biệt trách nhiệm của đối tượng và giảm thiểu sự phụ thuộc (coupling) của hệ thống.

Mục tiêu là so sánh sự khác biệt giữa cấu trúc Actor-Component hiện tại và cấu trúc ECS hoàn chỉnh, từ đó trang bị các tiêu chuẩn cần thiết khi học về hệ thống Component, Prefab, Scene Graph và Entity của các engine thương mại.

Khả năng thiết kế engine có được thông qua việc trực tiếp chế tạo

→ Không chỉ đơn thuần là hiện thực hóa các tính năng, chúng tôi mang đến trải nghiệm giúp bạn thấu hiểu về mặt cấu trúc.

Trực tiếp triển khai cấu trúc cốt lõi của engine,
hiểu rõ vòng lặp game (game loop)vòng đời (lifecycle),
từ đó trang bị khả năng thiết kế toàn bộ luồng xử lý.and acquire the ability to design the overall flow.

Thiết kế cấu trúc Actor/Level dựa trên hướng đối tượng,
đồng thời nắm vững cách cấu trúc thế giới trò chơi một cách hệ thống
và tạo ra một cấu trúc có khả năng mở rộng.

Bạn sẽ nắm vững khả năng thiết kế cơ bản để có thể triển khai logic trò chơi độc lập với tốc độ khung hình bằng cách hiểu về cập nhật dựa trên khung hình và xử lý thời gian (deltaTime).

Xử lý đầu vào, kiểm tra va chạm, kết xuất (rendering) bằng cách trực tiếp triển khai các luồng này,
bạn sẽ có thể hiểu một cách có hệ thống
về cách các hệ thống trò chơi được kết nối với nhau.

Thông qua việc trải nghiệm cấu trúc tách biệt giữa engine và logic trò chơi (dựa trên DLL), bạn sẽ tự nhiên nắm bắt được tư duy thiết kế dự án tương tự như các engine thương mại thực tế., you will naturally acquire project design sensibilities similar to those of actual commercial engines.

Vượt qua cấp độ "sử dụng" công cụ engine,
bạn sẽ phát triển thành một nhà phát triển có thể giải thích cấu trúc bên trong
và tự mình thiết kế được.

Khóa học này không đơn thuần là việc chỉ làm theo mã nguồn có sẵn.

Đây là quá trình giúp bạn hình thành góc nhìn thấu hiểu về engine,
và tiến xa hơn để trở thành một nhà phát triển có khả năng tự mình thiết kế.

Hãy tự mình tạo thử ngay bây giờ.

Lưu ý trước khi học

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

  • Hệ điều hành và phiên bản (OS): Khuyến nghị Windows 11 (có thể dùng Windows 10)

  • Công cụ sử dụng: Visual Studio 2022 Community (Môi trường phát triển Visual C++)

  • Cấu hình PC: Hiệu năng tương đương máy tính văn phòng có thể chạy được Visual Studio 2022

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

  • Tệp ZIP của công cụ game và dự án game theo từng giai đoạn

  • Ghi chú bài học theo từng bài giảng có thể kiểm tra ở phía dưới video

  • Dự án theo từng giai đoạn của quá trình mở rộng dựa trên Component

  • Tài liệu về khái niệm Actor-Component và Transform Scene Graph

  • Tài liệu bổ sung về hướng mở rộng Prefab, ActorID, DOD/ECS

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

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

  • Học viên đang học Unreal Engine nhưng cảm thấy bất an vì không hiểu cấu trúc bên trong.

  • Nhà phát triển cảm thấy bế tắc vì sử dụng công cụ game thương mại nhưng không thể giải thích được cấu trúc bên trong.

  • Nhà phát triển đã biết cú pháp C++ nhưng đang gặp bế tắc trong việc thiết kế framework

  • Người tìm việc đang lo sợ buổi phỏng vấn vì e rằng sẽ có câu hỏi về cấu trúc động cơ

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

  • Khóa học này dành cho những người đã hiểu về cú pháp cơ bản của C++.

  • Chỉ cần bạn đã từng sử dụng qua các khái niệm về class, con trỏ và tham chiếu ít nhất một lần là hoàn toàn có thể theo học khóa học này.

  • Sẽ rất hữu ích nếu bạn đã có kinh nghiệm tạo và chạy các dự án C++ đơn giản trong Visual Studio.

  • Chúng tôi giải thích từ những kiến thức cơ bản nhất để ngay cả những người lần đầu tiếp cận với cấu trúc công cụ trò chơi (game engine) cũng có thể theo học được.

Xin chào
Đây là ronniej

Xác minh sự nghiệp

152

Học viên

24

Đánh giá

1

Trả lời

5.0

Xếp hạng

1

Khóa học

Jang Se-yoon
@ronniej

Hiện là Nhà phát triển tự do / Giảng viên / Tác giả / Dịch giả
Cựu Unity Korea - Kỹ sư Quan hệ Nhà phát triển (Developer Relations Engineer)
https://ronniej.sfuhost.com/


“Nhà phát triển hiểu về cấu trúc chứ không chỉ là tính năng”

Có rất nhiều cách để tạo ra trò chơi bằng cách sử dụng Unity và Unreal.

Tuy nhiên, trong quá trình giảng dạy thực tế,
có một vấn đề mà nhiều học viên thường xuyên gặp phải.

“Có thể tạo ra các tính năng, nhưng tôi không biết tại sao nó lại hoạt động như vậy.”


Để giải quyết vấn đề này,
tôi đã xây dựng một phương pháp giảng dạy giúp trực tiếp thấu hiểu cấu trúc của engine,
thay vì chỉ đơn thuần là hiện thực hóa các tính năng.


Truyền tải những kinh nghiệm như thế này

  • Kinh nghiệm trực tiếp thiết kế và triển khai vòng lặp trò chơi (game loop) và vòng đời đối tượng (object lifecycle)

  • Hiểu cấu trúc cốt lõi của engine như RTTI, phân tách DLL, kết xuất (rendering), hệ thống va chạm, v.v.

  • Cách để hiểu bằng cách kết nối các nguyên lý hoạt động của các engine thương mại (Unity/Unreal)


Đây là khóa học dành cho những người như thế này

  • Những người có thể hiện thực hóa các tính năng nhưng đang gặp bế tắc vì không hiểu được cấu trúc.

  • Những người muốn hiểu sâu hơn về Unity/Unreal

  • Những người muốn chuyển từ "giai đoạn sử dụng" sang "giai đoạn thấu hiểu" công cụ.


Sách đã xuất bản và Hoạt động

📘 Tác giả cuốn 『Phát triển trò chơi RPG bằng Unity
📗 Dịch giả cuốn 『Phát triển trò chơi Unreal Engine 5 dựa trên dự án』 và nhiều tác phẩm khác

🎮 Tiến hành đào tạo doanh nghiệp và tổ chức bootcamp cho các công ty như NCSoft, Nexon, Neople, Golfzon, v.v.


 

👉 Bài giảng không tập trung vào “cách làm nhanh chóng” mà tập trung vào
“quá trình thấu hiểu tại sao nó lại hoạt động như vậy”.

Thêm

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

Tất cả

40 bài giảng ∙ (17giờ 11phú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ả

24 đánh giá

5.0

24 đánh giá

  • hidolee님의 프로필 이미지
    hidolee

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Tôi thực sự khuyên dùng khóa học này cho những ai muốn tự tay thiết kế và thấu hiểu cấu trúc nội bộ căn bản của một game engine, thay vì chỉ dừng lại ở việc sử dụng các tính năng có sẵn mà các engine thương mại cung cấp. Thông qua bài giảng này, tôi đã có được cái nhìn sâu sắc về nguyên lý hoạt động của các tính năng cốt lõi như vòng đời của Actor và quản lý Tick. Đặc biệt, phương pháp trực tiếp kiểm soát bộ nhớ bằng C++ để ngăn chặn rò rỉ tài nguyên, hay nguyên lý xử lý kế thừa đối tượng và downcasting an toàn bằng cách triển khai RTTI tùy chỉnh là những kinh nghiệm quý báu mà việc học hời hợt bên ngoài không bao giờ có được. Ngoài ra, quá trình tách biệt và liên kết engine bằng cách build dưới dạng DLL đã lấp đầy những kiến thức CS thực tiễn vốn khó có thể tiếp cận trong các tiết học chuyên ngành ở trường hay các bài hướng dẫn thông thường. Nếu bạn là một nhà phát triển muốn biết lý do thực sự đằng sau cách vận hành nội bộ của các engine như Unreal hay Unity, nhất định hãy thử nghe khóa học này.

    • futureverever1127님의 프로필 이미지
      futureverever1127

      Đánh giá 1

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      Thông qua khóa học ‘Xây dựng Framework Game Engine bằng C++’ của giảng viên RonnieJ, tôi đã có thể xây dựng một nền tảng cực kỳ vững chắc về phát triển game engine. Trong quá trình học lập trình, tôi đã tiếp cận với nhiều khái niệm liên quan đến game engine và Khoa học máy tính (CS), nhưng có những phần tôi vẫn cảm thấy khó khăn để giải thích chính xác hay hệ thống lại một cách bài bản. Qua khóa học này, tôi đã hiểu rõ những khái niệm vốn gây nhầm lẫn bấy lâu nay và có thể sắp xếp lại kiến thức đến mức tự mình giải thích được. Không chỉ dừng lại ở việc hiểu luồng hoạt động tổng thể và cấu trúc của engine, tôi còn được trực tiếp hiện thực hóa các khái niệm cốt lõi như: Game Loop, quản lý thế giới dựa trên Actor và Level, cấu trúc cập nhật khung hình cố định (fixed frame update), hệ thống xử lý đầu vào (input), render đệm đôi (double buffering), kiểm tra va chạm AABB... từ đó nắm vững nguyên lý hoạt động thực tế của chúng. Việc được trải nghiệm thiết kế cấu trúc Engine/Content thông qua phân tách DLL và hiện thực hóa hệ thống kiểu tùy chỉnh (RTTI) cũng giúp ích cho tôi rất nhiều. Sau khi hoàn thành khóa học này, tôi đang học Unreal Engine và đã có thể hiểu một cách tự nhiên các từ khóa DLL hay Cast xuất hiện trong Unreal Header. Thêm vào đó, giữa lúc thị trường tràn ngập các game đồ họa hào nhoáng, việc hiện thực hóa một trò chơi dựa trên Console giúp tôi tạo ra một sản phẩm độc đáo của riêng mình, khiến tôi rất hài lòng. Cấu trúc bài giảng cũng hỗ trợ rất nhiều cho việc học tập. Với tài liệu đi kèm mỗi bài học, nội dung tóm tắt dưới video và các điểm kiểm tra (check point) để bám sát, tôi có thể ôn tập hiệu quả mà không bỏ lỡ các khái niệm quan trọng. Tôi nghĩ đây không đơn thuần là một khóa học để làm ra một trò chơi, mà là một khóa học giúp thấu hiểu cấu trúc cốt lõi của game engine và nâng tầm tư duy của một nhà phát triển lên một bậc mới. Đối với những ai đang muốn bắt đầu phát triển game engine hoặc đang học lập trình, đây thực sự là một khóa học quý giá như "kỳ lân" vậy!!! Tôi cực kỳ đề xuất khóa học này cho những ai muốn hiểu sâu về game engine và những nhà phát triển muốn phát triển bản thân lên một tầm cao mới!!

      • hoo01님의 프로필 이미지
        hoo01

        Đánh giá 2

        Đánh giá trung bình 5.0

        5

        52% đã tham gia

        Trong quá trình sử dụng Unreal Engine, tôi luôn có những thắc mắc mơ hồ về việc các tính năng này hoạt động bên trong như thế nào và tại sao chúng lại được thiết kế với cấu trúc như vậy. Các bài giảng trên thị trường hầu hết chỉ tập trung vào cách sử dụng giao diện công cụ nên tôi vẫn luôn cảm thấy "khát" kiến thức, và lần này tôi thực sự đã gặp được một khóa học rất tốt. Điểm hài lòng nhất là tôi có thể tự tay hiện thực hóa các cơ chế nền tảng của engine. Không chỉ dừng lại ở việc tạo ra các tính năng, thông qua việc trực tiếp thiết kế vòng đời của Actor hay hệ thống Tick, tôi đã có cơ hội suy nghĩ sâu sắc về việc thế nào là một cấu trúc mã nguồn hướng đối tượng. Nhờ đó, những dòng code vốn dĩ lộn xộn vì trước đây chỉ mải mê vào việc thực thi thì nay tôi cảm thấy chúng đang dần trở nên trật tự hơn. Đặc biệt, phần quản lý bộ nhớ thông qua việc hiện thực hóa RTTI tùy chỉnh (Custom RTTI) đã để lại ấn tượng sâu sắc. Thay vì chỉ sử dụng các tính năng có sẵn của engine, việc học nguyên lý quản lý thông tin kiểu dữ liệu trong thời gian chạy (runtime) và ép kiểu an toàn đã giúp tôi tự tin hơn rất nhiều về C++ và cấu trúc bộ nhớ. Quá trình tách engine thành DLL để liên kết cũng rất mới mẻ; đây là những kiến thức thực tiễn khó tìm thấy trong các bài hướng dẫn thông thường, giúp ích rất nhiều cho việc học Khoa học máy tính (CS) của tôi. Sau khi hoàn thành khóa học, giờ đây mỗi tên lớp hay biến số trong Unreal Engine đối với tôi đã trở nên khác biệt hoàn toàn so với trước đây. Tôi thực sự muốn đề xuất khóa học này cho những ai muốn hiểu rõ cấu trúc khổng lồ của engine, hoặc những ai muốn phát triển thành một nhà phát triển có năng lực thực thụ. Xin chân thành cảm ơn giảng viên đã trở thành một người hướng dẫn tuyệt vời.

        • wodn6983님의 프로필 이미지
          wodn6983

          Đánh giá 1

          Đánh giá trung bình 5.0

          5

          100% đã tham gia

          Trước đây tôi từng mơ hồ về các kiến thức CS, nhưng giờ đây tôi đã nắm vững các khái niệm đến mức có thể diễn đạt lại một cách chính xác. Ngoài ra, thông qua việc trực tiếp thiết kế trò chơi Sokoban và game bắn súng, cũng như học về RTTI và các tính năng va chạm, tôi đã tự tin rằng mình có thể tự tay tạo ra một trò chơi! Tôi rất muốn giới thiệu khóa học này cho bạn bè xung quanh!

          • awer000님의 프로필 이미지
            awer000

            Đánh giá 1

            Đánh giá trung bình 5.0

            5

            100% đã tham gia

            Thực sự đã giúp ích cho tôi rất nhiều. Bắt đầu từ việc làm theo những đoạn mã nhỏ nhất, nhìn lại tôi đã thấy bản thân mình có thể tự tay tạo ra một trò chơi 2D hoàn chỉnh. Gần đây tôi cũng đang học Unreal, và bài giảng này đã hỗ trợ tôi cực kỳ nhiều. Từ những cái tên biến nhỏ nhặt cho đến tên các class đều có sự tương đồng nhất định với Unreal, nên nó cũng giúp tôi hiểu rõ hơn về cấu trúc của Unreal. Phần tôi thích nhất là RTTI, tôi đã cảm thấy rất thú vị khi tận mắt chứng kiến những thông tin runtime được thực thi bằng chính mã code mình viết và vận dụng hữu ích trong trò chơi. Tôi rất mong chờ bài giảng tiếp theo của giảng viên. Xin cảm ơ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!