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