本文章已于2022.2.1更新,新增了每个视频的内容大纲所对应的时间点内容,以及个人对视频片段简单的内容概括
《守望先锋》2017 GDC系列的分享前几年给了我很多帮助,尤其是kevinan大神的翻译更让我受益良多,如今我再想温习一下相关技术却发现很多网络上的文章图片都已经坏掉了,故在此收集网络资源发布重置版,当成备份。
重制版内容:新增多级标题,方便分块阅读,部分图片已由本人重置,上传了武器和技能系统PDF,一些必要的地方我录制了Gif图,方便观看。
《守望先锋》GDC 2017技术分享视频内容大纲
《守望先锋》架构设计和网络同步
原视频链接
《守望先锋》回放技术-阵亡镜头、全场最佳和亮眼表现
原视频链接
《守望先锋》网络脚本化的武器和技能系统
原视频链接
文章作者: 烟雨迷离半世殇
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 登峰造极者,殊途亦同归。!
相关推荐

2022-02-01
《守望先锋》GDC 2017技术分享视频内容大纲
前言 最近开坑了一个状态帧同步战斗系统视频教程,总共有5个视频 其中第一个和最后一个都好说,我自己乱吹就可以了,但是中间三个重量级比较难处理,我的计划是实时录制原GDC视频 + 分享自己的理解和思路,原视频的平均时长都在一个小时左右,如果直接莽上去很有可能在讲解的时候思路断掉,所以我需要针对他们梳理出一个大纲来理清楚讲解思路,顺带方便大家自己在学习守望先锋GDC视频的时候有针对性的去了解自己需要了解的部分。 《守望先锋》架构设计和网络同步 原视频链接 视频内容大纲 00 : 00 - 1 : 00 :守望先锋游戏与开发团队介绍 1 : 00 - 7 : 15:ECS概念介绍与守望先锋中使用ECS的示例 7 : 15 - 8 : 07:ECS VS OOP,核心问题还是庞大工程中引用和解耦问题。传统OOP中,抛开常知的继承炼狱问题不谈,一个类既是数据又是逻辑,那么当一个类会与多个不同的类进行交互的时候,就会面对如何拆解数据和逻辑提供给相对应的类的问题,如果选择不拆,那么就需要面对越来越庞大的类,如果拆了,那么一些只有其他类才需要用到的数据和逻辑就应当被其他类在Update或者其...

2021-02-25
《守望先锋》架构设计和网络同步
前言 《守望先锋》2017 GDC系列的分享前几年给了我很多帮助,尤其是kevinan大神的翻译更让我受益良多,如今我再想温习一下相关技术却发现很多网络上的文章图片都已经坏掉了,故在此收集网络资源发布重置版,当成备份。 重制版内容:新增多级标题,方便分块阅读,部分图片已由本人重置,一些必要的地方我录制了Gif图,方便观看。 全系列链接:《守望先锋》GDC2017技术分享精粹重制版总目录 原视频链接:https://www.youtube.com/watch?v=W3aieHjyNvw&t=2886s&ab_channel=GDC ECS ECS概述 哈喽,大家好,这次的分享是关于《守望先锋》(译注:下文统一简称为Overwatch)游戏架构设计和网络部分。老规矩,手机调成静音;离开时记得填写调查问卷;换下半藏,赶紧推车!(众笑) 我是Tim Ford,是暴雪公司Overwatch开发团队老大。自从2013年夏季项目启动以来就在这个团队了。在那之前,我在《Titan》项目组,不过这次分享跟Titan没有半毛钱关系。(众笑) 这次分享的一些技术,是用来降低不停增长的...

2021-02-24
《守望先锋》回放技术-阵亡镜头、全场最佳和亮眼表现
前言 《守望先锋》2017 GDC系列的分享前几年给了我很多帮助,尤其是kevinan大神的翻译更让我受益良多,如今我再想温习一下相关技术却发现很多网络上的文章图片都已经坏掉了,故在此收集网络资源发布重置版,当成备份。 重制版内容:新增多级标题,方便分块阅读,部分图片已由本人重置,一些必要的地方我录制了Gif图,方便观看。 全系列链接:《守望先锋》GDC2017技术分享精粹重制版总目录 原视频链接:https://www.youtube.com/watch?v=W4oZq4tn57w&ab_channel=GDC 设计目标 那么回放系统的概要设计(high level design)目标是什么呢? 这次分享的标题就预示着必须给出答案,对吧?概要需求是创建一个单一的中央系统,能够支持阵亡镜头、全场最佳和亮眼表现,除此之外我们还特别需要能够生成录像文件,在开发期间可以用来做内部调试。 下面开始深入介绍每个议题。 每次玩家死亡时,游戏里就会显示临死前几秒钟的――大部分情况是以凶手(killer)视角来看的――死因及死亡过程。阵亡镜头可以帮助玩家理解他们是怎么死的,以及为什么...

2021-02-25
《守望先锋》网络脚本化的武器和技能系统
前言 《守望先锋》2017 GDC系列的分享前几年给了我很多帮助,尤其是kevinan大神的翻译更让我受益良多,如今我再想温习一下相关技术却发现很多网络上的文章图片都已经坏掉了,故在此收集网络资源发布重置版,当成备份。 重制版内容:新增多级标题,方便分块阅读,部分图片已由本人重置,一些必要的地方我录制了Gif图,方便观看。 全系列链接:《守望先锋》GDC2017技术分享精粹重制版总目录 原PDF链接:本文部分图片如果想查看高清大图,可前往 《守望先锋》中网络脚本化的武器和技能系统 PDF 下载PDF 原视频链接:https://www.youtube.com/watch?v=ScyZjcjTlA4&ab_channel=GDC 嗨,大家好,我叫 Dan Reed, 是暴雪娱乐的游戏工程师(gameplay engineer,译注:游戏机制工程师,或者游戏工程师,都可以),今天主要跟大家分享《守望先锋》(后面统一用Overwatch表示)中的网络脚本化的武器和技能系统。 那么这里先简单介绍下我在Overwatch中的主要工作。 Statescript脚本系统,这也是今...

2023-03-26
ProjectS中的AI转向系统(Context Steering)
前言 前阵子在处理ProjectS中的AI行为时,发现怪物AI规划出的行为很容易造成怪物重叠,这归根到底是个动态避障问题,而当前游戏AI有以下几种常见动态避障算法: VO : 提出速度域的概念,Velocity Obstacle 就是VO的由来。通过相对位置,并从自身出发考虑一个安全的移动方向,即避开VO区域(速度危险区)。但在移动过程中会出现抖动。原因就是反复计算安全区,当第一次避开危险区到达安全区之后,发现最佳移动方向(不一定安全,一般指朝向目标点方向)可能不再危险,就将移动方向转回来,结果发现其他寻路对象也这么考虑,也将移动方向转回来,所以第三次就又将方向转向其他方向。由此引发了移动时的方向抖动 RVO: 在VO的基础上,每次转动方向时,只转动计算出来的变化量的一半。从数学计算角度去减少出错(抖动)概率 RVO2/ORCA: VO与RVO都是在空间计算上来规划一个安全区域,而RVO2则是将其转化成了一个线性规划的问题(即用一个个平面将自己与需要考虑的对象的安全区域分割开来再采取一个共面区域,这个区域就是安全区) 对于这三种算法的详细解析,可参见:GameAIPro3_C...

2021-02-04
Unity DOTS:Entities部分
Entities Entities是实体组件系统体系结构的三个主要元素之一。它们代表游戏或应用程序中的各个“事物”。Entities既没有行为也没有数据;取而代之的是,它担任索引各种数据的职责。Systems提供行为,而Components存储数据。 entity本质上是一个ID。最简单方法是把它作为一个超轻量级GameObject甚至没有名称。实体ID稳定;您可以使用它们来存储对另一个component或entities的引用。例如,Hierarchy中的子entity可能需要引用其父entity。 一个EntityManager管理在一个World中所有的entities。EntityManager维护entities列表并组织与entities相关联的数据以实现最佳性能。 尽管实体没有类型,但是可以按与entities相关联的components的类型对其进行分组。创建entities并向其添加components时,EntityManager会持续跟踪监控entities上components的唯一组合。这种独特的组合称为Archetype(原型)。将components...
评论

