[Hệ thống nhiệm vụ] để tạo và quản lý các nhiệm vụ mong muốn bằng cách tập hợp
[Lập trình mô-đun], xây dựng các đối tượng bằng cách phân tách và tập hợp các hàm
Dựa trên sự kiện [lập trình hướng sự kiện] không phụ thuộc vào chức năng cập nhật
Với lập trình mô-đun👨💻 Trình độ phát triển trò chơi được nâng cấp lên cấp độ tiếp theo!
Tôi muốn tạo một trò chơi đúng nghĩa Dành cho bạn! 🕹️
Xin chào mọi người. Tôi là Nhà phát triển G.
Hệ thống nhiệm vụ thiết yếu đến mức gần như không thể thiếu trong mọi trò chơi. Chính vì vậy, đây là một trong những tài sản bán chạy nhất trên Cửa hàng Tài sản của Unity và Chợ Unreal Engine.
Hệ thống nhiệm vụ cần phải có tính hệ thống và có thể áp dụng phổ biến cho nhiều loại trò chơi, điều này đòi hỏi phải phát triển theo mô-đun . Tuy nhiên, ngay cả trong các hướng dẫn trên YouTube có sẵn trực tuyến, việc phát triển theo mô-đun vẫn rất hiếm, và việc triển khai thường rất tùy tiện, sử dụng các câu lệnh if và switch .
Thành thật mà nói, bạn không thể làm được điều gì tốt đẹp theo cách đó.
Tại sao lập trình mô-đun lại quan trọng
✅ Các lớp học cá nhân trở nên nhẹ nhàng hơn. ✅ Giúp việc chỉnh sửa và gỡ lỗi dễ dàng hơn.
Nhờ đó, bạn có thể tăng năng suất phát triển của mình ! (Mở rộng, Khả năng tái sử dụng ▲)
Trong bài giảng này 📖
Nhiệm vụ Hệ thống
mô-đun Lập trình
Sự kiện thúc đẩy Lập trình
Tôi sẽ chỉ cho bạn cách phát triển một hệ thống nhiệm vụ có tính hệ thống và mục đích chung bằng cách sử dụng lập trình mô-đun để bạn có thể tạo ra 'thứ gì đó' tốt.
Tôi hy vọng rằng thông qua khóa học này, bạn sẽ tiến một bước từ một lập trình viên mới bắt đầu trở thành một lập trình viên có thể phát triển hệ thống có hệ thống của riêng mình.
Bạn có thể làm được điều này! ✨
Bước 1
Nhiệm vụ mô-đun với nhiều mục tiêu và phần thưởng khác nhau Hãy tạo một hệ thống nhiệm vụ để điều khiển các nhiệm vụ.
Bước 2
Chúng ta hãy áp dụng và mở rộng hệ thống chúng ta đã tạo thành một ví dụ .
Phần thưởng: Bao gồm phụ đề đầy đủ cho video! 📚
Các chức năng được triển khai trong bài giảng Để bạn có thể hiểu nó một cách dễ dàng và chính xác Mỗi video lớp học đều có phụ đề.
Bạn có thắc mắc gì không ? Hãy xem ngay bây giờ 💬
H. Tôi cần có bao nhiêu kiến thức về C#?
Bạn nên đã học cú pháp cơ bản của C# . Mặc dù chúng tôi sẽ đề cập đến tất cả cú pháp cơ bản của C#, bao gồm Linq, Sự kiện và Bộ sưu tập, nhưng chúng tôi sẽ không giải thích chi tiết từng cú pháp. Do đó, nếu bạn chưa quen với C# hoặc chỉ hiểu một phần, bạn có thể gặp khó khăn khi theo dõi.
Tuy nhiên, nếu bạn muốn phát triển một trò chơi, bạn chắc chắn cần phải biết ngữ pháp và vì trò chơi này không sử dụng ngữ pháp đặc biệt mà những trò chơi khác không sử dụng, ngay cả khi bạn có một phần kiến thức về C#, bạn vẫn có thể dễ dàng theo dõi nếu bạn tra cứu ngữ pháp riêng và nghiên cứu nó.
H. Tôi cần có bao nhiêu kiến thức về Unity?
Vì nội dung chính là phát triển hệ thống thông qua viết mã nên chỉ yêu cầu kiến thức cơ bản về Unity và kiến thức về ScriptableObject .
H. Nội dung bài học được trình bày ở mức độ nào?
Việc xây dựng một hệ thống nhiệm vụ phù hợp với mọi trò chơi hiện có đòi hỏi rất nhiều cân nhắc. Do hạn chế về thời gian và độ khó, chúng tôi sẽ chỉ triển khai các tính năng thiết yếu phổ biến của một hệ thống nhiệm vụ. Tuy nhiên, chúng tôi sẽ áp dụng và mở rộng hệ thống này sang một trò chơi mẫu, để học viên có thể học cách áp dụng hệ thống vào trò chơi của riêng mình và bổ sung, mở rộng các tính năng khi cần thiết.
H. Lợi ích của lập trình mô-đun là gì?
Thống kê cho thấy khả năng xảy ra lỗi tăng đáng kể khi một lớp vượt quá 300 dòng mã. Các chương trình trò chơi khá lớn, đòi hỏi phải chỉnh sửa và mở rộng thường xuyên, điều này chắc chắn dẫn đến mã phức tạp. Việc phân vùng mã không đúng cách có thể khiến các nhà phát triển bỏ dở quá trình phát triển trước khi hoàn thành, dẫn đến quá tải lỗi. Ngay cả sau khi quá trình phát triển hoàn tất, trò chơi thành phẩm vẫn sẽ đầy lỗi và chưa hoàn thiện.
Đó là lý do tại sao, nếu bạn muốn phát triển một trò chơi đúng nghĩa, bạn cần biết cách viết mã theo dạng mô-đun.
H. Đây có phải là khóa học mà sinh viên không chuyên ngành cũng có thể tham gia không?
Xây dựng một hệ thống nghe có vẻ khó khăn, nhưng quá trình tìm ra cách cấu trúc một hệ thống không hề khó; vấn đề nằm ở việc triển khai. Những người không phải lập trình viên chưa phát triển tư duy lập trình sẽ học cách thiết kế tính năng và viết mã một cách có hệ thống trong quá trình phát triển hệ thống cùng tôi, thay vì vội vàng triển khai tính năng và viết mã theo ý thích.
📢 Vui lòng kiểm tra trước khi tham gia lớp học!
Phiên bản Unity Engine được sử dụng trong khóa học này là 2021.2.0f1 . Vì khóa học này tập trung vào lập trình kịch bản nên không giới hạn ở bất kỳ phiên bản engine cụ thể nào. (Áp dụng cho Unity 6.)
Khuyến nghị cho những người này
Khóa học này dành cho ai?
[Lập trình viên tân binh] muốn nâng cao kỹ năng lập trình của mình lên một tầm cao mới
Những người muốn nghiên cứu [lập trình mô-đun] với cấu trúc có hệ thống, thay vì kiểu mã hóa đóng hộp dựa trên các câu lệnh if và switch.
Những người muốn phát triển một [hệ thống có hệ thống] có thể tái sử dụng nhưng không thể tìm ra nó
Bất cứ ai muốn tạo [Hệ thống nhiệm vụ] của riêng mình
Cảm ơn bạn đã tham gia lớp học!
Một trong những điều quan trọng nhất trong quá trình phát triển là biết chính xác những gì tôi cần tạo ra. Vì vậy, tôi luôn sắp xếp trong tài liệu những yếu tố nào cần được tạo trước khi phát triển và tôi nỗ lực sắp xếp các yếu tố bổ sung và những điều cần suy nghĩ trong quá trình phát triển.
Đây thực sự là một bài giảng hay. Tôi đã nghe quá nhiều bài giảng được theo dõi một cách lỏng lẻo trên YouTube và mặc dù đã vài năm kể từ khi tôi chạm vào Unity, tôi cảm thấy như các kỹ năng của mình đã bị trì trệ nếu tôi chỉ sử dụng Scriptable Object để lưu trữ dữ liệu. Tôi chỉ có thể sử dụng lớp tuần tự hóa? Tôi chưa từng sử dụng nó trước đây nhưng tôi rất ngạc nhiên rằng nó có thể được sử dụng để mô-đun hóa theo cách này.
Tôi sẽ nghe nhiều nhất có thể trong kỳ nghỉ lễ này để có thêm nhiều động lực hahaha.
Sẽ hữu ích hơn nếu bạn chụp ảnh bài giảng tiếp theo!! Cảm ơn
Cảm ơn bạn đã tham gia lớp học!
ScriptableObject là một tính năng tiện lợi có thể được sử dụng theo nhiều cách khác nhau ở nhiều nơi, chẳng hạn như hệ thống, công cụ và vùng chứa, nhưng đó là một trong những tính năng đáng tiếc là bạn không thể học cách sử dụng nó trong giai đoạn học tập. Giờ đây, với việc bổ sung hàm tuần tự hóa đa hình chưa hoàn thiện có tên SerializeReference, khả năng sử dụng của nó đã giảm đi phần nào, nhưng nó vẫn còn nhiều công dụng không thể thay thế, vì vậy tôi rất vui vì bạn đã học được điều gì đó mới về cách sử dụng ScriptableObject qua bài giảng này.
Chúng tôi sẽ trở lại với một bài giảng với nội dung tốt hơn sẽ khiến bạn hài lòng hơn. Cảm ơn bạn!
Lúc đầu, tôi nghĩ: “Việc thêm các tính năng bằng công tắc có thực sự là một vấn đề lớn không?” Nhưng khi tôi thấy nó được tạo thành mô-đun và mã ngắn gọn mà không có bất kỳ công tắc nào, đó rõ ràng là một bài giảng khiến tôi phải suy nghĩ: “Đó là một vấn đề.”
Tôi không chắc liệu mình có thể viết mã theo mô-đun mà không cần sử dụng switch như người hướng dẫn hay không, nhưng tôi sẽ thực hành như bạn nói. Cảm ơn bài giảng rất hay :D
Tôi nghĩ thật đáng để tạo ra một bài giảng để biết rằng suy nghĩ của bạn đã thay đổi rất nhiều.
Tôi đã không thể tạo các hàm theo cách mô-đun ngay từ đầu. Tôi đã dành nhiều ngày suy nghĩ về việc nên tách những gì và làm thế nào để ghép chúng lại với nhau, và thậm chí bây giờ, đôi khi tôi nghĩ về nó chỉ trong vài giờ hoặc lâu nhất là một hoặc hai ngày để tạo ra một cấu trúc mô-đun.
Nếu đây là lần đầu tiên bạn tạo ra một cấu trúc mô-đun có thể mất nhiều thời gian, nhưng đó là khoảng thời gian đáng để đầu tư, vì vậy đừng quá vội vàng và hãy dành thời gian cho việc thiết kế.
Điều bạn cần lưu ý là phương pháp thực hiện đánh mạnh là bán tương lai và mua hiện tại, vì vậy bạn không nên rơi vào cám dỗ “Nghĩ khó mà lãng phí thời gian thì nên làm”. Tôi chỉ cần đập nó và thực hiện nó?" Bởi vì 'chỉ lần này'
Khi nói đến trò chơi, việc cập nhật nội dung, bản vá cân bằng, v.v. được thực hiện và tôi nghĩ việc bảo trì đơn giản và ổn định là điều quan trọng. Tôi thích bài giảng vì nó giúp tôi tìm hiểu về cấu trúc và tôi cảm thấy như mình đã gặp được một giáo viên giỏi. bởi vì anh ấy trả lời các câu hỏi một cách nhanh chóng và cẩn thận.
Tôi hy vọng họ sẽ tạo ra nhiều loạt phim mô-đun hơn và tôi hy vọng họ tạo ra nhiều nội dung hay ngay cả khi nó không phải là mô-đun!