Hầm Món Sâu: Co-op trực tuyến ba người trong Unity

Oct 19, 2026|8 Phút
Game designMade with Unity
Hình ảnh chủ đạo cho Deep Dish Dungeon của Behold Studios, Raw Fury. Made with Unity. Một nhân vật trong chiếc áo choàng xanh lá và áo tunic đỏ giơ cao ngọn đuốc trong một hầm mộ u ám. Một bộ xương ẩn nấp phía sau bên trái của nhân vật. Văn bản logo trò chơi xuất hiện ở bên phải.

Trang web này đã được dịch bằng máy để thuận tiện cho bạn. Chúng tôi không thể đảm bảo tính chính xác hoặc độ tin cậy của nội dung được dịch. Nếu bạn có thắc mắc về tính chính xác của nội dung được dịch, vui lòng tham khảo phiên bản tiếng Anh chính thức của trang web.

Hãy cùng tìm hiểu cách đội ngũ hai người của Behold Studios đã xây dựng trò chơi phiêu lưu hợp tác trực tuyến Deep Dish Dungeon bằng Netcode for GameObjects, Lobby, Relay, Vivox và Unity 6.3.

Làm thế nào một nhóm hai người không có kỹ sư mạng chuyên trách có thể xây dựng một trò chơi co-op trực tuyến?

Được thành lập tại Brasília, Brazil và hiện có trụ sở tại Toronto, Canada, Behold Studios đã phát triển game bằng Unity trong hơn một thập kỷ. Tựa game mới nhất của họ, Deep Dish Dungeon , là một trò chơi nhập vai khám phá hầm ngục dành cho từ một đến ba người chơi. Trong phần lớn quá trình phát triển Deep Dish Dungeon , chỉ có hai người tham gia: Giám đốc studio Saulo Camarotti phụ trách thiết kế, lập trình, kinh doanh và tiếp thị, trong khi nghệ sĩ Carolina Baumgarten tạo ra tất cả các yếu tố hình ảnh, từ bản vẽ ý tưởng đến mô hình 3D , kết cấu, giao diện người dùng và nhiều hơn nữa.

Deep Dish Dungeon được mong chờ nồng nhiệt, vượt qua 500.000 lượt thêm vào danh sách mong muốn trên Steam trước khi ra mắt, và hiện đã có mặt trên Steam và Xbox Game Pass với tính năng chơi chéo nền tảng. Hãy đọc nghiên cứu trường hợp này để tìm hiểu cách Behold Studios tiết kiệm thời gian và nguồn lực với Unity Services và Unity 6.3 , cũng như hiểu rõ các quyết định thiết kế đã giúp dự án đầy tham vọng này trở thành hiện thực.

Deep Dish Dungeon | Behold Studios | Raw Fury

Kết quả:

  • Hơn 500.000 lượt thêm vào danh sách mong muốn trên Steam trước khi ra mắt, trong đó có 65.000 lượt chỉ trong vài ngày đầu tiên sau khi trailer giới thiệu được phát hành.
  • Một bản nguyên mẫu chơi được nhiều người trực tuyến ngay từ ngày đầu phát triển.
  • Chơi chéo giữa Steam và Xbox mà không cần mã mạng bổ sung.
  • Localization sang 11 ngôn ngữ.
  • Những người chơi tham gia muộn được cập nhật đầy đủ thông tin về mọi kẻ thù, vật phẩm và đồ vật trong hầm ngục chung.
Trailer ra mắt của Deep Dish Dungeon

Biến những hạn chế của chế độ chơi nhiều người thành điểm mạnh.

Behold Studios đã từng phát hành các trò chơi nhiều người chơi trước đây, bao gồm một trò chơi trên Facebook vào năm 2011 và Out of Space vào năm 2020. Đối với Deep Dish Dungeon , Saulo cố tình giữ cho nhóm phát triển nhỏ gọn. Ông ấy đã thuê Carolina cho dự án này vì, với tư cách là một nghệ sĩ đa ngành, cô ấy có thể đảm nhiệm 3D, 2D, thiết kế logo, minh họa và thiết kế ý tưởng.

Là lập trình viên duy nhất, Saulo biết mình phải hết sức cẩn thận để đảm bảo dự án nằm trong phạm vi cho phép. “Multiplayer làm tăng thêm rất nhiều độ phức tạp cho một dự án, và thông thường mọi người sẽ có các kỹ sư chuyên trách để giải quyết những vấn đề đó,” ông nói. “Đây không chỉ là một nhóm hai người, mà chỉ có mình tôi là lập trình viên.” Vì vậy, tôi cần tạo một trò chơi tận dụng những hạn chế của chế độ nhiều người chơi như một yếu tố thiết kế.”

Deep Dish Dungeon | Behold Studios | Raw Fury

Điều này dẫn đến một loạt các lựa chọn có chủ đích, biến những hạn chế đó thành điểm mạnh:

  • Chỉ chơi hợp tác, không có đấu đối kháng: Vì người chơi là bạn bè cùng phe, trò chơi có thể tin tưởng từng người chơi.
  • Kết nối ngang hàng, không cần máy chủ chuyên dụng: Người chơi tạo ra trò chơi đóng vai trò là người chủ trì.
  • Chịu được độ trễ: Độ trễ mạng cao không làm ảnh hưởng đến trải nghiệm chơi game, vì vậy trò chơi không cần tính toán dự đoán chuyển động phức tạp.
  • Một vẻ ngoài đơn giản có chủ ý: Trò chơi hiển thị ở độ phân giải bằng một phần ba độ phân giải đầu ra, tạo nên phong cách đồ họa pixelated phù hợp với kỹ năng của Behold Studios và tránh được việc xử lý hiệu ứng hình ảnh và đổ bóng phức tạp.

Phong cách nghệ thuật cũng đóng vai trò quan trọng trong việc định hình kỳ vọng của người chơi. “Ngay cả yếu tố thẩm mỹ cũng giúp ích cho chúng ta,” Saulo giải thích. “Bạn nên lường trước rằng một số vấn đề sẽ không hoàn toàn được giải quyết suôn sẻ.”

Deep Dish Dungeon | Behold Studios | Raw Fury

Thiết kế cho chế độ chơi nhiều người ngay từ dòng mã đầu tiên.

Saulo từng có kinh nghiệm với các hệ thống máy chủ đa người chơi chuyên dụng như Photon. Tuy vậy, anh ấy vẫn dành cho mình ngân sách ba tháng để thử nghiệm xem liệu hệ thống chơi nhiều người từ đầu đến cuối của Unity 6 có đáp ứng được yêu cầu hay không.

“Khi chúng tôi thấy Netcode for GameObjects, chúng tôi nhận ra nó hoàn toàn phù hợp với mình,” anh ấy nói. “Chúng ta có thể sử dụng logic cốt lõi của Unity – cách chúng ta tạo mọi thứ và quản lý các đối tượng – và thêm một lớp chơi nhiều người lên trên đó.”

Anh ấy bắt đầu từ các ví dụ mã trong tài liệu Unity dành cho Lobby và Relay và đã tiến bộ rất nhanh. “Dòng mã đầu tiên đã triển khai hệ thống Lobby và Relay nhiều người chơi rồi,” anh ấy nói. “Ngay ngày đầu tiên, tôi đã chơi game nhiều người chơi rồi.”

Việc nghĩ đến chế độ chơi nhiều người ngay từ những giai đoạn đầu phát triển có nghĩa là không hề có mã nguồn dành cho chế độ chơi đơn để phải chỉnh sửa lại. Saulo đã chứng kiến ​​các nhóm khác mất từ ​​một đến sáu tháng để thêm tính năng chơi nhiều người vào một dự án hiện có.

Chơi nhiều người cùng Unity

Deep Dish Dungeon | Behold Studios | Raw Fury

Kết nối người chơi với Lobby và Relay

Đối với người chơi, việc tham gia cùng bạn bè chỉ cần một cú nhấp chuột. Người chủ trì chọn một người bạn từ danh sách bạn bè Steam của họ và gửi lời mời có kèm ID Lobby . Người bạn chấp nhận lời mời, tham gia cùng phòng chờ (nhập mật khẩu nếu người chủ trì đặt mật khẩu) và kết nối với người chủ trì thông qua Relay.

Phần khó hơn diễn ra ở hậu trường. Bạn bè có thể tham gia vào một phiên chơi đang diễn ra, vì vậy họ phải nắm bắt mọi thông tin trong hầm ngục, chẳng hạn như kẻ thù nào đã chết, lượng máu còn lại của chúng và những vật phẩm nào đã được nhặt. Saulo muốn tránh việc xây dựng hệ thống quản lý cảnh tùy chỉnh. Thay vào đó, Deep Dish Dungeon sẽ lưu lại cảnh đó vào một tập tin khi bắt đầu một phiên chơi. Khi có người tham gia, các đối tượng trong khung cảnh sẽ được xóa và tải lại một cách động từ trạng thái được đồng bộ hóa của máy chủ. Người chơi cũ sẽ xuất hiện lại tại điểm hồi sinh cuối cùng đã lưu.

Saulo nói rằng vấn đề khó khăn nhất là làm việc với chính quyền tiểu bang, chứ không phải là việc kết nối các cầu thủ.

“Trong một trò chơi chơi đơn, bạn chắc chắn biết rằng mọi thứ diễn ra theo một trình tự nhất định,” anh ấy nói. “Trong chế độ nhiều người chơi, bạn không bao giờ biết chính xác trạng thái của các biến và đối tượng sẽ như thế nào nếu ai đó tham gia giữa chừng.” Các đối tượng phải biết phải làm gì nếu chúng được gọi khi đang ở trạng thái không chính xác.”

Deep Dish Dungeon | Behold Studios | Raw Fury

Biến giọng nói thành một cơ chế hoạt động với Vivox

Nhiều người chơi chế độ hợp tác đã sử dụng các công cụ như Discord để trò chuyện bằng giọng nói, nhưng Saulo đã chọn Vivox vì anh ấy muốn giọng nói được tích hợp vào trải nghiệm khám phá hầm ngục.

“Tôi muốn người chơi cảm nhận được hầm ngục, và cả sự cô đơn trong đó nữa,” anh ấy nói. “Tôi muốn họ cảm thấy rằng bạn bè của họ đang bị bỏ lại phía sau.”

Trong Deep Dish Dungeon, âm thanh phát ra phụ thuộc vào vị trí và được lọc bởi không gian xung quanh mỗi người chơi. Khoảng 15 loa liên lạc nội bộ được đặt rải rác khắp hầm ngục có thể được sử dụng để phát giọng nói của người chơi cho mọi người nghe. Điều này cho phép một người bạn ở lại trại nấu ăn trong khi người kia đi ra ngoài tìm kiếm thức ăn và liên lạc qua bộ đàm để xin đồ tiếp tế. Việc nói chuyện cũng góp phần tạo nên âm thanh mà kẻ thù phản ứng lại, tương tự như việc nhảy, vung đuốc hoặc tạo ra tiếng leng keng khi mặc giáp.

“Giờ đây, người chơi đang suy nghĩ về cách thức và thời điểm sử dụng tính năng đó,” Saulo nói. “Nó làm tăng thêm nhiều tầng lớp cho sự tương tác.”

Thêm tính năng trò chuyện bằng giọng nói và văn bản vào trò chơi của bạn.

Deep Dish Dungeon | Behold Studios | Raw Fury

Cải thiện trải nghiệm chơi game bằng Analytics.

Deep Dish Dungeon là một trò chơi nhập vai phi tuyến tính không có bản đồ, không có la bàn, và có nhiều cách giải quyết cho hầu hết các chướng ngại vật. Điều đó khiến việc thử nghiệm trò chơi trở nên khó khăn. “Mỗi lần xem ai đó thi đấu, chúng tôi đều thấy họ cư xử theo một cách khác nhau,” Saulo nói.

Ông đã xây dựng chiến lược Unity Analytics dựa trên sự tự do đó. Nó theo dõi cách các vật phẩm di chuyển trong trò chơi, ghi lại mỗi lần bị đánh trúng, mỗi cuộc giao tranh và mỗi lần chết, cùng với kho đồ của người chơi và việc họ đã ăn hay chưa. Dữ liệu cuối cùng đó hóa ra lại rất quan trọng.

“Trong Deep Dish Dungeon , thức ăn không phải là thuốc hồi phục.” "Nó giúp tăng cường sức mạnh," anh ấy nói. “Tôi thấy rất nhiều người chơi khám phá trò chơi với cái bụng đói meo, và đó là những người chơi báo cáo rằng trò chơi quá khó.”

Phát hiện này đã dẫn đến việc tạo ra một hệ thống lối chơi mới: một thanh đo độ đói sẽ làm giảm HP của người chơi khi họ nhịn ăn quá lâu. Nhờ cơ chế này, người chơi có thể dễ dàng hiểu hơn lý do tại sao họ cần ăn trước khi tiến vào hầm ngục.

bảng điều khiển Analytics cho bản demo Deep Dish Dungeon

bảng điều khiển Analytics cho bản demo Deep Dish Dungeon

Phát hiện lỗi bằng công cụ chẩn đoán

Vì không có đội ngũ kiểm thử chất lượng riêng cho đến khi nhà xuất bản Raw Fury tham gia, Saulo đã sử dụng công cụ Chẩn đoán để tìm ra các sự cố và lỗi mà anh không thể tái hiện trên máy tính của mình. Điều đó cũng giúp anh ấy xếp hạng chúng theo tần suất và nền tảng.

Một báo cáo bắt đầu bằng việc người chơi cho biết họ không thể tấn công kẻ thù. “Cuộc tấn công diễn ra tốt đẹp, kẻ thù cũng vậy – chuyện gì đang xảy ra vậy?” Saulo nói. Dữ liệu chẩn đoán cho thấy một chuỗi sự kiện bắt đầu từ rất lâu trước đó, với việc kiểm kê tham chiếu đến một mặt hàng không còn tồn tại. “Chúng ta có thể phát hiện ra vấn đề từ rất lâu trước đó.”

bảng điều khiển điều khiển chẩn đoán cho bản demo Deep Dish Dungeon

Thử nghiệm chế độ chơi nhiều người trong Unity 6.3

Đối với một lập trình viên làm việc độc lập, việc thiết lập các phiên thử nghiệm nhiều người chơi có thể tốn rất nhiều thời gian. Multiplayer Play Mode trong Unity 6.3 đã loại bỏ hầu hết công việc đó. Saulo có thể vào Chế độ Chơi và chạy đồng thời hai hoặc ba máy khách trong Unity Editor, hoặc trong toàn bộ hầm ngục hoặc trong các cảnh thử nghiệm chuyên dụng.

“Tôi có thể thử nghiệm bất kỳ đâu trong trò chơi với hai hoặc ba người chơi chỉ bằng một nút bấm,” anh ấy nói. “Và việc điều hành trò chơi địa phương về cơ bản cũng giống như việc tham gia Relay và Lobby.” "Đó là cùng một mã."

Sự ổn định được cải thiện của Unity 6.3 cũng quan trọng không kém. Saulo nhớ lại rằng ở các phiên bản cũ hơn, các sự cố xảy ra gần như mỗi ngày. Sau khi nâng cấp lên Unity 2023 rồi Unity 6, anh ấy nhớ lại: "Tôi mất một lúc mới nhận ra đã hơn một tháng kể từ lần cuối ứng dụng bị treo."

Dịch thuật bằng gói Localization

Các trò chơi trước đây của Behold Studios dựa vào các plugin bản địa hóa của bên thứ ba, vốn không phải lúc nào cũng tương thích với các phiên bản Unity mới. Lần này nhóm đã sử dụng gói Localization của Unity 6. Nó cung cấp các bảng chuỗi được đồng bộ hóa với Google Sheets và một chuỗi dự phòng phông chữ, thử sử dụng phông chữ thứ hai khi phông chữ đầu tiên không thể hiển thị ngôn ngữ đó. Deep Dish Dungeon ra mắt với 11 ngôn ngữ: Tiếng Anh, tiếng Bồ Đào Nha Brazil, tiếng Pháp, tiếng Đức, tiếng Tây Ban Nha, tiếng Tây Ban Nha Mỹ Latinh, tiếng Ba Lan, tiếng Nga, tiếng Nhật, và tiếng Trung giản thể và truyền thống.

Lời khuyên của Saulo ở đây là nên lên kế hoạch cho những bản dịch dài càng sớm càng tốt. “Việc bắt đầu suy nghĩ về bản địa hóa từ sớm và tạo giao diện người dùng đã tính đến điều đó là rất khôn ngoan,” ông nói.

Deep Dish Dungeon | Behold Studios | Raw Fury

Lời khuyên cuối cùng

Đối với các nhóm nhỏ đang cân nhắc chơi nhiều người trực tuyến, lời khuyên chính của Saulo là về thiết kế, chứ không phải công nghệ.

“Hãy tạo ra một trò chơi mà bạn có thể tin tưởng khách hàng.” Tạo một trò chơi hợp tác. "Hãy tạo ra một trò chơi mà độ trễ không phải là vấn đề - nếu độ trễ là 500 mili giây, trò chơi vẫn hoạt động được nhờ thiết kế của nó," ông nói. “Xét về thiết kế và sản xuất, điều này quan trọng hơn cả công nghệ thực tế mà bạn sẽ sử dụng.”

Hãy trải nghiệm các tính năng mới trong phiên bản beta Unity 6.7.