这是一种同时分享和展示的形式,因为我从来没有学习过编程,在这个游戏中,我认为自己取得了很多成就。

NTD使用Unity开发,
而虽然引擎为您提供了很多预设的东西,但是在很多方面,Unity又臃肿又难以使用。
即使给了您一个清洁的对象和场景系统以及大多数渲染组件和可扩展性,
在某些方面,它们仅仅是不够的,以下是几个例子,以及我如何解决了它们。

  1. 物体碰撞
    ____my 游戏是2D的,
    并且在任何地方都没有实际的物理计算,但它仍然需要碰撞检测。
    碰撞的痛点?
    a. 在大规模中,其Colliders- rigidbodies- 触发器的结合并不是为2D碰撞设计的,同时需要整个物理系统参与。
    很早就看到,当我有超过800个Kinematic碰撞体相互作用,我已经下降到每秒大于30帧:不可接受。

我的解决方案呢?
在整个游戏中,没有一个碰撞体开启,
使用作业系统来完成自定义碰撞,
这适用于Burst编译并允许您通过C#事件触发碰撞事件,而不是整个覆盖方法。
结果呢?
我可以有超过3000个对象都与彼此相互作用,同时游戏仍在一个低配电脑上运行。

  1. 光照
    ______ I 正在使用内置的渲染管线,
    因为我看到URP和着色图表的性能很好,
    但对于很多实例在规模上的情况,并且不太有效。
    同时,Unity 没有允许一个对象同时对超过8个光源产生影响,并且当一些大型物体,比如地图出现时,就会产生像buggy光的视觉效果。
    我的解决方案呢?
    计算着色光照。
    虽然它是比内置渲染管线稍微复杂一些,但是它使我能够控制如何照亮对象,并且能使像素化的光源有所呈现。

而且我还设想中更进一步,
我想让所有单位运动都转换到一个集中的系统,
移动掉基于类的损伤和其他效果,
甚至可能使用某种节奏让整个游戏都能够按照节奏进行。
不知道你的想法如何?