inflearn logo

[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ò.

21 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 cấu trúc của trò chơi tower defense do bạn tạo ra 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ị với 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.

Cung cấp tất cả tài nguyên được sử dụng trong phần thực hành, cùng với tài liệu PDF bài giảng dài 462 trang.

Hãy vừa xem PDF được biên soạn kỹ lưỡng vừa làm theo các ví dụ mà không cần phải bất tiện lặp đi lặp lại việc phát/tạm dừng khi học 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ý

Xem xét mã hiện có, nơi tập hợp các chức năng theo từng loại thá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 đượ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 buff cũng như chức năng tìm kiếm mục tiêu tấn công được tách riêng.

Tiếp theo, cải thiện cấu trúc để trực tiếp quản lý danh sách các tháp đã được bố trí. Các hiệu ứng buff và làm chậm được lưu theo từng tháp tạo ra hiệu ứng, nhờ đó bảo đảm các hiệu ứng được áp dụng chính xác ngay cả khi nhiều hiệu ứng chồng lên nhau hoặc tháp 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 nhật ký.


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 các đạn, kẻ địch và UI máu vốn được tạo rồi xóa lặp đi lặp lại. 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 theo việc kích hoạt và vô hiệu hóa các đố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 hoàn trả kẻ địch trùng lặp và bắt đầu wave trùng lặp. Cải thiện quy trình thiết lập thông qua việc tách dữ liệu wave và kiểm tra dữ liệu trong Inspector.


Phần 07. Tách dữ liệu tháp và cấu trúc tấn công, thêm tấn công diện rộng

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 tháp hiện tại sang cấu trúc mới, bạn sẽ học cách tổ chức rõ ràng các thông tin cần thiết cho từng tính năng.

Sau khi tổng hợp 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 bố trí dùng chung và UI thông tin tháp để kiểm tra 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, tấn công liên kết và tháp gây choáng

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

Tháp đầu độc gây sát thương theo thời gian trong một khoảng thời gian nhất định, đồng thời quản lý nguồn gốc của hiệu ứng đầu độ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ẽ khiến kẻ địch dừng di chuyển 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ụ biên tập để tự động tạo dữ liệu đường đi trên bản đồ

Tạo các màn chơi có nhiều điểm bắt đầu, điểm đích và các ngã rẽ, đồ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ự mình triển khai Path Baker sử dụng trong Unity Editor để phân tích thông tin tile của bản đồ và tạo đường đi dưới dạng ScriptableObject Asset. Liên kết đường đi đã tạo với dữ liệu wave trong stage, đồng thời chỉnh sửa để kẻ địch di chuyển bằng dữ liệu đó.

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 mỗi khi thay đổi bản đồ, qua đó trải nghiệm không chỉ cách xây dựng các chức năng trò chơi mà còn cả cách cải thiện quy trình phát triể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. (26. 09. 2026)

  • Khóa học này là chương trình thực hành tiếp nối, dựa trên khóa học "[Unity 6] Làm game thủ thành bằng cách vừa làm vừa học [Nhập môn]", nhằm cải thiện cấu trúc mã và mở rộng các tính năng.

  • Khuyến nghị 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, đợt quái, nâng cấp và bán.

  • Chúng ta sẽ 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ã, hãy thay đổi cả các component của Prefab, các tham chiếu trong Inspector và cài đặt Data Asset. Vui lòng thực hiện theo cả quy trình 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.

  • 프로젝트 리팩토링을 통해 공통 기능을 묶는 이유, 클래스의 역할을 나누는 기준, 기능 확장 시 확인해야 할 사항을 실제 프로젝트에서 배웁니다.

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: "[Unity 6] Học bằng cách làm theo: tạo game tower defense [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ến hành học tập.

  • Giáo trình PDF: Bạn có thể kiểm tra từng bước 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 bên trong giáo trình: Bạn có thể kiểm tra kết quả thực thi của từng tính năng và sử dụng chúng cho bài thực hành.

  • Tệp script C#: Bạn có thể đối chiếu với mã đã viết để kiểm tra các lỗi chính tả 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 giai đoạn 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,785

Học viên

283

Đá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 ∙ (5giờ 35phú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!

Giảm 25% cho thành viên mới

614.867 ₫

25%

819.827 ₫