使用 Unity3D 引擎的高级网络 API (HLAPI) 似乎是一种孤注一掷的方法。对于任何希望在多人游戏中使用的游戏对象,(大多数)行为都需要实现为NetworkBehaviour
s,并且需要网络组件。此外,所有场景都需要网络管理器。我宁愿没有所有单人资产的重复网络启用版本,而且似乎预期的做法是将单人游戏实现为仅具有单个(本地主机)的基于 LAN 主机的网络游戏客户。
我担心的是,在单人模式中,HLAPI 的东西绝对会导致大量开销,这是游戏的主要焦点。这是一个有效的担忧吗?
我考虑了几种缓解技术,但它们在可维护性和代码复杂性方面提出了自己的问题:
- 两种模式所需的预制件将被复制(违反 DRY:对一个预制件的更改需要手动镜像到另一个)
- 用多人游戏动态修改或替换单人游戏资产,反之亦然(复杂且可能容易出错)
有哪些更好的缓解技术?或者他们甚至需要?