Devlog:价格合适…

因此,在美国版的《 The Price is Right》中,一些幸运的人带着Lumo的副本(还有《神秘海域》和《捉鬼敢死队》)和闪亮的PS4走开了。 至少可以说这是一个惊喜。

我已经有一段时间没有考虑过游戏了,但是Lumo本周出现了三遍:一次在Edge发行,我正在阅读,一次在PC Gamer播客中,现在是。 一年了-它于5月24日发布,非常快乐的1岁生日,小游戏! -我仍然对此感到惊讶。

下一场比赛

上一次我写信时,我做出了一个相当大胆的决定:将我的大部分代码进行分箱,并从一个干净的项目开始重新构建网络,从头开始。 在过去的几周中,我一直沿着那条路走,并排除了一些例外情况-移动平台,触发衍生工具和一些前端UI-我已经过去了“大清洗”之前的状态。

在大多数情况下,虚幻的RPC和复制系统实际上非常简单。 现在,我可以正常运行了,我认为我对此有一个很好的理解,但是文档肯定可以改进。 ShooterGame对Grok来说相当老。

我最终将事情安排如下:

游戏模式

这主要用于处理玩家在游戏会话中的登录和退出,以及跟踪在任何给定时间将玩家分配到哪个团队以及可用的生成点。 初始生成(和重新生成)也在这里进行处理,以及“开始”游戏并将该事实传递给游戏状态 追踪。 我尚未完成atm的工作,但必须回到过去,正在处理游戏的干净退出并返回主菜单。

哦,正在接受正在运行的游戏的邀请,但这可能是另一个地区的问题……

我正在处理地图之间的旅行,因为游戏默认是从一个空的开始,然后在主机按下按钮时将所有人跳到我的测试级别。 在检测最终游戏逻辑时,这应该“行之有效”,但是我们会看到的。

游戏状态

除了跟踪游戏是否正在运行,并告诉HUD(如果需要)在Lobby和游戏内演示之间进行切换之外,这几乎没有做。 对于合作游戏,它将跟踪所有内容,从收集的拾音器和机密数量到玩家获得分数的方式和原因。 在清除之前,我已经编写了这段代码

玩家状态

这是我第三次尝试在UE4中构建玩家角色,这不是在角色和玩家状态之间分割健康和得分之类的东西,而是选择放置与移动,渲染和音频无关的所有内容进入玩家状态。 对玩家状态值的所有更改都在服务器上发生并复制出来。 所有信息请求; “我可以换成这种武器吗?”,“我可以拿起这件东西”等都是服务器权威。

因此,客户端播放器的HUD更新会有所滞后,例如在受到损害时,因为新值可能需要一段时间才能传播,但是有趣的是,所有与控制相关的东西都是即时的。 我猜这是内部优化UE4网络的方式。 我需要研究HUD问题,但是我猜测可以在本地镜像值,对它们进行非权威性更新,并在出现值时用复制的值覆盖。 我怀疑玩家会关心还是注意到。

播放器控制器

目前,我尚未对默认播放器控制器进行任何自定义。

玩家角色

迄今为止,重新编写这是最大的胜利。 与以前相比,它的代码明显更少,并且我正在复制的内容以更加简洁的方式完成。

重要的控制内容(例如发射/更换武器)是服务器权威,并且具有播放声音提示或击打效果之类的多播功能。 在现实世界中,这会不会很落后? 我不确定,但是我读过的所有内容都指出这是正常的工作方式,并且在测试环境中绝对可以。

我仍然需要放回损坏豆之类的东西,但这是五分钟的工作……

其他的东西

因为我已经联网,所以我能够花几天时间进行武器,装甲和伤害计算。 我最终创建了自定义的损害类型,并通过普通的UE4损害系统进行传递。 这些非常方便,这意味着我可以检测出使用了什么武器,开了什么武器,甚至可以缩小伤害,例如我自己的火箭弹跳。 或者,因为玩家在乘数上,所以扩大规模……

显然,这打开了整个平衡蠕虫,因此,到目前为止,我通过混合使用《毁灭战士2》和《雷神之锤1》中的武器伤害值来避开它。

我的双管shot弹枪真是致命。 您不想在黑暗的走廊中遇到这个问题。

装甲一直很有趣,不仅是如何扩大损害程度,而且如何在吸收和立即扣除健康费用之间分配百分比。 我已经知道我将上下移动此控制杆直到释放…

这几天令人不快,又开始了,但这是正确的选择。 使用一堆现有代码进行网络连接,而您在重建工作时需要以多种方式进行破坏,这绝对是错误的方法。 因此,即使我当前的构建版本没有很好的前端,并且我的测试级别只是一堆甚至没有导入的未使用的FBX文件,但我仍为以后的所有工作奠定了基础:网络化的pvp环境我可以升到任何水平。

接下来,为这个家伙动画,然后探索如何针对合作伙伴进行AI。