当前位置 > 主页 > 1.76卓越大极品 >

如何使用Unity和SpatialOS对在线多人游戏进行原型设计

发布时间:2019-10-20 10:22
深渊世界

深渊是在一个玩家必须与黑暗作斗争才能生存的世界。艺术风格非常黑暗灵魂,因为团队中的艺术家喜欢这种外观,喜欢制作badass剑。那,或者他们只是想让我整天测试可怕的。

为什么?

光在游戏机制中扮演着重要角色。它允许冒险者看到他们的周围环境来探索和寻找宝藏。它位于世界的中心,安全而轻盈。在边缘处它是漆黑。这是冒险者将光线向外推进,黑暗生物向后推进的持续战斗。

创造球员和

Abyssals建立在SpatialOS上,使用Unity为游戏客户端和物理模拟。 SpatialOS不是游戏引擎,但它可以直接在其上构建在线游戏。

世界上的一切都是一个实体。这包括冒险者,,设备和环境对象。实体由组件构成,这些组件定义了实体的不同方面,以及描述这些组件在实体彼此交互时如何变化的行为。

组件和行为可以被许多不同的实体类型重用。例如,thespide和theadventurers几乎共享所有代; thetorchand thebonfireshare几乎所有他们的(除了篝火不能放入玩家的库存)。这减少了代,这对于只有一个游戏程序员来说尤其有用!

组件

我为Abyssals写的组件的一些例子是健康(具有当前和最大健康状况的实体),LightSource(可以发光的实体)和死亡(可以死或活的实体)。

这些组件彼此,因此可以以有趣的方式组合。例如,冒险者和都使用健康组件,但没有使用健康组件。没有额外的保护,它们是可怕的![/ p>

组件定义在哪里。

行为

行为是确定实体如何行为的代片段。这可以是任何东西,从AI到健康到零时的死亡逻辑;也就是说,你可以称之为“游戏逻辑”的任何东西。

在Abyssals中,和冒险者都使用了攻击组件。 associatedAttackerBehaviourlets实体接收攻击并向另一个实体发送损害的命令。 TheAttackedBehaviourentity将收到损坏信息并相应地改变其健康状况。事实上,和玩家几乎完全相同的代。唯一的区别是有一个AI控制它,它可以检测光源。

有一次,一只死的身体跟着我,这是超级令人毛骨悚然的。这个错误是人工智能没有听取他们的改变。

游戏逻辑在哪里。

游戏客户端

我在Unity上构建了客户端。大多数客户端代处理可视化模拟;例如,打开和关闭灯光,平滑改变物体的大小,绘制健康条,控制相机等等。客户端还会读取播放器输入并将模板发送到模拟中。

一些玩家在击落一只巨型后。

客户端代在哪里。

多人游戏默认情况下

玩家在任何方面都不是特别的;它们是实体,就像和火把一样。唯一的区别是他们从游戏客户端获取命令,从AI行为中获取命令。以这种方式制作游戏意味着默认情况下它可以是多人游戏。

世界上可能有数千个玩家和,但SpatialOS仅为玩家可以看到的实体发送每个客户端更新,并且仅发送与可视化相关的组件。例如,客户端获取的位置和旋转,但不是它们的AI状态,因为在模拟层中的逻辑工作器中运行的AI代使用它。

所有这些都发生在幕后。 Abyssals中没有网络代;它本质上是在我自己的机器上编为单人游戏,然后部署到云端,使其可以立即在互联网上播放。

游戏在云中运行后,您可以使用SpatialOS Web界面来管理它。您有日志,监控仪表板和警报以确保它是健康的。您可以使用世界查看器来检查游戏世界的内部状态:

世界观众

我想看看有多少玩家可以同时连接。我创建了一个僵尸客户端,它像Uni一样连接到游戏深渊世界

深渊是在一个玩家必须与黑暗作斗争才能生存的世界。艺术风格非常黑暗灵魂,因为团队中的艺术家喜欢这种外观,喜欢制作badass剑。那,或者他们只是想让我整天测试可怕的。

为什么?

光在游戏机制中扮演着重要角色。它允许冒险者看到他们的周围环境来探索和寻找宝藏。它位于世界的中心,安全而轻盈。在边缘处它是漆黑。这是冒险者将光线向外推进,黑暗生物向后推进的持续战斗。

创造球员和

Abyssals建立在SpatialOS上,使用Unity为游戏客户端和物理模拟。 SpatialOS不是游戏引擎,但它可以直接在其上构建在线游戏。

世界上的一切都是一个实体。这包括冒险者,,设备和环境对象。实体由组件构成,这些组件定义了实体的不同方面,以及描述这些组件在实体彼此交互时如何变化的行为。

组件和行为可以被许多不同的实体类型重用。例如,thespide和theadventurers几乎共享所有代; thetorchand thebonfireshare几乎所有他们的(除了篝火不能放入玩家的库存)。这减少了代,这对于只有一个游戏程序员来说尤其有用!

组件

我为Abyssals写的组件的一些例子是健康(具有当前和最大健康状况的实体),LightSource(可以发光的实体)和死亡(可以死或活的实体)。

这些组件彼此,因此可以以有趣的方式组合。例如,冒险者和都使用健康组件,但没有使用健康组件。没有额外的保护,它们是可怕的![/ p>

组件定义在哪里。

行为

行为是确定实体如何行为的代片段。这可以是任何东西,从AI到健康到零时的死亡逻辑;也就是说,你可以称之为“游戏逻辑”的任何东西。

在Abyssals中,和冒险者都使用了攻击组件。 associatedAttackerBehaviourlets实体接收攻击并向另一个实体发送损害的命令。 TheAttackedBehaviourentity将收到损坏信息并相应地改变其健康状况。事实上,和玩家几乎完全相同的代。唯一的区别是有一个AI控制它,它可以检测光源。

有一次,一只死的身体跟着我,这是超级令人毛骨悚然的。这个错误是人工智能没有听取他们的改变。

游戏逻辑在哪里。

游戏客户端

我在Unity上构建了客户端。大多数客户端代处理可视化模拟;例如,打开和关闭灯光,平滑改变物体的大小,绘制健康条,控制相机等等。客户端还会读取播放器输入并将模板发送到模拟中。

一些玩家在击落一只巨型后。

客户端代在哪里。

多人游戏默认情况下

玩家在任何方面都不是特别的;它们是实体,就像和火把一样。唯一的区别是他们从游戏客户端获取命令,从AI行为中获取命令。以这种方式制作游戏意味着默认情况下它可以是多人游戏。

世界上可能有数千个玩家和,但SpatialOS仅为玩家可以看到的实体发送每个客户端更新,并且仅发送与可视化相关的组件。例如,客户端获取的位置和旋转,但不是它们的AI状态,因为在模拟层中的逻辑工作器中运行的AI代使用它。

所有这些都发生在幕后。 Abyssals中没有网络代;它本质上是在我自己的机器上编为单人游戏,然后部署到云端,使其可以立即在互联网上播放。

游戏在云中运行后,您可以使用SpatialOS Web界面来管理它。您有日志,监控仪表板和警报以确保它是健康的。您可以使用世界查看器来检查游戏世界的内部状态:

世界观众

我想看看有多少玩家可以同时连接。我创建了一个僵尸客户端,它像Uni一样连接到游戏

相关内容