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

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没有半毛钱关系。(众笑) 这次分享的一些技术,是用来降低不停增长的...

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-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脚本系统,这也是今...
2020-02-01
C#篇:剖析c#中的异步方法
本文翻译自 https://blogs.msdn.microsoft.com/seteplia/2017/11/30/dissecting-the-async-methods-in-c/ 前言 c#语言对于开发人员的工作效率非常好,我很高兴最近的努力使它更适合于高性能应用程序。 下面是一个例子:C#5引入了“async”方法。从用户的角度来看,该特性非常有用,因为它有助于将几个基于任务的操作组合成一个操作。但是这种抽象是有代价的。任务是引用类型,在创建它们的任何地方都会导致堆分配,即使在“async”方法同步完成的情况下也是如此。使用C#7,异步方法可以返回类似于任务的类型,比如ValueTask,以减少堆分配的数量,或者在某些场景中完全避免它们。 为了理解所有这些是如何实现的,我们需要深入了解异步方法是如何实现的。 历史回顾 但首先,让我们回顾一下历史。 类Task和Task<T>是在.Net 4.0中引入的,在我看来,在.Net中的异步和并行编程领域发生了巨大的思想转变。与以前的异步模式(如.Net 1.0中的BeginXXX/EndXXX模式,也称为“异步编程模...

2021-02-04
Unity DOTS:Systems部分
Systems 一个system,也就是ECS里的S,提供了将component的数据从其当前状态变换到其下一个状态的逻辑-例如,一个system可以通过velocity乘以Time.deltaime来更新所有可移动entities的位置。 Instantiating systems Unity ECS自动在您的项目中发现system类型,并在运行时实例化它们。它将每个发现的system添加到默认system groups之一中。您可以使用system attributes来指定system的父组以及该system在该group中的顺序。如果未指定父项,则Unity将以确定性的,但并未指定顺序的将system添加到默认世界的Simulation system group中。您也可以使用attribute禁用自动创建。 system的更新循环由其父ComponentSystemGroup驱动。ComponentSystemGroup本身是一种特殊的system,负责更新其child systems。group可以嵌套。system从运行的world获取time数据;time由Up...
评论

