Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
BEST
Game Dev

/

Game Programming

Bắt đầu phát triển trò chơi bằng Unity: Phần 3. Phát triển trò chơi bắn súng

Bạn có thể hiểu được các chức năng cơ bản và hoạt động bộ nhớ của Unity, đồng thời học cách tạo ra trò chơi thực sự chạy một vòng thay vì chỉ là bản mẫu.

(5.0) 21 đánh giá

560 học viên

  • udev
C#
Unity

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

Dịch cái này sang tiếng Việt

  • Cấu trúc bộ nhớ của hành vi Unity

  • Unity tạo game bắn súng như thế nào

  • Làm thế nào để tạo ra một trò chơi thực sự, không phải là một nguyên mẫu

Phát triển trò chơi dành cho người mới bắt đầu và người không chuyên!
Chúng ta hãy cùng nhau tìm hiểu cấu trúc và nguyên tắc của Unity + C#.

UdevApp / UdevApp / udevapp

Giới thiệu bài giảng 📝

Sau khi học C# trong Unity, tôi đã nghĩ về khóa học cần thiết nhất cho những người mới bắt đầu muốn tạo trò chơi. Vấn đề là phải biết mối quan hệ giữa các chức năng bên trong của Unity với mã và bộ nhớ thực tế. Ngay cả khi bạn tạo ra một khối lập phương hoặc một nhân vật, bạn không thể tạo ra một trò chơi mà không biết các hoạt động thực tế của bộ nhớ trong. Tất cả những gì bạn có thể làm là tạo một dự án trong đó quả bóng chỉ nảy xung quanh. Tôi tạo ra khóa học này để giải quyết những vấn đề đó.

Vì vậy, không giống như các khóa học về trò chơi khác, bạn sẽ được học các tính năng của Unity và cú pháp C# trong khi tạo trò chơi bằng Unity. Nó không chỉ tập trung vào việc sử dụng các tính năng. Nó giải thích cách một tính năng liên quan nội bộ đến mã tôi viết, cách các lớp, phiên bản và bộ nhớ thực tế hoạt động giữa các tính năng Unity và mã của tôi. Có thể tạo ra trò chơi mà không cần phải sử dụng ngữ pháp khó. Việc tạo một lớp nhân vật hỗ trợ đa kế thừa từ các đại biểu hoặc giao diện là điều bạn nên làm sau khi đã tạo và phát hành một số trò chơi.

• Bộ nhớ của đối tượng trò chơi trong chế độ xem phân cấp tồn tại như thế nào
• Tại sao phải kết nối các đối tượng bằng cách kéo?
• Tại sao phải nhân một vectơ với Time.deltaTime?
• Tại sao lại có vector3 trong lập trình trò chơi?
• Giải thích các nguyên lý và lý do tại sao vật rắn và máy va chạm được tách biệt.

Trong các bài giảng khác, nội dung này được giải thích trong khoảng một phút và sau đó bài giảng kết thúc. Bởi vì khóa học này dành cho các nhà phát triển thực thụ. Tuy nhiên, những người không chuyên và không phải chuyên gia mới bắt đầu phát triển trò chơi sẽ cần những khóa học khác. Điều quan trọng là phải hiểu tại sao Unity lại có những tính năng này.

Vì vậy, trong bài giảng này, hơn một nửa thời lượng bài giảng sẽ nói về việc hiểu và thực hành các chức năng của Unity như C# bên cạnh việc sản xuất trò chơi. Trò chơi diễn ra sau phần giữa. Bởi vì bạn không thể viết chương trình cho đến khi bạn biết các nguyên tắc. Những người duy nhất có thể học được từ một khóa học chỉ bao gồm phát triển trò chơi là những nhà phát triển thực thụ.

Tôi tạo ra khóa học này để hướng dẫn những người không chuyên và người mới bắt đầu cách tạo trò chơi.

Tại sao bạn nên học ✒️

Bài giảng này được thiết kế để hướng dẫn những người không chuyên và người mới bắt đầu cách tiếp cận phát triển trò chơi . Điều đó không có nghĩa là nó dễ dàng. Ví dụ, để giải thích cách các biến GameObject trong Monobehavior hoạt động, tôi sẽ giải thích các ví dụ về tham chiếu sở hữu, tham chiếu hủy và tham chiếu lẫn nhau, sau đó giải thích cách các biến GameObject hoạt động. Sau đây là một ví dụ nhỏ về cấu trúc tương tự có thể khiến bạn tự hỏi tại sao nên làm như vậy. Nhưng lập trình là về việc hiểu cách thức hoạt động bên trong máy tính và giao tiếp với nó. Để máy tính có thể hoạt động như tôi nói, chúng ta cần bước ra khỏi lớp học và hiểu cách các biến và hàm chúng ta có thể sử dụng hoạt động. Điều này cũng giống như việc bạn phải đặt mình vào vị trí của người khác để có thể nói chuyện với họ.

Và điều đó phải khả thi thì việc gỡ lỗi mới có thể thực hiện được. Lập trình về bản chất là cuộc đấu tranh chống lại nghịch cảnh. Có thể xảy ra một số lỗi vô lý và lố bịch. Để giải quyết những vấn đề này, điều cơ bản là rất cần thiết.

Đối với người mới bắt đầu hoặc người chưa biết gì, sẽ không thể hiểu được bài giảng này nếu không biết C# cơ bản (Phần 2) . Nhưng sau khi học khóa học này và có thể tạo ra những ví dụ tương tự, nỗi sợ tạo ra trò chơi thực sự sẽ biến mất.

  • Trước khi tạo trò chơi, hãy tìm hiểu các nguyên tắc trước. Nếu bạn biết nguyên tắc, bạn có thể áp dụng nó. Bạn không thể tạo ra trò chơi nếu bạn chỉ làm theo mà không hiểu gì.
  • Thời gian học mỗi bài giảng không quá 10 phút. (Có một số bài giảng vượt ra ngoài phạm vi này, nhưng tôi làm như vậy vì tôi nghĩ rằng có thể bỏ qua. Nếu bạn nghĩ bài giảng quá dài và gây trở ngại cho việc học, tôi sẽ chia nhỏ hoặc ghi âm lại. )

Những gì bạn sẽ học được trong khóa học này ✏️

  • Bạn sẽ học cách sử dụng các tính năng của Unity để thêm chức năng bạn cần.
  • Bạn có thể tìm hiểu cách xem tài liệu API.
  • Giải thích cách các tính năng của Unity hoạt động bên trong.
  • Giải thích bộ nhớ và các nguyên tắc của mã bạn viết.
  • Tôi sẽ giải thích về bộ nhớ cho đoạn mã tôi đã viết và các tính năng của Unity.

Tính năng của khóa học 💡

Mục tiêu là học ngữ pháp trong khi xem cấu trúc bộ nhớ của Unity và phát triển một trò chơi thực tế. Đây là một trò chơi bắn súng đơn giản, nhưng chúng tôi đang nỗ lực đưa nó vào cửa hàng thực tế.

Sau khi học khóa học này, bạn sẽ có thể phát triển các trò chơi đơn giản. Tuy nhiên, người mới bắt đầu cần phải kiên trì trong thời gian dài và luyện tập ít nhất 30 phút mỗi ngày. Tôi nghĩ nó sẽ giúp ích rất nhiều cho người mới bắt đầu và những người không chuyên đang tìm hiểu về Unity.

Các bài giảng hiện tại khá ngắn, chỉ dài khoảng 8 tiếng, nhưng có gần 100 bài giảng. (Sẽ có thêm)
Với các bài giảng ngắn, thời gian học và thực hành ngắn, bạn có thể học những kiến ​​thức cơ bản về lập trình Unity C# trong thời gian nhanh nhất là 30 ngày và dài nhất là 3 tháng, với 30 phút mỗi ngày. Tuy nhiên, những người không chuyên ngành được khuyến khích nên học chậm lại. Vì lập trình là một ngôn ngữ nên bạn cần lưu trữ nó trong bộ nhớ dài hạn để có thể tự lập trình cho mình.

Giới thiệu ngắn gọn về từng phần 📖

Phần 0. Ôn tập C#

  • Đây là giai đoạn sinh viên học Unity và ôn tập C# để tiếp cận Unity.
  • Người học hiện tại có thể bỏ qua phần này, nhưng chúng tôi khuyên bạn nên xem lại.
  • Đặc biệt, hãy đảm bảo tham gia các bài giảng Hướng đối tượng 1 và Hướng đối tượng 2.

Mục 1. Phát triển trò chơi và Unity

  • Hãy cùng xem các tính năng thực tế của Unity hoạt động như thế nào với bộ nhớ.
  • Tìm hiểu về mối quan hệ giữa các đối tượng và thành phần trò chơi và kiểm tra cách thức hoạt động thực tế bên trong của chúng.
  • Biết được cách bộ nhớ hoạt động bên trong sẽ giúp bạn không còn sợ lập trình nữa.

Mục 2. Mối quan hệ bao gồm lớp học (Được thêm vào như một bài giảng chưa được lên lịch trước đó)

  • Các lớp có mối quan hệ bao hàm ngay cả khi chúng thuộc cùng một lớp.
  • Biết ai là học sinh chính, ai là học sinh phụ trong lớp sẽ giúp bạn quản lý cả hai học sinh một cách hợp lý.
  • Tìm hiểu về tham chiếu sở hữu, tham chiếu ngược và tham chiếu chéo và cách chúng hoạt động trong Unity.
  • Tìm hiểu cách xem API của Unity. Khi bạn đã quen với nó, bạn có thể phát triển chỉ bằng cách nhìn vào API.

Mục 3. Ngữ pháp cơ bản và Unity

  • Bạn cần biết cú pháp C# được sử dụng và trình bày như thế nào trong Unity.
  • Tìm hiểu lập trình tĩnh và lập trình chung theo góc nhìn Unity.
  • Tìm hiểu về nhập liệu bằng bàn phím và nhập liệu bằng chuột.
  • Hiểu được cách sử dụng ngữ pháp trong Unity sẽ thay đổi cách bạn nhìn nhận các lớp Unity.

Mục 4. Chuyển động của các đối tượng

  • Vector3 không chỉ là vector3. Tùy thuộc vào nơi sử dụng, nó có ý nghĩa khác nhau như vị trí, hướng, tốc độ, kích thước, góc, v.v. Bạn không nên nghĩ vector3 chỉ là một vector.
  • Nó dạy bạn cách chuyển động và tốc độ của các vật thể rất dễ dàng. (Tôi tự hỏi tại sao lại có thứ gọi là tốc độ.)
  • Để tôi giải thích rõ hơn tại sao chúng ta phải thực hiện quá trình nhân vectơ, nhân nhiều lần và cộng khi di chuyển.

Mục 5. Quản lý đối tượng và xung đột

  • Giải thích tại sao việc áp dụng máy va chạm và vật thể rắn lại khó khăn.
  • Giải thích cách quản lý các đối tượng bạn sở hữu.
  • Hãy cùng tìm hiểu về cấu trúc bên trong của Unity bằng cách so sánh những gì được áp dụng trong Unity với cách nó hoạt động trong mã thực tế.

Mục 6. Tạo nguyên mẫu trò chơi bắn súng (Phần này ban đầu không được lên lịch nhưng đã được thêm vào để điều chỉnh mức độ khó)

  • Tạo nguyên mẫu và chuẩn bị tạo trò chơi thực tế.
  • Tìm hiểu cách sửa độ phân giải và xác định đơn vị pixel cũng như kích thước camera.
  • Phát triển một nguyên mẫu trò chơi đơn giản với các nhân vật, kẻ thù và bối cảnh chuyển động.

Mục 7. Tạo trò chơi bắn súng

  • Chúng tôi tạo ra các trò chơi có "một chu kỳ" trong đó bạn chiến đấu, thu thập và nâng cấp để thực hiện quá trình phát triển đơn giản và xuất hiện kẻ thù.
  • Áp dụng nâng cấp nhân vật.
  • Thêm nội dung cho phép nhân vật kẻ thù trở nên mạnh hơn tùy theo giai đoạn.
  • Áp dụng nhân vật trùm.

Mục 8. Giao diện người dùng của trò chơi

  • Chơi game không phải là yếu tố duy nhất tạo nên một trò chơi. UI là trục thứ hai của lập trình.
  • Biết hệ thống tọa độ của canvas và thêm từng UI.
  • Cấu hình màn hình trò chơi.

Mục 9. Tải lên cửa hàng

  • Tìm hiểu những tính năng cần thiết bên ngoài trò chơi và triển khai chúng.
  • Tích hợp tính năng quảng cáo vào trò chơi của bạn.
  • Tìm hiểu về các bước chuẩn bị và phòng ngừa trước khi tải lên cửa hàng.

Các công cụ được đề cập ở đây 🧰

Trong bài giảng này, chúng tôi đặc biệt khuyến khích bạn học và thực hành. Đặc biệt đối với những người không chuyên ngành, vì họ không thường xuyên làm việc với lập trình nên họ không bao giờ có thể học lập trình chỉ bằng cách quan sát.
Sau khi hiểu rồi, bạn phải thực hành.

Câu hỏi dự kiến ​​Q&A 🙋🏻‍♂️

H. Những người không chuyên ngành cũng có thể tham gia khóa học này không?
A. Có, đây là khóa học dành cho cả sinh viên chuyên ngành và không chuyên ngành. Tuy nhiên, những người không chuyên ngành hoặc người mới bắt đầu phải học khóa học tiên quyết Phần 2 của Khóa học lập trình C# trên Inflearn để học khóa học này. Bài đánh giá C# trong Chương 0 của bài giảng này dành cho những người chuyên ngành.

H. Lợi ích của việc học “Khóa học phát triển trò chơi bắn súng” là gì?
A. Bạn cần biết nguyên lý để có thể áp dụng nó. Bạn cần biết các nguyên tắc để có thể áp dụng chúng, không chỉ khi lập trình mà còn khi phát hiện lỗi. Khi bạn mắc lỗi trong khi lập trình, sẽ không có ai đến sửa lỗi cho bạn. Sau khi bạn đã tạo ra một trò chơi thực sự và chạy nó qua nhiều chu kỳ, bạn có thể làm được nhiều hơn thế nữa.

H. Tôi có thể làm gì sau khi tham gia “Khóa học phát triển trò chơi bắn súng”?
A. Bạn có thể bắt đầu tạo trò chơi bằng Unity. Đây cũng là một trợ giúp tuyệt vời khi tạo các chương trình khác bằng Unity. Vì bạn biết nguyên tắc nên bạn có thể áp dụng nó. Nói cách khác, đây là một trò chơi đơn giản nhưng có thể cung cấp cho bạn kỹ năng để tạo ra trò chơi. Ngoài ra, nó còn bao gồm nội dung thực tế về cách tạo và tải trò chơi thực sự có thể tải lên, để bạn có thể nhận được những mẹo thực tế về phát triển trò chơi trên điện thoại thông minh.

H. Khóa học này có ưu điểm gì đặc biệt không?
A. Thoạt nhìn có vẻ khó. Nhưng một khi bạn vượt qua giai đoạn đó và đạt đến trình độ trung bình hoặc cao hơn, bạn sẽ bắt đầu hiểu được các nguyên tắc. Biết được cấu trúc bên trong có thể giúp bạn dự đoán cách thức hoạt động của máy tính. Điều này sẽ cải thiện không chỉ kỹ năng lập trình mà còn cả kỹ năng gỡ lỗi của bạn. Tại sao một người có kinh nghiệm lại là một người có kinh nghiệm? Tôi là người có kinh nghiệm và giỏi gỡ lỗi. Hãy để tôi chia sẻ cho bạn góc nhìn của một người gỡ lỗi giàu kinh nghiệm. Ngay cả khi bạn hoàn thành 99% trò chơi, nếu có lỗi, trò chơi đó cũng khó có thể thành công. Và không có gì đáng thất vọng hơn là không thể sửa được lỗi. Để ngăn ngừa tình trạng này, chúng ta cần phải nghiên cứu các nguyên tắc và trí nhớ.

Xem các bài giảng trước 📼

Phát triển trò chơi bắt đầu với Unity:
Phần 1. Giới thiệu về Kiến trúc máy tính

Ngay cả những người không chuyên ngành cũng có thể dễ dàng hiểu được những nguyên tắc cơ bản về cách thức hoạt động của máy tính.
Phát triển trò chơi bắt đầu với Unity:
Phần 2. Giới thiệu về lập trình C#

Lập trình C# đầu tiên xây dựng nền tảng cho phát triển trò chơi Unity!

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

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

  • Mới bắt đầu học C# cơ bản

  • Unity Object hoạt động như thế nào về mặt bộ nhớ?

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

  • C# là ngôn ngữ lập trình liên quan đến hướng cấu trúc

  • Lập trình C# Phần 1

Xin chào
Đây là

5,376

Học viên

181

Đánh giá

151

Trả lời

4.9

Xếp hạng

4

Các khóa học

안녕하세요. UDevApp 의 최형선이라고 합니다. 

무엇인가를 만들어낸다는 것은 정말로 행복한 일입니다. 

세상에 나의 제품이 나올 때의 느낌은 스티브잡스가 느낀 그것이나 

여러분들이나 저와 다르지 않다고 생각합니다. 

여러분들에게 그러한 감정을 드리는 사람이 되고 싶습니다. 

네이버카페와 블로그와 유튜브에도 많이 찾아와 주시길 바랍니다.

.

https://cafe.naver.com/ultimategunz(카페바로가기)

http://blog.naver.com/siwoo2406(블로그 바로가기)

https://www.youtube.com/user/ChoiHyungSun/(유튜브 바로가기)

감사합니다. 

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

Tất cả

230 bài giảng ∙ (30giờ 21phú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ả

21 đánh giá

5.0

21 đánh giá

  • ehdrjs06018579님의 프로필 이미지
    ehdrjs06018579

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    77% đã tham gia

    Tôi đã nghe nó sau khi được một học sinh cuối cấp ở trường giới thiệu cho tôi. Nhìn vào chương trình giảng dạy, tôi thực sự thích vì các phần được sắp xếp rất hợp lý đến mức tôi có thể nghe chính xác những gì mình đang tìm kiếm. Mình hơi nhạy cảm với âm thanh nên chú ý nhiều đến giọng nói nhưng mình không nghĩ có điều gì khiến mình khó chịu khi nghe. Nó tốt hơn nhiều so với việc học từ sách giáo khoa vì nó dễ hiểu nhờ có các ví dụ hay. Tôi nghĩ sẽ rất đáng giá nếu bạn đã học được một ít C# và đáng để đầu tư vào những ai tự học.

    • udev
      Giảng viên

      Cảm ơn bạn rất nhiều vì đánh giá tuyệt vời. Khóa học này được thiết kế để những người không chuyên ngành có thể dễ dàng tiếp cận. Tôi hy vọng bạn làm việc chăm chỉ và đạt được kết quả tốt. ^^

  • dsic777님의 프로필 이미지
    dsic777

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    94% đã tham gia

    Đây là một bài giảng chi tiết, kỹ lưỡng và kỹ lưỡng...

    • udev
      Giảng viên

      Cảm ơn bạn rất nhiều vì đánh giá tuyệt vời. Mình sẽ hoàn thành bài giảng nhanh chóng và soạn bài tiếp theo. ^^

  • ouni001810님의 프로필 이미지
    ouni001810

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    19% đã tham gia

    Xin chào, người hướng dẫn. Lúc đầu tôi nghĩ nó không khác nhiều so với các bài giảng trên mạng vì nội dung dễ hiểu, nhưng sau một thời gian, khi nhìn thấy menu cuộn và tải dữ liệu, nó gần như trở thành bài giảng dành cho người ở trình độ trung cấp haha. Lần đầu tiên tôi biết đến Unity qua các bài giảng do người hướng dẫn đăng tải, và mặc dù hơi khó nhưng tôi nghĩ mình có thể theo kịp!! Khi việc này hoàn thành, tôi cũng muốn tải trò chơi lên!!

    • udev
      Giảng viên

      Cảm ơn bạn rất nhiều vì đánh giá tuyệt vời. Tôi sẽ làm bài giảng tiếp theo và hẹn gặp lại bạn sớm. ^^

  • jaeyoungdol1810님의 프로필 이미지
    jaeyoungdol1810

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    17% đã tham gia

    Tôi đã định để lại một bài đăng sau khi quá trình tải lên bài giảng hoàn tất, nhưng tôi cảm thấy vẫn còn một số bài nên tôi sẽ để lại bài đánh giá. Đây là cách tiếp cận đầu tiên của tôi với lập trình. Như thầy đã nói trong bài giảng, tôi tiếp tục xem và luyện tập trong một giờ hoặc 30 phút mỗi ngày. Thật vui khi thấy bạn tiếp tục học tập như thế này. Có điều gì đó khác biệt so với các khóa học Unity khác. Bạn sẽ học không chỉ C# mà cả các nguyên tắc của C# được sử dụng trong Unity liên quan đến C#. Điều này thực sự hữu ích. Các bài giảng khác được tiến hành một cách đơn giản, nhưng Điều này thực sự tốt vì nó giải thích nguyên tắc. Bây giờ tôi đã biết tại sao mình cần sử dụng mã này, tôi nghĩ nó sẽ giúp ích rất nhiều khi tôi tự tạo ra nó. Và có những nâng cấp về nhân vật cũng như khả năng lựa chọn và mở khóa chúng. Tôi nghĩ nó sẽ giúp ích rất nhiều khi làm các trò chơi khác. Tôi hy vọng nó được hoàn thành nhanh chóng để tôi có thể tải nó lên. Tôi hy vọng bạn sẽ có một bài giảng hay vào lần tới.

    • udev
      Giảng viên

      Cảm ơn bạn đã đánh giá tốt. Bạn đã luyện tập mỗi ngày. Là một người có công việc toàn thời gian, tôi nghĩ đây là cách duy nhất để những người không chuyên tiếp cận được công việc đó. Tôi hy vọng bạn có kết quả tốt và tôi sẽ tạo và mở bài giảng tiếp theo trong thời gian sớm nhất. Cảm ơn ^^

  • climber5155632님의 프로필 이미지
    climber5155632

    Đánh giá 4

    Đánh giá trung bình 4.0

    5

    94% đã tham gia

    cảm ơn vì bài giảng hay

    1.611.840 ₫

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

    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!