【译】GDC 讲座系列之三 守望先锋的游戏架构和网络代码

作者:青铜的幻想
2019-08-31
4 2 0

视频

这一次翻译的内容是关于守望先锋所采用的 ECS 开发框架。因为目前 ECS 已经有了很高的关注度,所以这里就略去对它的介绍了。

以下所列出的这几个介绍 ECS 的链接,可以不严格的把它们看做是按由浅入深的顺序排列。

下面是视频地址,因为这次讲座的内容涉及到很多程序方面比较专业的术语,后面附录列出了其中一些词汇的翻译和注解。

附录

ECS (entity-component-system) 实体-组件-系统

gameplay 游戏玩法、游戏性

Components have no functions and systems have no fields 组件没有函数,而系统没有成员变量
Components have no behaviors and systems have no states 组件没有行为,而系统没有状态
(这两句话的意思是一样的)

tuple of components 组件元组(某个系统所需要访问的特定组件集合)

transform 位移(包含物体的旋转平移缩放)

contact 触碰(接触、碰撞)

side effect 副作用(调用函数后对对象内部成员或全局变量的改动)

pure function 纯函数(没有副作用的函数)

AFK (away from keyboard) 挂机

iterator 迭代器(用于遍历某个容器内的所有元素)

singleton 单例(仅有一个实例的类)

hostility 敌对关系

projectile 炮弹(抛射物)

simulate 模拟

predict 预测(预测的含义实际上是指在客户端进行模拟,但因为最终的结果是以服务器端为准,所以在客户端所进行的这些模拟运算只能算是一种预测。)

defer/deferment 延迟

impact effect 冲击特效

Z fighting 深度冲突(当渲染具有相同深度的两个面片时,由于计算误差两个面片会各自有一些部分被渲染出来,造成非常难看的显示结果)

LOD - Level of Detail 多层次细节

RTT - Round-Trip Time 往返时延(指消息从客户端传递到服务器端,在服务器端处理后再返回客户端,一共所用的时间)

ring buffer 环状缓存

rewind/replay 回滚/重放(将模拟跳回到过去某一时刻/从过去某一时刻重新模拟直到当前时刻)

hit registration 击中判定