강의

멘토링

커뮤니티

Game Dev

/

Game Programming

Khóa học tuyệt đối! Unity6 - Masterclass phát triển game mạng (Part3) : 2D RPG phát triển với Netcode

Đây là khóa học hướng dẫn tạo game RPG 2D mini để học các kỹ thuật phát triển 2D, và chuyển đổi game hoàn thành sang Netcode for GameObject để mở rộng thành game mạng. Khóa học bao gồm các tính năng đa dạng của tilemap cần thiết cho game 2D, và được chuẩn bị để bạn có thể học cách viết clean code tuân thủ nguyên tắc SOLID một cách tự nhiên. Đồng thời, đây là bài giảng giúp xây dựng nền tảng game mạng bằng cách sử dụng Netcode API đã được thay đổi trong phiên bản Unity 6 mới nhất.

(5.0) 10 đánh giá

74 học viên

  • indiegamemaker
유니티
유니티2d
mmorpg-유니티
네트워크프로그래밍
netcode
Unity
Network
unity2d
Unity6

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

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

  • Unity 2D Game Development - Tilemap, AutoTile, Rule Tile, Animated Tile

  • Netcode for GameObject

  • Sử dụng SDK Lobby, Relay, Matchmaking

  • Tham gia nhanh sử dụng SDK Multiplayer Service mới nhất

  • Mã sạch tuân thủ nguyên tắc SOLID

Netcode for GameObject를 sử dụng để tạo mini game mạng 2D RPG

Khóa học này bao gồm quá trình học từng bước từ cơ bản của Netcode for GameObjects(NGO) đến lobby, relay và matchmaking. Trong khóa học, chúng ta sẽ thực hành phát triển game 2D RPG dựa trên tilemap và áp dụng các tính năng Netcode để học các kỹ thuật tạo game mạng. Trong khi hầu hết các khóa học Netcode chỉ đề cập đến xử lý đồng bộ hóa vị trí và animation, khóa học này sẽ thực hành các tính năng Lobby, Relay, Matchmaking có thể ứng dụng trong các dự án thực tế.

Đặc biệt, chúng ta sẽ sử dụng API hỗ trợ phát triển game mạng một cách thuận tiện hơn thông qua Multiplayer Service được cung cấp mới từ Unity 6. Theo đó, khóa học được cấu trúc để học chức năng Lobby, Relay trước, sau đó có thể triển khai đến chức năng ghép cặp ngẫu nhiên sử dụng Multiplayer Service.

Dự án LittleSword Netcode

Hệ thống chiến đấu

Chúng ta sẽ học những nội dung như thế này

1⃣Kỹ thuật phát triển game 2D dựa trên tile map

Học cách sử dụng cơ bản của 2D Tilemap và tìm hiểu tính năng Rule Tile giúp giảm thiểu các công việc lặp đi lặp lại đơn giản. Tiếp theo, sử dụng Auto Tile mới được thêm vào Unity 6 để thiết kế map một cách hiệu quả và áp dụng tính năng Animated Tile để tạo ra những hiệu ứng 2D đa dạng.

Sử dụng Rule Tile, Auto Tile, Animated Tile

Thiết kế tilemap cho cảnh chiến đấu

Hệ thống chiến đấu

2⃣Sử dụng trình soạn thảo tùy chỉnh

Trình soạn thảo tùy chỉnh là tính năng cho phép mở rộng và tái cấu trúc inspector hoặc các view riêng biệt, được sử dụng cho nhiều mục đích khác nhau trong quá trình phát triển. Trong khóa học này, chúng ta sẽ triển khai các tính năng như khởi tạo dữ liệu thông qua nút bấm, áp dụng sát thương khi bị tấn công, và thay đổi trạng thái nhân vật để xây dựng nền tảng cơ bản. Hơn nữa, chúng tôi sẽ chuẩn bị nền tảng để các bạn có thể tự tay tạo ra những tính năng cần thiết cho dự án của mình trong tương lai.

3⃣ Cấu trúc OOP và triển khai mẫu trạng thái

Trong khóa học này, chúng ta sẽ thiết kế nhân vật chính theo cấu trúc kế thừa để có thể mở rộng, và áp dụng State Pattern thường được sử dụng trong việc triển khai NPC AI cho nhân vật địch. Chúng ta sẽ học về nguyên lý hoạt động cơ bản và phương pháp triển khai của State Pattern, cách truyền Context thông qua constructor và các kỹ thuật tối ưu hóa trạng thái tấn công. Ngoài ra, chúng ta sẽ tách biệt logic game cơ bản và logic Network để tuân thủ nguyên tắc SRP.

  • Mẫu Singleton Generic

  • Observer Pattern

  • Dependency Injection

4⃣ Netcode for GameObject

Trong khóa học này, chúng ta sẽ học cách sử dụng cơ bản của Unity Netcode for GameObjects và thực hành matchmaking thông qua các tính năng lobby và relay. Với việc các gói LobbyRelay trước đây được tích hợp vào Multiplayer Service, chúng ta cũng sẽ tìm hiểu về Multiplayer Service SDK giúp sử dụng các tính năng lobby và relay một cách thuận tiện hơn.

  • Hiểu về Tô-pô-lô-gi Mạng (Topology): Server/Host/Client

  • Transform, Animation xử lý đồng bộ hóa

  • Xác định trúng đòn quyền hạn máy chủ

  • Cách sử dụng Network Variable

  • ServerRPC, ClientRPC, cách sử dụng RPC

  • Tạo và tham gia Lobby

  • Kết nối sử dụng dịch vụ Relay (aka. Photon Cloud)

  • Multiplayer Service SDK를 활용한 퀵 조인 (랜덤 매치메이킹)

Lobby

Giao diện Lobby

Triển khai tạo Lobby thủ công và Quick Join

Những điều cần lưu ý trước khi học

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

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

  • Công cụ sử dụng: Unity 6.2.x , Rider (Visual Studio, VSCode đều được.)


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

  • Mỗi bài giảng đều cung cấp mã dự án và bài giảng cuối cùng sẽ cung cấp dự án hoàn chỉnh.

  • Khối lượng và dung lượng: Cung cấp tài liệu học tập cho từng phần

Kiến thức tiên quyết và lưu ý

  • Unity: Bạn cần phải biết cách sử dụng cơ bản.

  • C# : Nếu bạn hiểu cú pháp C# cơ bản thì sẽ không gặp khó khăn gì khi theo dõi.


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

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

  • Những người muốn phát triển game mạng bằng cách sử dụng Unity Netcode

  • Người muốn học lập trình có cấu trúc dựa trên nguyên tắc SOLID

  • Những người muốn học về API Netcode mới nhất của Unity 6.x

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

  • Lập trình C# cơ bản

  • Cách sử dụng cơ bản Unity

  • Kiến thức cơ bản về mạng

Xin chào
Đây là

419

Học viên

31

Đánh giá

44

Trả lời

4.9

Xếp hạng

6

Các khóa học

안녕하세요, 이재현입니다.

1인 게임 개발자를 꿈꾸며 유니티를 독학으로 시작했고, 2009년부터 2012년 까지 1인 개발로 모바일 게임 10여종을 출시했습니다. 절대강좌! 유니티 출간 및 오프라인 강의를 진행했습니다. 강의를 진행하면서, 잘 아는 것과 잘 가르치는 것은 다르다는 사실을 매번 깨닫고 있습니다. 이러한 경험을 바탕으로, 제가 가진 지식을 여러분들께 더 효과적으로 전달하기 위해 늘 노력하고 있습니다.

이번 강의가 여러분께 좋은 출발점이 되어, 즐거운 게임 개발자의 세계로 나아가는 데 작은 보탬이 되기를 기원합니다. ~


주요 강의 이력

  • 패스트캠퍼스 - 유니티 캠프 1기 ~ 8기

  • 팀 스파트르타 온라인 튜터

  • T아카데미

  • NHN 엔터테인먼트

  • 넷마블 게임아카데미

  • ETRI (한국전자통신연구원)

  • 한콘진, 경콘진, 성남산업진흥원

  • KAIST, 서강대, 중앙대, 한성대, 단국대 특강

주요 활동

  • 절대강좌! 유니티 집필 (일본, 중국 출판)

  • 유니티 UNITE 2014 세션 특강

  • 유니티 UNITE 2018 핸드온 세션 특강

  • 유니티 인더스트리 2022 핸드온 세션 특강

  • 유니티 코리아 공인 마스터스 2기부터 5기까지 활동

     

 

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

Tất cả

41 bài giảng ∙ (9giờ 41phú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ả

10 đánh giá

5.0

10 đánh giá

  • djsskach613705님의 프로필 이미지
    djsskach613705

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    49% đã tham gia

    I came here to study the multiplayer feature, but I always learn a lot from your clean coding style. Additionally, I tried switching to Rider once, and I'm wondering why I didn't know about it sooner.

    • indiegamemaker
      Giảng viên

      Thank you for your valuable review. Rider will be really convenient for you~ I'm rooting for you to complete the course~

  • mips777님의 프로필 이미지
    mips777

    Đánh giá 6

    Đánh giá trung bình 5.0

    5

    32% đã tham gia

    • 123123123123123님의 프로필 이미지
      123123123123123

      Đánh giá 18

      Đánh giá trung bình 3.5

      5

      88% đã tham gia

      I learned Unity Editor basics from just one book on absolute beginner courses before taking this, but it's very difficult. The explanations are very good. However, since this course proceeds assuming you've taken prerequisite courses from earlier lectures, there are many parts I don't understand, so I could barely follow along with the code sections. Even just copying the code to make it run properly took me about 3 times longer than the lecture duration. I think it would be very helpful to go through it a 2nd and 3rd time, carefully examining the code.

      • indiegamemaker
        Giảng viên

        Thank you for your valuable post-lecture review. If you steadily review and fill in the parts you don't understand, it will definitely be helpful. I'm cheering for you to complete the course until the very end.

      • I completed the course. Thank you!

    • muttul589114님의 프로필 이미지
      muttul589114

      Đánh giá 67

      Đánh giá trung bình 4.8

      5

      32% đã tham gia

      Thank you for the valuable lecture. Please consider 3D for next time as well.

      • indiegamemaker
        Giảng viên

        Thank you for your valuable review. I will actively consider 3D.~ I'm rooting for you to complete the entire course.

    • you13675069님의 프로필 이미지
      you13675069

      Đánh giá 1

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      The learning materials for developing network functionality using Netcode for GameObject were quite limited, but this was really helpful. I'm satisfied that it has expanded my options for future technology selection.

      • indiegamemaker
        Giảng viên

        I'm glad it was helpful~ Thank you for your valuable feedback.

    2.538.600 ₫

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

    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!