inflearn logo

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á

153 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

Tin tức

3 bài viết

  • ronniej님의 프로필 이미지

    Xin chào, tôi là Jang Se-yoon.
    Một phần mới đã được thêm vào bài giảng "Framework công cụ game tạo bằng C++".

    Trong bản cập nhật lần này, chúng ta sẽ mở rộng cấu trúc game engine tập trung vào Actor đã hoàn thành trong bài giảng trước sang cấu trúc dựa trên Component.

    Tách biệt trách nhiệm của Transform, SpriteRenderer, BoxCollision thành các Component, và hiện thực hóa Transform Scene Graph để thể hiện mối quan hệ cha con. Sau đó, cập nhật trò chơi Sokoban và bắn máy bay theo cấu trúc mới, cuối cùng sẽ cùng xem xét các hướng mở rộng tiếp theo như Prefab, ActorID và DOD/ECS.

    Nội dung bài giảng mở rộng lần này không tập trung vào việc tạo ra một game engine hoàn toàn mới, mà được thiết kế để bạn có thể trực tiếp tái cấu trúc (refactoring) engine và mã nguồn trò chơi đã viết trong các bài giảng trước, từ đó trải nghiệm lý do tại sao cấu trúc Component lại cần thiết.

    Cùng với video bài giảng mới, tôi cũng đã tải lên tất cả ghi chú bài học của từng bài và tệp ZIP dự án theo từng giai đoạn.

    Những bạn đã hoàn thành khóa học trước đó có thể tiếp tục học từ phần mới sau bài giảng cuối cùng cũ.

    Đối với những bạn đang ôn tập lại bài giảng, nội dung này cũng sẽ giúp ích trong việc hệ thống lại mối quan hệ giữa Actor, Component và Scene Graph.
    Hẹn gặp lại các bạn trong các bài giảng mới được mở rộng!

    Cảm ơn bạn!

    0
  • ronniej님의 프로필 이미지

    Tôi xin chia sẻ loạt bài viết tổng hợp về từng giai đoạn của quy trình render (rendering pipeline).

    Tôi đã cố gắng giải thích các thuật ngữ như Vertex Shader, Rasterizer, Pixel Shader không chỉ đơn thuần là mô tả chức năng, mà tập trung vào lý do tại sao GPU lại phát triển theo cấu trúc như vậy.

    Ngoài ra, tôi cũng đã tổng hợp các nội dung liên quan đến Draw Call, cấu trúc nghẽn cổ chai CPU/GPU và tối ưu hóa game engine.​

    Hy vọng tài liệu này sẽ giúp ích cho những ai đang nghiên cứu về cấu trúc rendering của DirectX, OpenGL, Vulkan, Unity và Unreal Engine.

    https://ronniej.sfuhost.com/rendering-pipeline-series-guide/

    0
  • ronniej님의 프로필 이미지

    Chào bạn, tôi là Jang Se-yoon!

    Dựa trên nội dung về RTTI (dựa trên TypeId) đã học trong bài giảng, mình viết bài này để chia sẻ với các bạn bài viết tổng hợp và mã ví dụ được mở rộng thêm một bước nữa.

    Trong khi bài giảng tập trung vào việc trực tiếp triển khai cấu trúc phân loại và ép kiểu (casting), thì trong bài viết này, tôi đã hệ thống lại luồng tư duy đó, bắt đầu từ dynamic_cast cho đến RTTI tùy chỉnh, các khái niệm hệ thống kiểu dữ liệu được sử dụng trong Unreal Engine, và cả cấu trúc tạo đối tượng bằng cách sử dụng thông tin kiểu dữ liệu như TSubclassOf.

    Đặc biệt, nội dung được cấu trúc để giúp bạn hiểu cách cấu trúc đã triển khai trong bài giảng có thể thực sự được mở rộng như thế nào, cũng như cách nó được ứng dụng bên trong engine.

    Bạn có thể xem các bài viết liên quan tại liên kết bên dưới.
    👉https://ronniej.sfuhost.com/cpp-rtti-guide/

    Ngoài ra, tôi đã sắp xếp tất cả mã nguồn bao gồm trong bài viết blog, từ phần triển khai RTTI tùy chỉnh, thành một dự án ví dụ để bạn có thể trực tiếp chạy thử.
    👉https://github.com/hamtol2/Cpp_RTTI/

    Hy vọng điều này sẽ giúp ích cho những ai muốn hệ thống lại nội dung bài giảng hoặc muốn tìm hiểu sâu hơn một chút 🙂

    0

2.896.322 ₫