[Unity 6] Refactor và mở rộng game Tower Defense - 4 loại tháp mới và tự động hóa việc tạo bản đồ

Đây là khóa học thực hành tập trung vào việc xây dựng một cấu trúc mã dễ dàng chỉnh sửa và mở rộng tính năng dựa trên một game tower defense 2D hoàn chỉnh. Các chức năng của tháp vốn tập trung trong một lớp sẽ được phân tách theo từng vai trò, đồng thời lần lượt áp dụng object pooling, UI dựa trên sự kiện và tách dữ liệu bằng ScriptableObject. Khóa học cũng xem xét những vấn đề có thể phát sinh khi nhiều hệ thống hoạt động cùng lúc, chẳng hạn như hiệu ứng buff và làm chậm bị cộng dồn, kẻ địch bị trả về trùng lặp hoặc wave bị bắt đầu nhiều lần. Dựa trên cấu trúc đã cải thiện, bạn sẽ bổ sung các loại tháp tấn công diện rộng, gây độc, tấn công liên kết và làm choáng, đồng thời xây dựng cả công cụ editor có khả năng tự động tạo dữ liệu đường đi trên bản đồ. Thông qua việc trực tiếp chỉnh sửa mã và kiểm tra kết quả, bạn có thể nắm được tiêu chí để gom nhóm các chức năng chung cũng như lý do cần phân chia vai trò.

6 học viên đang tham gia khóa học này

Độ khó Cơ bản

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

C#
C#
Unity
Unity
scriptable-object
scriptable-object
unity2d
unity2d
Unity6
Unity6
C#
C#
Unity
Unity
scriptable-object
scriptable-object
unity2d
unity2d
Unity6
Unity6

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

  • Có thể tách các chức năng chung của tháp và chức năng theo từng loại, đồng thời xây dựng một cấu trúc dễ dàng bổ sung tháp mới.

  • Có thể áp dụng Object Pooling và quản lý luồng khởi tạo, hoàn trả của kẻ địch, đạn và giao diện máu được tái sử dụng.

  • Có thể cập nhật UI khi thể lực, vàng, số lượng kẻ địch và wave thay đổi bằng cách sử dụng sự kiện.

  • Có thể quản lý các hiệu ứng buff và làm chậm theo từng nguồn để xử lý việc cộng dồn và giải trừ hiệu ứng.

  • Có thể tách dữ liệu tháp và wave bằng ScriptableObject, đồng thời triển khai chức năng kiểm tra lỗi cài đặt trong Inspector.

  • Có thể triển khai tấn công phạm vi, tấn công độc, tấn công liên kết và tháp làm choáng bằng cách tận dụng cấu trúc tấn công chung.

  • Bạn có thể tạo công cụ cho trình chỉnh sửa Unity để tạo dữ liệu về lộ trình di chuyển của bản đồ và áp dụng cho nhiều màn chơi.

Hãy tự mình hoàn thiện game thủ thành do bạn tạo ra, tinh chỉnh cấu trúc bằng cách tái cấu trúc và mở rộng thêm các tính năng mới!

Dễ dàng và thú vị, series Unity của tiến sĩ Go 🎲

Cung cấp toàn bộ tài nguyên và PDF được sử dụng trong phần thực hành.

Không chỉ cung cấp toàn bộ tài nguyên được sử dụng trong phần thực hành, chúng tôi còn cung cấp kèm PDF bài giảng dài 462 trang.

Hãy làm theo các ví dụ trong tài liệu PDF được biên soạn kỹ lưỡng mà không cần bất tiện lặp đi lặp lại việc phát/tạm dừng khi xem bài giảng

Nội dung học tập

Phần 05. Phân chia vai trò của các tháp và cải thiện cấu trúc quản lý

Hãy xem xét mã hiện có, nơi các chức năng của từng loại tháp được tập hợp, và phân biệt chức năng chung với chức năng riêng. Việc khởi tạo, nâng cấp và bán sẽ được quản lý trong lớp cơ sở, còn hoạt động của tháp pháo, tháp laser, tháp làm chậm và tháp tăng cường cũng như chức năng tìm kiếm mục tiêu tấn công sẽ được tách riêng.

Sau đó, cải thiện cấu trúc để trực tiếp quản lý danh sách các tower đã được đặt. Các hiệu ứng buff và làm chậm được lưu theo từng tower tạo ra hiệu ứng, nhờ đó bảo đảm các hiệu ứng còn lại được áp dụng chính xác ngay cả khi nhiều hiệu ứng chồng lên nhau hoặc tower bị bán. Đồng thời, sắp xếp lại cách truy cập dữ liệu và việc xuất log.


Phần 06. Ổn định hệ thống trò chơi bằng object pooling và sự kiện

Áp dụng object pooling cho đạn, kẻ địch và UI thanh máu vốn liên tục được tạo rồi xóa. Xem xét những điểm cần lưu ý trong quá trình tái sử dụng, chẳng hạn như vấn đề tiếp tục theo dõi kẻ địch đã được trả về pool, đồng thời quản lý trạng thái phù hợp với việc kích hoạt và vô hiệu hóa đối tượng.

Chuyển UI máu, vàng, số lượng kẻ địch và wave sang cập nhật bằng cách nhận sự kiện khi giá trị thay đổi. Học cách đăng ký và hủy đăng ký sự kiện, sự khác biệt giữa System.Action và UnityEvent, đồng thời ngăn việc trả lại kẻ địch trùng lặp và bắt đầu wave trùng lặp. Quy trình thiết lập cũng được cải thiện thông qua việc tách dữ liệu wave và xác thực dữ liệu trong Inspector.


Phần 07. Tách dữ liệu tháp và cấu trúc tấn công, đồng thời thêm tấn công phạm vi

Tách dữ liệu chung của tháp và dữ liệu theo từng loại như tấn công, làm chậm, buff... thành các ScriptableObject riêng biệt. Trong quá trình chuyển dữ liệu của các tháp hiện có sang cấu trúc mới, bạn sẽ học cách tổ chức rõ ràng những thông tin cần thiết cho các chức năng.

Sau khi hệ thống hóa các hành vi chung của tháp tấn công và đạn, chúng ta sẽ triển khai tháp tấn công diện rộng gây sát thương cho nhiều kẻ địch trong phạm vi vụ nổ. Đồng thời, chúng ta sẽ kết nối việc pooling hiệu ứng trúng đòn, bản xem trước vị trí đặt chung và giao diện thông tin tháp, qua đó kiểm chứng cách những cải tiến về cấu trúc được ứng dụng vào việc mở rộng tính năng thực tế.


Phần 08. Mở rộng tính năng chiến đấu với tháp độc, đòn tấn công liên kết và tháp làm choáng

Tận dụng cấu trúc tháp và đạn đã được tổng hợp ở phần trước để thêm các tháp có đặc tính tấn công khác nhau.

Tháp độc gây sát thương theo thời gian trong một khoảng nhất định, đồng thời quản lý nguồn gốc của hiệu ứng độc cũng như thời điểm cập nhật và kết thúc hiệu ứng. Tháp tấn công liên kết lần lượt tìm kiếm kẻ địch xung quanh để tiếp tục tấn công, còn tháp gây choáng sẽ dừng di chuyển của kẻ địch trong một khoảng thời gian nhất định rồi khôi phục trạng thái.

Luyện tập phân biệt những phần có thể tái sử dụng chung và những phần cần triển khai riêng, đồng thời kết nối dữ liệu riêng của từng tháp, đạn bắn, xử lý hiệu ứng và UI.


Phần 09. Tạo công cụ trình chỉnh sửa tự động tạo dữ liệu đường đi trên bản đồ

Thiết kế các màn chơi có nhiều điểm bắt đầu, điểm đích và các nhánh đường, đồng thời quản lý lộ trình di chuyển của kẻ địch dưới dạng dữ liệu riêng biệt.

Tự triển khai Path Baker được sử dụng trong Unity Editor để phân tích thông tin ô của bản đồ và tạo lộ trình di chuyển dưới dạng ScriptableObject Asset. Liên kết lộ trình đã tạo với dữ liệu wave trong stage và chỉnh sửa để kẻ địch sử dụng dữ liệu đó khi di chuyển.

Khi thay đổi bản đồ, bạn có thể tự động hóa bằng công cụ việc thiết lập đường đi vốn phải lặp lại, đồng thời trải nghiệm không chỉ các tính năng trong game mà còn cả cách cải thiện quy trình sản xuất.

Thông tin cần lưu ý trước khi tham gia khóa học

  • Khóa học này được xây dựng bằng phiên bản Unity 6000.4.10f1

    Hoạt động giống nhau trên mọi phiên bản Unity 6. (2026. 09. 26)

  • Khóa học này là khóa thực hành nâng cao dựa trên khóa học "[Unity 6] Học làm game tower defense bằng cách thực hành theo [Nhập môn]", trong đó cải thiện cấu trúc mã và mở rộng các tính năng.

  • Khuyến nghị tham gia khóa học sau khi đã hiểu luồng cơ bản của dự án hiện có, bao gồm bố trí và tấn công tháp, di chuyển của kẻ địch, máu, vàng, wave, nâng cấp và bán.

  • Tiến hành bằng cách xem xét các vấn đề trong mã hiện có, lần lượt chỉnh sửa những phần cần thiết, sau đó kiểm tra kết quả thực thi.

  • Cùng với việc chỉnh sửa mã, chúng ta cũng sẽ thay đổi các component của prefab, các tham chiếu trong Inspector và thiết lập Data Asset. Vui lòng thực hiện theo cả các bước thiết lập được hướng dẫn trong tài liệu.

  • Vì cấu trúc đã được cải thiện ở phần trước sẽ được sử dụng trong phần tiếp theo, bạn nên thực hành theo đúng thứ tự. Trong giai đoạn trung gian khi di chuyển dữ liệu và các tham chiếu, một số chức năng có thể tạm thời không hoạt động.

  • Thông qua việc tái cấu trúc, bạn sẽ học trong dự án thực tế lý do cần nhóm các chức năng chung, tiêu chí phân chia vai trò của các lớp và những điều cần kiểm tra khi mở rộng chức năng.

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

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

  • Công cụ sử dụng: Unity6, Visual Studio 2022

  • Dự án thực hành: "[Unity6] Học làm game thủ thành qua thực hành [Nhập môn]" dự án

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

  • Hãy tải xuống "PDF giáo trình, video trong giáo trình và tài nguyên" để tiếp tục học.

  • Giáo trình PDF: Bạn có thể kiểm tra từng bước thứ tự chỉnh sửa mã, các khái niệm chính, prefab và cài đặt Inspector.

  • Video và tài nguyên thực hành trong tài liệu: Bạn có thể kiểm tra kết quả thực thi của từng chức năng và sử dụng chúng trong phần thực hành.

  • Tệp mã C#: Bạn có thể đối chiếu với mã đã viết để kiểm tra các lỗi đánh máy hoặc phần bị thiếu.

  • Tệp dự án theo từng phần: Bạn có thể kiểm tra và chạy thử mã, cấu hình đối tượng và thiết lập dữ liệu của bước tương ứng.


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

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

  • "[Unity6] Dành cho những ai đã hoàn thành khóa học Phát triển game Tower Defense bằng cách thực hành theo [Nhập môn] và muốn nâng cấp cấu trúc mã lên một tầm cao mới"

  • Những người đã thử làm game bằng Unity nhưng càng thêm nhiều tính năng thì càng khó sửa đổi mã nguồn

  • Dành cho những ai muốn áp dụng tính kế thừa, sự kiện, object pooling và ScriptableObject vào game thực tế.

  • Dành cho những ai muốn tận dụng cấu trúc hiện có để triển khai nhiều phương thức tấn công và hiệu ứng trạng thái khác nhau.

  • Dành cho những ai muốn giảm bớt các công việc lặp đi lặp lại bằng cách quản lý dữ liệu và xây dựng công cụ chỉnh sửa.

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

  • Khuyến nghị dành cho những người đã biết các thao tác cơ bản trong trình chỉnh sửa Unity và cú pháp C# cơ bản, đồng thời có kinh nghiệm làm game đơn giản.

  • Sẽ tốt hơn nếu bạn hiểu các cú pháp cơ bản của C# như biến, câu lệnh điều kiện, vòng lặp, phương thức, lớp, mảng và List.

  • Nếu bạn nắm được quy trình tạo và di chuyển kẻ địch, tấn công của tháp và tiến trình wave trong dự án tower defense hiện có thì sẽ hữu ích cho việc học.

  • Trong phần thực hành, bạn sẽ sử dụng tính kế thừa, lớp trừu tượng, ghi đè phương thức, sự kiện và ScriptableObject. Làm quen trước với các khái niệm liên quan sẽ giúp bạn dễ dàng hiểu cấu trúc và luồng của mã hơn.

Xin chào
Đây là unitynote

Xác minh sự nghiệp

14,710

Học viên

281

Đánh giá

143

Trả lời

4.9

Xếp hạng

11

Các khóa học

Kinh nghiệm chính

Hiện tại 2022 ~ Giáo sư Khoa Phần mềm Game, Đại học Hoseo

Hiện tại 2016 ~ Giáo sư thỉnh giảng chuyên trách, Khoa Thiết kế Game, Đại học Quốc gia Kongju

Cựu 2022 ~ 2024 Giảng viên được Unity chứng nhận chính thức (Unity Certified Instructor)

Cựu 2023 Giáo sư thỉnh giảng Khoa Kỹ thuật Điện và Điện tử, Đại học Khoa học và Công nghệ Pohang (POSTECH)

Nguyên Giảng viên thỉnh giảng Khoa Hội tụ Truyền thông Công nghệ (Chuyên ngành Game Multimedia), Đại học Woosong năm 2022

Cựu Giáo sư thỉnh giảng Khoa Kỹ thuật Máy tính, Đại học Quốc gia Kongju năm 2019

Cựu giảng viên thỉnh giảng năm 2018 Khoa Nội dung Hình ảnh và Nhiếp ảnh, Đại học Sangmyung

Cựu 2017 Giảng viên thỉnh giảng khoa Truyền thông Game tại Đại học Nghệ thuật Kaywon

Cựu Giảng viên thỉnh giảng 2016, 2020~2021 Khoa Game Đại học Pai Chai

Cựu Giảng viên thỉnh giảng khoa VRAR Đại học Namseoul năm 2016

Cựu giảng viên thỉnh giảng năm 2016 Khoa Hoạt hình Game, Đại học Hình ảnh Hàn Quốc (KUMA)

Cựu giảng viên thỉnh giảng 2015 ~ 2018 Khoa Công nghệ Thông tin và Truyền thông, Đại học Baekseok

Vận hành kênh YouTube "Unity Note của Tiến sĩ Ko" YouTube channel

https://www.youtube.com/@unitynote

 

Giới thiệu

Tôi đang giảng dạy về phát triển trò chơi và Unity Engine với chuyên ngành lập trình trò chơi.

Lĩnh vực giảng dạy: Unity Engine (Cơ bản, Phát triển game 2D/3D, VR/AR), Server, Trí tuệ nhân tạo (AI), Shader, Nhập môn Game học, v.v.

Thêm

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

Tất cả

58 bài giảng ∙ (4giờ 44phú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á

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

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

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!

Ưu đãi có thời hạn

588.582 ₫

28%

824.015 ₫