강의

멘토링

로드맵

BEST
Game Dev

/

Game Programming

[Loạt bài phát triển game MMORPG thực hiện bằng C# và Unity] Phần 2: Cấu trúc dữ liệu và thuật toán

Trong khi nghiên cứu [tìm đường], điều cần thiết cho các game RPG, Khóa học này là một cách tự nhiên để tìm hiểu các cấu trúc dữ liệu và thuật toán.

(4.9) 343 đánh giá

5,157 học viên

Độ khó Cơ bản

Thời gian Không giới hạn

  • Rookiss
C#
C#
C#
C#

[Đại học Rookiss] Lịch tuyển dụng tháng 11 bắt đầu! Thứ Hai (Lyra), Thứ Ba (Asio Server), Thứ Năm (UE5 Tool), Thứ Bảy (Lập trình Nghệ thuật), Chủ Nhật (Giới thiệu về PD)

[Đại học Rookiss] Lịch tháng 11! Thứ Hai (Lyra), Thứ Ba (Asio Server), Thứ Năm (UE5 Tool), Thứ Bảy (Lập trình Nghệ thuật), Chủ Nhật (Giới thiệu về PD)

https://inf.run/1PU3V

Rookies University đang tuyển sinh cho lịch tháng 11.
Thứ Hai (Lyra), Thứ Ba (Asio Server), Thứ Năm (UE5 Tool), Thứ Bảy (Lập trình Nghệ thuật), Chủ Nhật (Giới thiệu về PD)
Năm bài giảng bắt đầu.
- Kiểm tra ngày trong tuần mà khóa học bạn muốn tham gia được tổ chức và đăng ký ngày bắt đầu của khóa học đó!
Vui lòng đảm bảo đăng ký trước ngày bắt đầu lớp học để kiểm tra việc tham dự và đưa ra tin tức.
- Để tránh sai sót, vui lòng để lại tin nhắn kèm theo khóa học bạn đăng ký.
- Lớp chủ nhật miễn phí nên không nhận đơn đăng ký riêng. Link Discord sẽ ra mắt sau
- Học phí cho tất cả các khóa học là như nhau nhưng có thể thay đổi trong tương lai.
- Nó cũng sẽ được phát hành thông qua Infron khoảng 6 tháng sau khi kết thúc bài giảng.
- Một số bài giảng (không có trong danh sách) bị hoãn lại vì xét thấy cần thực hành thêm.
- Chúng tôi đang rất cần các chuyên gia có nhiều kinh nghiệm về Máy chủ chuyên dụng :)

1. Mã hóa bản sao Lyra (Haker): Bài giảng nối tiếp (tháng thứ 2)

Lịch trình: 13/6/20/27 tháng 11 (Thứ Hai 8 giờ tối ~ 11 giờ tối)

Lyra là nội dung mẫu do Unreal Engine cung cấp, giúp Epic Games gợi ý về tiêu chuẩn tạo FPS nhiều người chơi. Nó là tập hợp kiến ​​thức chứa đầy thông tin về việc tạo nội dung tổng thể, bao gồm GameAbilitySystem, Máy chủ chuyên dụng và quản lý nội dung. Tuy nhiên, khi tôi tải xuống và mở Lyra ngay lập tức, mã quá lớn và khó đến mức tôi không biết bắt đầu từ đâu, thậm chí không thể chạm vào nó. Mặc dù đây là một nhiệm vụ rất khó khăn nhưng tôi nghĩ sẽ thật tuyệt nếu có một khóa học Clone Coding tóm tắt những điểm chính quan trọng nhất và tập hợp lại chúng lại từ đầu, và sau một hồi thảo luận, Haker đã quyết định thực hiện. Anh Haker hiện là lập trình viên công nghệ và đám mây với hơn 10 năm kinh nghiệm làm việc tại một công ty lớn và anh là một trong mười người giỏi nhất mà tôi từng gặp. Anh ấy sẽ phụ trách chủ đề phân tích mã nguồn Unreal Engine trong tương lai, nhưng vì Lyra và GAS hiện là những chủ đề quan trọng và đang trở thành chủ đề nóng trong ngành nên anh ấy đã vội vàng mở đầu bằng bài giảng về mã hóa bản sao Lyra. Để bạn tham khảo, nhiều công ty lớn cũng đang phân tích Lyra và GAS và đang chuẩn bị giới thiệu chúng trong các dự án tiếp theo của họ. Việc học những kỹ năng này sẽ đóng vai trò là kim chỉ nam cho việc nghiên cứu chuyên sâu về UE không chỉ dành cho người tìm việc mà còn cho cả các lập trình viên mới vào nghề. Khung cơ bản đã được phát hành trong tháng đầu tiên, nhưng vẫn còn đủ để bắt kịp nên việc tuyển dụng mới sẽ được mở cho đến tháng thứ hai.

2. Sản xuất máy chủ C++ dựa trên Asio (Javawork): 1 tháng

Lịch trình: 14/7/21/28 tháng 11 (Thứ Ba 8 giờ tối ~ 11 giờ tối)

Theo truyền thống, ở Hàn Quốc, máy chủ MMO được tạo ra dựa trên Windows Server. Tuy nhiên, trừ khi bạn là một công ty lâu đời, việc phát triển những máy chủ này từ đầu sẽ không hiệu quả và rất rủi ro. Xu hướng gần đây là tích cực sử dụng các thư viện bên ngoài đã được chứng minh để cải thiện tốc độ phát triển và cạnh tranh với 'sản phẩm' được gọi là trò chơi. Đặc biệt, các máy chủ dựa trên Linux đang được chú ý nhờ sự phát triển của AWS. Asio là thư viện máy chủ C++ phổ biến và có ưu điểm là chạy trên cả Windows và Linux. Asio có thể sẽ chính thức được đưa vào thư viện C++ trong tương lai và trên thực tế có rất nhiều trường hợp máy chủ dựa trên Asio đang được vận hành trong các dự án gần đây nên rất đáng để nghiên cứu lâu dài. Tôi nghĩ sẽ rất có ích nếu tạo một khung máy chủ đơn giản dựa trên Asio và thực hành chạy nó trên cả Windows và Linux. Javawork là lập trình viên máy chủ với hơn 20 năm kinh nghiệm làm việc tại các công ty lớn trong nước như NC và Neple. Chúng tôi dự định truyền đạt kiến ​​thức thực tế về máy chủ và DevOps hàng tháng. Về lâu dài, tôi muốn chuyển sang học các khung máy chủ, MMO hoặc trò chơi trong phòng cũng như các công nghệ AWS hỗ trợ chúng.

3. Tiện ích mở rộng Unreal Tools (Pepe): 1 tháng

Lịch trình: 2/9/16/23 tháng 11 (Thứ Năm 8 giờ tối ~ 11 giờ tối)

Unreal Engine là tập hợp nhiều công nghệ khác nhau. Ngoài việc sản xuất nội dung đơn giản, chúng tôi đang liên hệ với nhiều chuyên gia để tiếp thu những bí quyết thực tế gặp phải khi thực hiện các dự án thực tế. Pepe là thành viên của nhóm R&D UE5 tại một công ty lớn và đã liên tục nghiên cứu công nghệ UE. Anh ấy rất giỏi về các chủ đề chi tiết như tối ưu hóa và lumen. Nó có thể không được nhìn thấy ngay lập tức so với việc tạo nội dung, nhưng việc học liên tục các công nghệ cơ bản khác nhau có thể giúp ích rất nhiều trong việc giải quyết các vấn đề trong tương lai. Chủ đề đầu tiên bắt đầu với phần mở rộng nhẹ của công cụ Unreal. Chủ đề về các công cụ không thú vị chút nào, nhưng khi dự án phát triển, bạn chắc chắn sẽ cần phải tạo ra nhiều công cụ khác nhau và sẽ khôn ngoan hơn nếu sử dụng chúng như những công cụ được tích hợp trong Unreal thay vì biến chúng thành các công cụ bên ngoài. So với Unity, không có nhiều phần được tổ chức trong lĩnh vực này, nhưng chúng tôi hy vọng sẽ tìm hiểu cách sử dụng các tiện ích mở rộng công cụ như Slate trong thực tế và đặt nền tảng cho việc xử lý các chủ đề khác trong tương lai.

4. Lập trình nghệ thuật (Meerkat): Bài giảng nối tiếp (#tháng thứ nhất)

Lịch trình: 11/4/18/25 tháng 11 (Thứ Bảy 1 giờ chiều ~ 6 giờ chiều)

Tôi nghĩ lĩnh vực TA cùng với client/server là một lĩnh vực cần được nghiên cứu và chinh phục. Chúng tôi đang lên kế hoạch cho một số bài giảng liên quan để phá vỡ chu kỳ Công nghệ không biết Nghệ thuật và Nghệ thuật không biết Công nghệ. Bài giảng [Lập trình cho nghệ thuật] nhằm mục đích trau dồi kỹ năng sử dụng bản thiết kế cơ bản ở những chuyên gia nghệ thuật không có kiến ​​thức về mã hóa. Trên thực tế, các nguyên tắc viết mã là như nhau, vì vậy việc bạn học ngôn ngữ nào không thực sự quan trọng, điều quan trọng là khả năng chuyển tải cách suy nghĩ của bạn thành mã. Để không bị cuốn vào ngữ pháp phức tạp, chúng tôi đã chọn mã hóa làm chủ đề đầu tiên mà chúng tôi đã học bằng cách sử dụng UE5 Blueprint, một hệ thống mã hóa trực quan thực tế. Các bài giảng về mã hóa do Rookiess xuất bản trước đây được dạy dưới góc nhìn của lập trình viên nên tiến triển nhanh chóng và nhìn chung là khó. Trong khi chúng tôi đang tìm kiếm một chuyên gia để giảng dạy phù hợp hơn với nhu cầu của những người không chuyên và người mới bắt đầu, chúng tôi đã thuê Meerkat. Meerkat là một lập trình viên cấp trung của Com2uS, và các bài giảng của anh ấy đặc biệt ấn tượng khi anh ấy giải thích mọi thứ một cách dễ hiểu bằng cách sử dụng những phép so sánh đáng kinh ngạc. Mục tiêu của lớp học cuối tuần này là chăm sóc những ai thấy lớp học viết mã truyền thống khó, để không ai bỏ cuộc, có thể tiến hành chậm rãi như thể đang nhận gia sư riêng. Mục tiêu cuối cùng là giải quyết các vấn đề thực hành khác nhau trong các bài giảng trực tiếp theo thời gian thực và để sinh viên chia sẻ màn hình cá nhân của họ để người hướng dẫn có thể kiểm tra những phần khó và trả lời tất cả các câu hỏi thường khiến họ bối rối. Chúng tôi không chấp nhận các lập trình viên có tham vọng mà đang tuyển dụng các lớp học lập trình bắt đầu từ 0 dành riêng cho những người không chuyên ngành, đặc biệt là các nhà lập kế hoạch và chuyên gia nghệ thuật!

5. Giới thiệu về Nghiên cứu PD (Rookiss): Bài giảng nối tiếp (#tháng thứ nhất)

Lịch trình: 12/5/19/26 tháng 11 (Chủ nhật 8 giờ tối ~ 11 giờ tối)

Hầu hết những người đến với ngành game đều nghiên cứu và bước vào ngành trong khi nhớ về những trò chơi mà họ vô cùng yêu thích. Nhưng khi bạn thực sự gia nhập một công ty, những kỳ vọng sẽ tan vỡ và các dự án luôn có cảm giác như đang trôi dạt. Những người mới tham gia vào đội ngũ lập kế hoạch tràn đầy hy vọng rằng họ sẽ mở rộng trí tưởng tượng và tạo ra những trò chơi hoành tráng, nhưng trên thực tế, họ trở thành nô lệ cho dữ liệu và những công việc lặt vặt với những nhiệm vụ mơ hồ. Những nỗ lực của tôi trong việc phân tích trò chơi là vô ích và tôi cảm thấy vô cùng nghi ngờ trước nhiệm vụ chỉ viết một kế hoạch ngược lại cho một trò chơi gacha được xếp vào top doanh thu cao nhất. Khi làm việc tại một công ty, tôi đã thấy vô số nhà lập kế hoạch thất vọng trước thực tế này, và nhiều người trong số họ chuyển sang làm lập trình viên hoặc các vị trí khác. Điều đáng ngạc nhiên là trái ngược với niềm tin phổ biến, các nhà lập kế hoạch trong ngành trò chơi không lập kế hoạch. Điều này là do quyền lực tuyệt đối chỉ được trao cho PD (Giám đốc) là đưa ra các kế hoạch sáng tạo và xác định phương hướng ngay từ đầu.

Theo tôi, <người lập kế hoạch> cuối cùng cũng là một PD. Ngay cả ở các công ty lớn, có khoảng 10 dự án, điều đó có nghĩa là chỉ có bấy nhiêu vị trí PD nên có vẻ như không cần phải lo lắng về điều đó. Tuy nhiên, để đạt được điều gì đó ở một công ty game, bạn phải trở thành PD, hoặc tìm một PD giỏi và gia nhập nhóm. Điều này là do các thành viên trong nhóm dù tài năng đến đâu nhưng nếu hướng đi của trò chơi đi chệch hướng thì dự án đã trở nên vô vọng. Vậy bạn cần học những gì và cần có năng khiếu gì để trở thành nhà sản xuất? Các công ty thực sự lựa chọn PD như thế nào và họ tìm kiếm điều gì? Mặc dù đây là mối quan tâm rất cơ bản, thiết yếu và tự nhiên nhưng để có được câu trả lời rõ ràng cho vấn đề này không phải là điều dễ dàng. Điều này là do những lo ngại này chủ yếu được giải quyết bởi các giám đốc điều hành và quản lý công ty chứ không phải bởi những người lao động bình thường.

Vì PD đặt ra phương hướng cho dự án nên thực tế họ có 99% cổ phần trong sự thành công của dự án. Mặc dù là một vị trí quan trọng với thứ hạng bằng 0 nhưng khó có thể thấy nỗ lực đào tạo PD một cách có hệ thống và ngay từ đầu cũng không có câu trả lời hoàn hảo. Nếu có ai đưa ra câu trả lời chắc chắn 100% về cách tạo ra một trò chơi thú vị và bán chạy thì rất có thể đó là một trò lừa đảo. Và tất nhiên, tôi cũng không biết công thức thành công. Tuy nhiên, ít nhất ngay cả trong bối cảnh không chắc chắn này, tôi nghĩ những phẩm chất cần thiết mà một PD phải có là rõ ràng.

Tôi may mắn được tích lũy kinh nghiệm làm việc tại một công ty lớn và gián tiếp chứng kiến ​​quá trình tạo ra một trò chơi khổng lồ mang tên <PUBG>, và ngược lại, tôi đã có thể trải qua những vấn đề khi dự án bị trôi dạt. Có nhiều dự án bị lãng phí do các vấn đề chính trị nội bộ khác nhau và sự thiếu năng lực của PD hoặc nhóm phát triển. Các công ty luôn thử nhiều cách khác nhau để tìm ra câu trả lời cho những mối lo ngại này, thậm chí một số công ty còn giới thiệu hệ thống vườn ươm để nhận những đề xuất đầy thách thức. Tuy nhiên, khi gặp những người cấp cao trong công ty và nói chuyện với họ, tôi thường phàn nàn rằng không có PD nào hiểu rõ về phát triển và có ý thức tốt. Những nhân viên thường không lo lắng về những điều này đề xuất những trò chơi cực kỳ lý tưởng hóa không tính đến các điều kiện thực tế. (ví dụ: Tôi muốn tạo một trò chơi kết hợp WoW + Genshin Impact + Zelda!) Về bản chất, không giống như webtoons và tiểu thuyết web, trò chơi không thể được lên kế hoạch <bất cứ điều gì> <sử dụng trí tưởng tượng> và phải được thiết kế với hiệu quả chi phí tốt nhất và lên lịch trong phạm vi phát triển thực tế. Bạn phải suy nghĩ về nó.

Trong khóa học này do Rookies trực tiếp thực hiện vào Chủ nhật, bạn học một cách có hệ thống những kiến ​​thức phát triển cơ bản mà PD cần biết, quy trình phát triển, tính toán tiến độ, thành phần nhóm và đo lường chi phí phát triển, sau đó thực sự bắt đầu từ việc hình thành ý tưởng trò chơi. và biến nó thành hiện thực với mục tiêu phát hành. Chúng tôi sẽ cho bạn thấy. (Và nếu bạn tham gia bài giảng trực tiếp, bạn có thể học các bài học :D) Bạn có thể tạo nhóm phát triển bằng cách tạo ngân sách, thuê ngoài một số tác phẩm nghệ thuật và tìm hiểu chu trình phát triển từ thiết kế BM đến xác minh chỉ báo sau khi ra mắt , một cách tự nhiên. Chúng tôi mong muốn phát triển ý thức về PD.

Bình luận