大家好!这是我第一款打算在PC上制作的电子游戏。之前,我只制作了手机游戏。我非常喜欢电子游戏 Boomerang Fu,并想知道自己能不能制作一款类似的游戏,但有更多的物理学交互功能。 最初,我只是想测试一下自己的本领,但是现在我正在尝试将其打造成一款支持4名玩家的全能游戏-party game。

所以,我脑子里只有一条想法就是制作一款4名玩家游戏,并利用Boomerang Fu的图像做参考。

  • 第一件事就是在人物身上添加一个像橡皮筋一样的感觉。就像Rubber Bandits那样。当时我只用使用Spring Joint 和 Mixamo中的标准骨骼就可以实现了。 只要复制一下头部或颈部骨头,解除骨骼的层级结构就可以了。 结果,骨骼会单独地独立行进,而头部会跟随骨骼。 这样就实现了一个有趣的“橡皮筋”效果。
  • 完成了一个人物后,我决定给它们一个 boomerang。开始时,它们会像一般的 boomerang那样弯行。 但是,在游戏时,我意识到打中目标是感觉更好的。它应该直线地飞过去。最初,我使用转变功能将其移到了弯曲的路径上,但后来我决定使用Rigidbody的移动。这样可以实现更准确的碰撞检测。
  • 接下来我遇到的挑战就是新的输入系统了。我初次尝试之前从未接触过它,我仍然不太理解如何使用这些映射功能。 至少有个好处是,用它们把它们分成“菜单”和“游戏”动作。
  • “菜单”部分似乎是最难的部分了。可能使用它有现成的资产,可以将游戏杆的便捷导航和好看的视觉效果提供出来。但是我还是自己写了整个系统。 它支持使用sticks、键盘和鼠标的导航界面。尽管花了很多时间,但我真正希望能够重新做掉它。
  • 订阅和取消订阅事件也是痛苦的。由于某些原因,Player Input事件在切换场景时没有脱订之时不会导致问题。虽然我之前订阅了,但事后我发现我仍有未解决的问题。即使我在对象被销毁之前取消了订阅,但我直到后来我重新设想整个输入结构是。
  • 设备重新连接也是花了很多精力的事情。一下子看起来几乎都是开箱即用,但事实并非如此。
  • AI 人物可能是最令人愉快的部分了。由于游戏开发不是我的主流工作,我就是一个Unity的经验丰富的艺术家,就选择了一个现成的寻径资产。在此基础上我又写了多个coroutine来改变AI目标(或目的地)。我还根据难度添加了各种行为模式。
  • 项目结构:我从来就不太了解怎么做到正确了。所有的编程教程、SOLID 的原则等等都没有出现在我的项目中。由于我的游戏有很多模式,所以我难以将它分解为一个个的bot和state。结果我有个 3000 行代码的大神。 * 网络多人模式:由于这是我做的第一次游戏,这些代码是混乱的。此外,添加多人模式基本上是不可能的。我这款游戏是自己为了充电,为了找出我还知道些什么。至少现在我理解应该如何重写它了,可能有朝一日将整个项目重写一遍。
  • 玩家指标:例如,玩家周围的圆环,以及玩家的血量和瞄准器等等。在此过程中,我发现了一个新东西:渲染特性。 因为我想实现一种效果:只有NPC的模型对他有遮挡时才会显示一个圆环。即使玩家躲在墙背后,圆也仍然可见。这就像在 3D 对象上排序一样。
  • 弹弓:由于我找不到这款游戏的现成资源,所以我想要实现弹弓水流的弯曲效果和惯性。例如,玩家旋转时弹弓水会形成螺旋形。还有,流道出现碰撞时会断裂。
    如果你有疑问,我非常乐意解答或者和你分享经验。特别是如果你正在制作类似的内容。