您想找什么?
Games

进入 "老板房间":我们全新的 Multiplayer 样品游戏

DEW SMITH / UNITY TECHNOLOGIESContributor
Apr 8, 2021|6 Min
进入 "老板房间":我们全新的 Multiplayer 样品游戏
为方便起见,此网页已进行机器翻译。我们无法保证翻译内容的准确性或可靠性。如果您对翻译内容的准确性有疑问,请参阅此网页的官方英文版本。

在我们的小型合作 RPG《Boss Room》中,探索 Unity 新的实验性 Netcode 库和 Multiplayer 游戏的基本模式

创建 Multiplayer 游戏并非易事,在探索开发 Multiplayer 游戏时,即使提供了 SDK 文档,也常常会感到不知所措。您需要了解如何使用所提供的 SDK 和模式来构建自己的游戏。 作为 Unity Multiplayer Networking 团队,我们的目标是为开发人员(如您)提供必要的工具和支持,以便为您的玩家打造出色的 Multiplayer 游戏体验。这一承诺不仅包括提供基础网络技术,还包括提供了解其应用所需的文档和教育模板。这就是我们的 Multiplayer 样品的由来--《Boss Room 》是同类教育内容的首创。

在开发Boss Room的过程中,我们将在新的 文档网站上为开发人员编写有关样本联网不同方面的教程。这些教程将涵盖小型合作游戏联网的许多关键部分,例如如何在 RPC 与 NetworkVariables 之间做出选择,或如何使用延迟补偿技术设计游戏的响应速度。

现在,让我们进入全新的早期合作样本:老板室。

进入老板房间

欢迎来到 " Boss Room",这是一个基于 2020 LTS 构建的官方示例项目,展示了 Unity 的原生工具套件、图形和实验性网络技术,现在可通过GitHub 获得早期访问权限。Boss Room》利用新的实验性 Netcode 软件包,让最多 8 名玩家一起在这个可爱的竖版合作 RPG 地牢中打败小恶魔和一个老板。渴望更多的"老板房间"?别担心,随着我们 Multiplayer 解决方案的发展,它将与社区一起继续发展。

从这里开始,或继续阅读,快速了解今天在 Boss Room 的期待。

前提

玩家将通过托管或加入游戏服务器开始《Boss Room》的游戏,该游戏服务器将托管在玩家的一台设备上。

连接后,玩家将从八个可用的英雄中选择一个,并加入一个 Lobby,在等待所有党员准备就绪时选择您的角色。当所有玩家都准备就绪时,会显示一个短暂的计时器,然后所有英雄都会被传送到 Boss Room 环境中。

进入老板房间后,玩家必须齐心协力,战胜敌人的小喽啰,打败老板。

联网

Boss Room 的主要目标是向开发人员传授Multiplayer 游戏背后的基本概念和模式,因此样本的网络方面至关重要。

Boss Room》中设计的主要价值的一部分就是它所展示的 Multiplayer 模式:动作动画预期、大厅、状态与 RPC 等。我们的目标是不仅为用户提供这些模式的实现,而且还提供帮助他们理解这些模式的文档。请务必关注我们的文档网站,以便在未来几个月内及时了解这些文章的发布情况。

Boss Room》采用的网络模式是客户端托管服务器,玩家之间可以通过集成的光子Relay和IP直接连接。

角色和类别

在玩家角色方面,我们今天有四个 3D 角色类别(法师、战士、游侠和弓箭手)、三个种族(精灵、人类和矮人)和两种性别的代表。这些角色有两种主要能力,每种能力都有一些表情动画。在人工智能/敌人方面,我们展示了小恶魔和地牢老板--每个人都有自己独特的能力。

老板房间》中的人物

老板房间 》中的所有角色都基于一个我们亲切地称为 "U "的通用角色模型--该模型可重复使用,并可缩放成新的形状和大小。由于它们都有一个共同的结构,因此可以重复使用。Boss Room使用 UCL 许可,这意味着您可以在自己的 Unity 项目中重复使用我们的所有资产并在其基础上进行构建,所以请尽情地修改吧!

描述如何重新塑造角色的图片

如前所述,《 Boss Room 》展示了合作式 RPG 游戏中常见的各种动作游戏技巧,以及在实施这些动作时有用的编码模式和技术。这包括服务器驱动的寻路和移动,以及客户端插值,还有让 "动作系统 "成为角色以网络方式 "做事情 "的通用机制。

操作包括从基本的角色攻击到花哨的 AOE 技能(如弓箭手的 "排射")。以下是使用该系统实施的行动原型列表:

  • 近战攻击,基于物理的命中检查。
  • 效应区攻击。攻击以客户端提供的点为中心,以服务器驱动的效果显示客户端区域选择。
  • 范围射弹攻击,可产生服务器驱动的射弹。还包括该动作的一个变体,按住动作按钮即可 "充电 "射击。
  • 眩晕行动可阻止人工智能驱动的代理做任何事情。
  • 隐身行动,可切换流氓的隐身模式。
  • 按住动作按钮就能对其进行充电。对最高充能等级产生额外效果。
  • 可播放愚蠢角色动画的表情动作--显示玩家之间的交流。
  • 追逐动作,使角色追随选定的目标
  • 目标选择,用于可以瞄准目标(如果选择了目标)的操作。
  • Boss 执行的践踏动作会将不小心的英雄推到一边 - 这显示了网络物理的模式。
  • 复活行动可让英雄们互相复活。

地下城和游戏

Boss Room环境的设计目的是让玩家在面对Boss之前,有片刻的时间测试自己角色的技能。

地牢里有一个前厅和一个老大房间,通过简单的合作开关谜题就能进入老大的区域。目标很简单,打败小恶魔,解开谜题,打倒老板--最后获得宝藏!

编辑器中的 "老板房间 "场景示例

我们团队的说明

Boss Room 的目标不仅仅是 API 教育。Multiplayer 是游戏制作的一个领域,它将影响你的游戏设计,而不仅仅是你的实现。了解 "如果我有一个由服务器驱动的、影响物理效果的 NPC(如老板),什么时候可以由客户端驱动,什么时候可以由服务器驱动 "或 "可以使用斜升动画来隐藏延迟的技巧 "等良好做法,将有助于制作出更好的 Multiplayer 游戏。Boss Room 的所有功能都是这些实践和模式的范例。

我们团队的目标是为您提供围绕 Multiplayer 游戏开发的整个工程流程的参考,让您能够针对特定类型的游戏从 A 到 Z 构建一款多人游戏。这将涉及设计、实施、测试以及如何处理实时环境。我们以Boss Room作为参考目前正在编写相关文档。

Boss Room 的次要目标是为新的 GameObject Netcode 实验包(MLAPI 的进化版)提供狗粮。样本团队和 SDK 团队携手改进 MLAPI、提供用户体验反馈并提出问题。随着 MLAPI 增加新功能和更新 SDK,我们将继续使用这些功能,并确保它们在项目开发中的意义。

下一步是什么?

随着我们网络解决方案的不断发展和完善,本样本也将不断改进。以下是继续参与的方法。

DiscordUnity Multiplayer 论坛上与我们聊天,分享您的经验或寻求帮助