inflearn logo
Challenge
Đã kết thúc

[Thử thách khắc nghiệt Khóa 2] Lộ trình 5 tuần dành cho nhà phát triển game mạng (Network Game Developer)

Thử thách này không đơn thuần chỉ dạy bạn "cách làm game bằng Unity". Mục tiêu của chúng tôi là giúp bạn trở thành một nhà phát triển Client có khả năng tự mình triển khai mạng (network) và máy chủ (server) — những kỹ năng ngày càng trở nên quan trọng đối với lập trình viên game Client, từ đó giúp bạn phát triển thành một nhà phát triển có lợi thế cạnh tranh rõ rệt trên thị trường tuyển dụng.

Unity
Network
game-programming
socket-programming

113개 수업 학습

7회 미션 수행

라이브 4 회

성취의 증표, 수료증을 발급해요.

무제한 복습, 내 것으로 만들어요.

지식공유자와 멘토링 혜택!

추가 자료를 통해 학습을 이어나가요.

완주 시 쿠폰을 제공해요.

질문하고 즉시 답을 얻어요.

indiegamemaker님과 함께해요!

697

Học viên

78

Đánh giá

68

Trả lời

4.9

Xếp hạng

10

Các khóa học

Xin chào, tôi là Lee Jae-hyun.

Tôi bắt đầu tự học Unity với ước mơ trở thành nhà phát triển game độc lập, và từ năm 2009 đến năm 2012, tôi đã phát hành khoảng 10 loại trò chơi di động thông qua hình thức phát triển cá nhân. Tôi đã xuất bản cuốn sách Khóa học tuyệt đối! Unity và tiến hành các bài giảng trực tiếp. Trong quá trình giảng dạy, tôi luôn nhận ra rằng việc hiểu rõ kiến thức và việc truyền tải kiến thức tốt là hai điều hoàn toàn khác nhau. Dựa trên những kinh nghiệm này, tôi luôn nỗ lực để truyền đạt kiến thức của mình đến các bạn một cách hiệu quả nhất.

Hy vọng bài giảng lần này sẽ là điểm khởi đầu tốt đẹp, góp phần nhỏ bé giúp các bạn tiến bước vào thế giới phát triển game đầy thú vị. ~


Lịch sử giảng dạy chính

  • Bài giảng đặc biệt tại NC Soft

  • NHN Entertainment

  • Học viện Game Netmarble

  • Fastcampus - Unity Camp Khóa 1 ~ Khóa 8

  • Gia sư trực tuyến tại Team Sparta

  • T Academy

  • ETRI (Viện Nghiên cứu Điện tử và Viễn thông Hàn Quốc)

  • KOCCA (Cơ quan Nội dung Sáng tạo Hàn Quốc), GCA (Cơ quan Thúc đẩy Văn hóa Gyeonggi), Viện Thúc đẩy Công nghiệp Seongnam

  • Bài giảng đặc biệt tại KAIST, Đại học Sogang, Đại học Chung-Ang, Đại học Hansung, Đại học Dankook

Hoạt động chính

  • Viết sách Giáo trình Tuyệt đỉnh! Unity (Xuất bản tại Nhật Bản, Trung Quốc)

  • Bài giảng chuyên đề tại phiên họp Unity UNITE 2014

  • Bài giảng chuyên đề phiên thực hành (Hands-on Session) tại Unity UNITE 2018

  • Bài giảng chuyên đề phiên thảo luận thực hành (Hand-on Session) tại Unity Industry 2022

  • Hoạt động với tư cách là Unity Masters chính thức của Unity Korea từ khóa 2 đến khóa 5

     

 

Thêm

Chúng tôi đang gửi phiếu giảm giá miễn phí Git&Github qua email cho những người đã đăng ký. Hiện vẫn còn một số bạn chưa nhận được phiếu giảm giá này. Nếu các bạn học trước khi thử thách bắt đầu, việc theo học sẽ trở nên dễ dàng hơn. Lời mời tham gia Slack sẽ được gửi đồng loạt vào lúc 12 giờ trưa ngày 26 tháng 1. Hẹn gặp lại các bạn vào ngày khai giảng.

[Thử thách khắc nghiệt khóa 2] – Lộ trình 5 tuần trở thành nhà phát triển game mạng

Thử thách này không chỉ đơn thuần dạy "cách tạo trò chơi bằng Unity".

Mục tiêu là giúp bạn phát triển thành một nhà phát triển có lợi thế cạnh tranh rõ rệt trên thị trường việc làm bằng cách trực tiếp triển khai mạng và máy chủ, những yếu tố ngày càng trở nên quan trọng đối với các nhà phát triển game client.

Mục tiêu đạt 100 người chơi đồng thời trong dự án cuối khóa - Trò chơi TPS mạng (Fusion2)

Mục tiêu cốt lõi của [Thử thách khắc nghiệt]

Thử thách này bắt đầu dành cho những người mới bắt đầu tiếp cận với C# và Unity,

  • Cơ bản về ngôn ngữ C# và tư duy cấu trúc

  • Khả năng thiết kế logic thông qua TextRPG trên nền tảng console

  • TCP/UDP Lý thuyết mạng và lập trình socket thực tế

  • Thực hiện xây dựng máy chủ trò chuyện đa máy khách hoạt động thực tế

  • Phát triển máy chủ trò chơi dựa trên UDP phản ánh cấu trúc máy chủ trò chơi

  • Thực hành Dedicated Server sau khi triển khai trên AWS

  • Thực hiện giao tiếp thời gian thực và RPC với Unity Client

  • Cuối cùng là phát triển trò chơi TPS dựa trên Photon Fusion 2

được cấu trúc để kết nối thành một luồng nhất quán.

Không chỉ dừng lại ở mức độ sử dụng API đơn thuần,

  • "Tại sao nó lại hoạt động như vậy" để hiểu rõ,

  • Đây là quá trình để bạn tự mình trải nghiệm "cách server và client được tách biệt và phối hợp với nhau như thế nào".


Chương trình giảng dạy của [Thử thách khắc nghiệt]

0⃣ Học trước - Cách sử dụng Git & Github

Trước khi bắt đầu thử thách chính thức, bạn sẽ được học cách sử dụng Git và GitHub, những công cụ mà bất kỳ nhà phát triển nào cũng phải thành thạo. (Tùy chọn)

Thông qua bài giảng Git/GitHub được cung cấp trước, bạn sẽ hiểu được khái niệm quản lý phiên bản và trực tiếp quản lý tất cả mã nguồn được sử dụng trong suốt thử thách bằng Git. Ngoài ra, bạn cũng sẽ thực hành cách chia sẻ và cấu trúc hóa mã nguồn thông qua GitHub.

Thử thách lần này không chỉ dừng lại ở việc viết mã đơn thuần.

Trở thành một nhà phát triển có khả năng cộng tác thông qua trải nghiệm quản lý, ghi lại và chia sẻ mã nguồn là một trong những mục tiêu quan trọng. Tôi hy vọng tất cả những người tham gia sẽ sử dụng thành thạo Git thông qua khóa học này, và xa hơn nữa là phát triển thành những nhà phát triển có khả năng làm việc nhóm tốt. (Cung cấp mã giảm giá miễn phí)

Bài giảng được cung cấp trước (https://inf.run/CR6ur)

1⃣ Học về server được thiết kế dưới góc nhìn của nhà phát triển Client

Thử thách này không phải là bài giảng dành riêng cho nhóm chuyên môn server thuần túy.
Nó tập trung vào cấu trúc server và luồng mạng mà các nhà phát triển Unity Client nhất định phải hiểu.

  • Làm thế nào để xử lý đồng bộ hóa vị trí/góc quay?

  • RPC nên được thiết kế như thế nào để có thể mở rộng?

  • Khi nào dùng UDP và khi nào dùng TCP?

Mục tiêu là đạt đến trình độ có thể giải thích được "tại sao lại triển khai như vậy" trong công việc thực tế.

Triển khai máy chủ trò chơi và mô-đun thử nghiệm dựa trên UDP

2⃣ Không phải là 'mã nguồn chép lại', mà là 'dự án tích lũy'

Mọi giai đoạn đều được mở rộng dựa trên kết quả của giai đoạn trước đó.

  • Quản lý trạng thái đã học từ TextRPG → Thiết kế logic server

  • Máy chủ chat TCP → Hiểu cấu trúc xử lý đa client

  • UDP Server → mở rộng tự nhiên thành kiến trúc máy chủ trò chơi

  • Unity Client → Thiết kế cấu trúc tách biệt với Server

Kết quả là, một lịch sử phát triển có thể giải thích được thông qua portfolio sẽ được hoàn thành.

TextRPG dựa trên Console - Khóa học C# nâng cao

3⃣ Đào tạo nhà phát triển có khả năng thử thách ở cả Client + Server

Một mục tiêu khác của thử thách này là,

  • Nhà phát triển chỉ biết mỗi Unity

  • Mạng là lĩnh vực mà engine sẽ tự xử lý.

thoát khỏi suy nghĩ rằng

  • Nhà phát triển Client hiểu rõ cấu trúc mạng

  • Nhà phát triển có khả năng thử sức ở cả các vị trí phát triển server cấp độ Junior

là nền tảng để có thể phát triển thành.

Ví dụ dưới đây là trò chơi Tank, nơi bạn kết nối với máy chủ trò chơi UDP do chính mình tạo ra để thực hiện các trận chiến. Bạn sẽ được trải nghiệm quá trình vận hành máy chủ tự phát triển, chơi thử và phân tích nhật ký (log).

Ví dụ liên kết máy chủ trò chơi C# UDP (Tank, triển khai sau khi trích xuất tài nguyên bản đồ)

4⃣ Hướng tới Clean Code

Khi phát triển client Unity, tôi luôn tuân thủ mã nguồn sạch và nguyên tắc SOLID. Năng lực của một nhà phát triển client được quyết định bởi chất lượng mã nguồn. Khi phát triển các mô-đun client, tôi trình bày mã nguồn theo các nguyên tắc sau.

  • Áp dụng nguyên tắc SOLID, đồng thời xem xét mã đang viết vi phạm ở điểm nào và cách triển khai phù hợp là gì.

  • Sử dụng các mẫu thiết kế cần thiết. (Singleton, Strategy Pattern, Object Pool, Dependency Injection, ...)

  • Thực hiện thiết kế lớp phù hợp và tận dụng ScriptableObject


5⃣ Game Fusion2 TPS được phát triển với mục tiêu đạt 100 người chơi cùng lúc (CCU)

Chương trình học cuối cùng, chúng tôi đã chuẩn bị một trò chơi TPS được thiết kế và phát triển với mục tiêu đạt 100 người dùng đồng thời. Nếu chỉ triển khai bằng các tính năng cơ bản của Fusion2, băng thông mạng và CPU phía client sẽ bị quá tải.

Bản thân Fusion2 được thiết kế cho mục tiêu 100 người, nhưng nếu không sử dụng tính năng AOI thì điều đó gần như là không thể. Do đó, tôi đã chuẩn bị các nội dung sau đây để áp dụng kỹ thuật mở rộng quy mô mạng (network scaling) cho 100 người dùng đồng thời.

  • Sử dụng Quản lý sự quan tâm (AOI)

  • Điều chỉnh Send Rate và Tick

  • Tối ưu hóa dữ liệu đồng bộ hóa


Trò chơi TPS với mục tiêu 100 CCU - Fusion2

[Tổng cộng 4 buổi học trực tuyến đặc biệt và cố vấn cá nhân 1:1]

Buổi học đặc biệt sẽ được diễn ra vào mỗi tối Thứ Năm từ 20:00 ~ 22:00 (2 tiếng). Tổng cộng 4 buổi học đặc biệt sẽ được giảng dạy trực tiếp, tập trung vào các nội dung không có trong chương trình thử thách hoặc các nội dung cần bổ sung.
(Tham gia tự nguyện, ngày giờ và chủ đề bài giảng có thể thay đổi.)

  • Chủ đề của bài giảng đặc biệt sẽ được xác nhận cuối cùng vào ngày mở thử thách.

  • Chúng tôi cung cấp bản ghi hình để bạn có thể ôn tập sau khi buổi chuyên đề kết thúc.

  • Cố vấn video 1:1 cho từng cá nhân mỗi tuần một lần sẽ được tiến hành (30 phút). Chỉ dành cho những người đăng ký và thời gian sẽ được thông báo trên kênh Slack.

  • Nội dung cố vấn cá nhân chỉ giới hạn trong phạm vi chương trình giảng dạy.


Mentoring trực tuyến mỗi tuần một lần

👤 Đề xuất cho những đối tượng sau

  • Những người muốn xây dựng nền tảng C# và Unity một cách bài bản

  • Những người cảm thấy việc phát triển game mạng khó khăn và mơ hồ.

  • Những người muốn sở hữu lợi thế cạnh tranh khác biệt với tư cách là một nhà phát triển Client

  • Những người đang hướng tới cả vị trí phát triển server game về lâu dài

  • Những người muốn trở thành nhà phát triển có thể giải thích được "tại sao lại triển khai như thế này"


"Không chỉ dừng lại ở người làm game bằng Unity,

Khóa học đào tạo nhà phát triển game mạng có khả năng hiểu và giải thích cấu trúc máy chủ"

[Thử thách khắc nghiệt] Quà tặng dành cho người hoàn thành mục tiêu

Chúng tôi sẽ dành tặng phiếu giảm giá miễn phí cho khóa học "Khóa học tuyệt đỉnh! Unity 6 - Phát triển RPG 2D với Netcode" dành cho những người tham gia đã hoàn thành dự án đến cùng. Tôi tin rằng việc trải nghiệm nhiều loại engine mạng thương mại đa dạng hơn là điều vô cùng ý nghĩa.

Khóa học Netcode for GameObject

1월

26일

챌린지 시작일

2026년 1월 26일 PM 03:00

챌린지 종료일

2026년 2월 28일 PM 02:30

챌린지 커리큘럼

Tất cả

124 bài giảng ∙ (37giờ 19phút)

Tài liệu khóa học:

Tài liệu bài giảng
Trực tiếp

챌린지에서 배워요

  • Phát triển Client Unity

  • Phát triển và lý thuyết công cụ trò chơi mạng

  • Giao thức truyền thông TCP / UDP

  • Sử dụng engine thương mại Photon Fusion2

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

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

  • Nhà phát triển muốn tiếp cận các engine mạng thương mại sau khi đã học các khái niệm về mạng.

  • Sinh viên mới tốt nghiệp đang tìm kiếm việc làm với mong muốn sở hữu năng lực phát triển mạng.

  • Lập trình viên mới vào nghề đã sẵn sàng với kiến thức nền tảng vững chắc về mạng.

  • Nhà phát triển muốn tự phát triển máy chủ trò chơi mạng riêng.

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

  • C# cơ bản

  • Lựa chọn sử dụng Claude Code Plus

Đánh giá

Tất cả

5 đánh giá

4.8

5 đánh giá

  • psyrod11124162님의 프로필 이미지
    psyrod11124162

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    31% đã tham gia

    Cách dẫn dắt rất dễ hiểu, giúp người mới bắt đầu có thể từng bước theo sát một cách dễ dàng.

    • meltingice318437님의 프로필 이미지
      meltingice318437

      Đánh giá 4

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      Dù không có chút kiến thức nào về mạng, nhưng thông qua quá trình thử thách, tôi đã tích lũy được những kiến thức cơ bản về mạng rất tốt. Giảng viên giải thích rất chi tiết để tôi có thể dễ dàng theo kịp bài giảng.

      • dongwooklee96님의 프로필 이미지
        dongwooklee96

        Đánh giá 5

        Đánh giá trung bình 4.4

        4

        30% đã tham gia

        • lds37942177님의 프로필 이미지
          lds37942177

          Đánh giá 5

          Đánh giá trung bình 5.0

          5

          60% đã tham gia

          • ekdh417796283님의 프로필 이미지
            ekdh417796283

            Đánh giá 1

            Đánh giá trung bình 5.0

            5

            30% đã tham gia

            Hỏi đáp thường gặp

            취소 및 환불 규정
            챌린지는 지식공유자가 설정한 수업 최소 정원이 충족되지 않을 경우, 폐강 안내가 고지되며 결제 내역이 자동취소됩니다.

            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!

            13.795.943 ₫