本文主要为大家推荐UWA学堂中开发流程的相关课程,涵盖了Programming、Artists、TA、QA和运营等五个子类。
在UWA学堂界面中的“分类“选择开发流程即可查看相关课程。
无论对于从业者还是正在读大学的技术萌新,学习的有效时间和个人时间都是有限的。高效学习者最在意的是时间的价值,一个需要体系化的知识地图就显得尤为重要。
零基础
Programming
《游戏开发中的优化思维》
文章主要介绍在开发中,一些具有共性的调优步骤,以及能够给游戏“追求更好”这种目标带来帮助的一种量化思维视角,分为以下三个部分:
- 提出游戏开发过程是可优化的观点。
- 基于优化过程的共性提出“SDT”优化模型,并从3个角度6个示例进行阐述: (a)优化补充:流程和性能。 (b)优化拓展:交互和表现。 (c)优化发散:沟通和学习。
- 初心者手册,从GamePlay视角寻找游戏开发的初衷,最后用一个小故事来呼应主题。
本文讨论的是GamePlay开发中面对一些需要改善的问题时所做的思考,选例具有一定针对性,无Demo示例,请知悉。
《一名应聘者的自我修养》
从如何选岗位写简历到笔试面试拿Offer,作者把近年来的求职经验进行了非常详细、全面的梳理和总结。该视频课程非常系统,覆盖了求职过程中的全部流程,以及需要注意的方方面面。
该课程既适合在校的求职小白,也适合对大厂求职流程不熟悉的职场人士。通过该课程,你可以掌握简历撰写技巧,了解互联网大厂的面试难度与常见问题,面对HR谈薪资也能做到应对自如。
Artists
《漫谈HDR和色彩管理》
从2016年以来,各大游戏厂商陆续开始在游戏里支持HDR显示。从早期的声名狼藉系列到使用UE4开发的《战争机器5》,目前市场上3A游戏对HDR显示的支持基本已经是标配。
本课程从什么是色彩空间和色度图谈起,介绍了常见的SDR和HDR颜色空间标准,以及ACES色彩管理的基本流程,最后介绍UE4引擎是如何集成ACES和HDR显示到其相关的渲染管线中,从而让读者能够真正理解HDR显示的必要性,以及更加深刻地了解如何在引擎里实现一套基本的色彩管理和HDR显示流水线。
课程内容概括如下:
第1节:介绍什么是光和颜色,什么是CIE 1931 RGB/XYZ颜色空间,如何看懂色度图等。
第2节:介绍颜色空间的完整定义,列举常见的颜色空间标准及其定义。
第3节:为学习HDR和ACES做铺垫,以我们最为熟悉的sRGB色彩空间为例,回顾和学习之前提到的各种知识点是如何在SDR这条流水线里运作的。
第4节:从SDR色彩空间的缺陷引出HDR色彩空间的必要性,列举了常见的HDR颜色标准;介绍ACES的相关定义及其基本的色彩管理流程。
第5节:回归初心,介绍现有游戏和UE4引擎对HDR显示流水线的相关实现。
TA
《漫谈HDR和色彩管理》
从2016年以来,各大游戏厂商陆续开始在游戏里支持HDR显示。从早期的声名狼藉系列到使用UE4开发的《战争机器5》,目前市场上3A游戏对HDR显示的支持基本已经是标配。
本课程从什么是色彩空间和色度图谈起,介绍了常见的SDR和HDR颜色空间标准,以及ACES色彩管理的基本流程,最后介绍UE4引擎是如何集成ACES和HDR显示到其相关的渲染管线中,从而让读者能够真正理解HDR显示的必要性,以及更加深刻地了解如何在引擎里实现一套基本的色彩管理和HDR显示流水线。
课程内容概括如下:
第1节:介绍什么是光和颜色,什么是CIE 1931 RGB/XYZ颜色空间,如何看懂色度图等。
第2节:介绍颜色空间的完整定义,列举常见的颜色空间标准及其定义。
第3节:为学习HDR和ACES做铺垫,以我们最为熟悉的sRGB色彩空间为例,回顾和学习之前提到的各种知识点是如何在SDR这条流水线里运作的。
第4节:从SDR色彩空间的缺陷引出HDR色彩空间的必要性,列举了常见的HDR颜色标准;介绍ACES的相关定义及其基本的色彩管理流程。
第5节:回归初心,介绍现有游戏和UE4引擎对HDR显示流水线的相关实现。
QA
《UWA Pipeline的使用与自动化流水线的搭建详解》
本课程对UWA Pipeline的使用与实践进行了详细的介绍,基础部分内容如下:
- UWA DevOps体系与相关概念的介绍;
- UWA Pipeline的安装、流水线的编排与使用;
- 私有云真机的手动操作与自动化测试;
- GOT Online、本地资源检测、真人真机测试等性能保障产品的自动化接入。
在进阶部分还介绍了环境变量、参数化构建、定时自动构建等功能的用法,分享了SDK的自动集成、通知功能的搭建等实践应用经验。
通过该课程,研发团队将掌握如何搭建UWA Pipeline、如何将UWA Pipeline与UWA性能保障体系相结合,并利用自动化流水线打造属于自己的工业化流程,从而大幅提升自身项目的研发生产力。
《Python变量作用域》
本节课程节选自《游戏自动化测试开发入门》,主要针对Python变量作用域进行讲解。
《游戏自动化测试开发入门》课程背景:Airtest一直是游戏自动化测试中的重要工具,本课程通过项目实战讲解Airtest及相关的语言和工具,从而全方位了解Airtest的特性以及自动化测试的思路。
《自动化测试从入门到精通》
Airtest是由网易游戏质量保障中心自主研发的一套基于UI层的所见即所得的自动化测试框架,同时支持安卓、iOS、桌面应用、网页应用和小程序等。
本课程期望帮助刚开始学习自动化测试的工程师、对自动化测试感兴趣的职场新人和Airtest新用户快速掌握自动化测试的学习路径,以及掌握Airtest自动化测试。
运营
《R语言游戏数据分析与挖掘》
本课程为机械工业出版社出版的图书《R语言游戏数据分析与挖掘》的电子版。
本书从实际应用出发,结合实例及应用场景,通过对大量案例进行详细阐述和深入分析,进而指导读者在实际工作中通过R语言对游戏数据进行分析和挖掘。这是一本关于数据分析实战的书籍,里面的知识、方法、理论是可以直接应用到整个互联网的。
《8种用户流失原因分析法》
作为一名分析师,如何构建自己的分析体系,让自己的数据分析结果成为可以切实推动业务发展的驱动力?本文介绍了8种流失分析方法。分别介绍了数据分析的价值、数据分析的流程、数据驱动业务的流程、核心数据指标、常用数据指标、通过相关因素拆解来做数据分析、主要的分析框架及方法等。
每款游戏都有用户流失的情况,只是多与少的区别,然而一般情况下我们只能看到结果,如果能定位到原因,就会有办法调整。流失分析最大的作用是找到流失用户的特征,为游戏的改进提供依据。作者通过10多年跟进游戏项目的经验,总结了以下8种流失原因分析方法:
(1)5W1H法
(2)问卷调查法
(3)电话回访法
(4)流失和留存用户对比法
(5)流失前最后一次游戏行为法
(6)排除法
(7)版本消化情况分析法
(8)文本挖掘法
以上8种方法,基本上能分析出80%以上的用户流失原因。本课程属于基础课程,适合对数据分析有兴趣的读者。
《如何构建数据分析体系》
文章主要介绍了作为一名分析师,如何构建自己的分析体系,让自己的数据分析结果,成为可以切实推动业务发展的驱动力。分别介绍了数据分析的价值、数据分析的流程、数据驱动业务的流程、核心数据指标、常用数据指标、通过相关因素拆解来做数据分析、主要的分析框架及方法等。
本课程属于基础课程,适合对数据分析有兴趣的读者。
《游戏行业的突出法律问题及风险防控》
中国的游戏行业已经进入高速发展的快车道,在面对更多机遇的同时,也面临着各种各样的挑战,本次报告将结合实务案例,就游戏行业突出的刑事风险、民事纠纷、商业秘密保护这三个方面的突出问题进行深入浅出的解析,旨在为游戏产业行业更健康地发展提供有价值的建议。主要内容包括:游戏行业高发的刑事案件和民事案例列举和解析,以及如何有效地进行商业秘密的保护等。
初阶
Programming
《ET框架 - C#全栈式网络游戏开发框架》
由于ET框架本身是一个设计思路比较新颖的架构。在没有ECS组件式开发思想与服务器开发经验的情况下,大多数初学者与客户端开发人员会在初次接触ET框架时,会因为缺乏网络编程通识和其自身固有的面向对象开发习惯,从而被劝退或者编写出极其“不规范”的ET框架业务代码。那么本门课程,会围绕ET框架的原理与设计思路为中心,通过小案例的形式,帮助读者梳理ET框架的设计思路与开发思想,从而进一步的学会和掌握ET框架的基本使用,并带领读者掌握和熟悉使用ET框架进行游戏前后端全栈式开发的基本流程。
《虚幻引擎源码解析——基础容器篇》
文章主要介绍了虚幻引擎的基础容器的内部数据结构和实现原理,以及在实践中的应用,性能优化等方面。包括:TArray、TSparseArray、TSet、TMap等基础容器,TQueue、TTripleBuffer、TLockFreeList等多线程容器,以及 TSharedPtr、TWeakObjectPtr等智能指针。
除了基本原理外,文中还分享了作者对这些容器在实际项目中的使用经验,以及针对手游提升性能而做出的各种修改和优化的手段。
《给时间以效率》
每个人拥有的时间是相同的,但是工作效率的不同在某种程度上影响着人生的走向。如何使用尽可能少的时间高质量地完成尽量多的事情,是很多学者研究的课题。本文从作者的切身实践出发,分为精神、方法论、工具、精力管理和杂项五个部分,一共包含了18个提高工作效率的Tips。这些Tips中有些是作者正在使用的,有些是作者曾经尝试过但未能坚持下来的,但都从个人体验的角度进行描述和分析,以期给读者带来一些新的工具和思考。同时也期望有更多的人来关注和分享工作效率这一主题相关的内容,让更多的读者从中受益。
QA
《游戏自动化测试开发入门》
Airtest一直是游戏自动化测试中的重要工具,本课程通过项目实战讲解Airtest及相关的语言和工具,从而全方位了解Airtest的特性以及自动化测试的思路。
课程主要分了以下三个部分:
1)ADB讲解:介绍了ADB常用场景、使用基础,以及ADB如何为日常测试工作提供助力;
2)Python基础:介绍了Python语法,帮助大家建立编程思维,更好地理解业务逻辑;
3)Airtest应用:帮助大家掌握Airtest的使用和工作原理,为项目制作高质量自动化测试脚本。
《Linux三剑客与Airtest的应用》
通过课程,读者可以获得日志操作的能力,并掌握Airtest测试框架基础应用。具体将讲解grep、awk、sed对日志的操作以及Airtest提供的图形识别与Poco模式的基础功能。(关于“assert_exists() 接口使用特殊的 ST.THRESHOLD_STRICT 值作为找图阈值的设定”问题,Airtest已经在最新版本里修复。)
课程大纲:
- grep,awk,sed讲解
- grep,awk,sed的实战应用
- Airtest游戏自动化测试
- Airtest的图形识别Poco模式的基础功能讲解
《如何快速搭建游戏自动化测试》
目前,自动化测试需求已经被越来越多的游戏开发团队所重视。一方面自动化测试可以让研发团队及时发现潜在问题,将大部分问题及时扼杀在摇篮里,另一方面,则是将繁复的检测工作进行自动化处理,可以进一步提升工作效率,降低研发成本。所以,本文我们从自身的工作出发,总结了在自动化测试开发过程中所遇到的重要问题。内容主要包括:从游戏版本在Jenkins上的自动构建到Python测试框架优化,再到自动化测试在游戏中的运用,最后探讨在游戏研发中发挥自动化性能测试的作用。通过讲解以上各部分的搭建,希望可以让大家更深入地理解游戏自动化测试体系。本文中所讲解的多数搭建过程都可以利用开源项目来完成,例如:Unittest、WDA、GAutomator和TCloud等。同时,也可以参考我们的定制思路,根据自身游戏项目的特点进行开发和定制。
本门课程属于基础课程,特别适合于游戏团队的测试开发人员阅读,同时需要具备少量的项目工程搭建以及二次开发能力,例如使用Python、C#、 JavaScript等。希望对大家项目中的自动化测试框架的设计和搭建能有所帮助。
《Jenkinsfile基础与UWA本地资源检测组件接入实战》
本课程针对参数化构建、节点、环境变量等来介绍Jenkinsfile的编排,详细讲解了string、bool、choice等常见的4种参数的参数化构建方法,变量的定义与引用以及post语句块中经常会使用到的构建状态指令,抛开原来Freestyle project的使用模式,改用Pipeline来替代,满足更复杂工作的需求,并且使整体流程更灵活,更易维护。
结合UWA的“本地资源检测”业务进行实战,使用Jenkinsfile从本地资源检测组件的接入到上传测试结果,完成整个UWA本地资源检测业务的流程编排,在实际使用过程中感受Jenkinsfile的魅力。
PS:本课程的第六章节Jenkinsfile结合UWA本地资源检测组件实战,如已掌握前五节课内容的开发者,可直接移步至第六章节。
《Jenkins自动化打包详解》
文章主要介绍了利用Jenkins实现Unity的自动化打包发布,主要从以下几个方面展开介绍:
1、什么是Jenkins,为什么要用它
维基百科是这样定义的,Jenkins是一款由Java编写的开源的持续集成工具,在我的理解就是自动化开发的一个脚手架。Jenkins应用于互联网开发的方方面面,不仅仅局限于本文主要讲的游戏自动化发布,据我了解它用于互联网开发发布、移动开发发布、运维相关等等,是一个非常实用的工具,几乎成了IT公司的标配,注意这里没有局限公司的规模和行业,这说明Jenkins的实用性足以让我们没有任何理由不去了解和使用它。
2、如何配置Jenkins和打包
本文讲解了Windows、Mac配置Jenkins,以及配置过程中要注意的地方,介绍了打包Windows、Android、iOS等客户端以及在此过程中会碰到的困难和解决方案。
3、Jenkins打包流程优化
我们不能仅仅满足于自动化打包功能的实现,还要深究如何更好地利用它,让自动化做到极致,做到发布的全过程不需要人工参与,这就好比我们早晨一觉醒来,一睁开眼,就有了香喷喷的早餐送到我们嘴边来,这是多么幸福的一件事。
《轻量级流水线结合方案助力打造高品质游戏》
在游戏版本高速迭代的今天,性能优化一直是一个很重要的命题,但是大部分团队面对日益繁重的研发压力,通常会把所有的性能优化环节放在最后,因此不得不面对优化成本大幅增加、开发周期大幅变长的问题。对此,我们提供了一种轻量级的流水线结合解决方案来解决这一问题。当我们把相关的性能检测由手动过渡到自动,把大量的优化工作前置到平时进行处理,把开发周期的末端节点的性能优化转变成开发过程中的性能保障,那么这一切都将迎刃而解。
整体的结构是由若干组件构成的,与CI工具进行结合,既可以视其为一条完整的工具链,也可以视其为一条完整的CI流水线,从代码检出到接入需要的工具进行检测、打包、检测结果的展示等一系列的流程。易于接入同时又以极低的维护成本穿插在整个项目开发周期之中。通过对项目的各种资源、场景、全局设置以及代码层面等等的维度进行全方位的检测,旨在有效地解放生产力,让研发更专注于功能和框架,让QA更专注于质量,为项目提供更智能、更简洁和更高效地护航。
进阶
Programming
《Unity3D高级编程:主程手记》
本课程为机械工业出版社出版的图书《Unity3D高级编程:主程手记》的电子版。
本书共10章,每章都是一个独立的知识领域,读者可以按照章节顺序阅读本书,也可以根据喜好挑选自己感兴趣的章节学习。如果你是一名经验丰富的程序员,能够理解游戏编程的相关基础知识,那么你可以直接阅读你感兴趣的章节。如果你是一名初学者,建议尽量从第1章开始学习。
第1章讲了架构的意义、架构的原理以及如何实现架构。
第2章对C#技术的基础知识做了详细的讲解。
第3章主要针对客户端中的表格数据、程序的协作与应用进行讲解。
第4章介绍的是用户界面(UI)的工作原理与优化手段。
第5章针对3D模型的原理、动画的原理以及两者的优化做了详细的讲解。
第6章介绍的是网络层的业务与底层原理。
第7章针对各种AI类型进行了解析。
第8章主要介绍场景构建与优化、地图构建以及寻路算法优化的相关知识。
第9章则给出了图形数学、图形学常用算法、渲染管线的相关知识。
第10章(最后一章)针对客户端各类渲染技术的渲染原理进行了详细的解析。
《ET框架 - C#全栈式网络游戏开发框架(进阶篇)》
本课程主要介绍了ET框架的商业项目实战案例的开发流程与经验学习。ET框架在GitHub上有着极高人气,是基于.Net的全栈式开发框架,有着跨平台、开源、高性能、ECS架构、多进程分布式部署等特性。在本课程中会结合实际的商业项目详尽地分享该框架的学习经验与开发流程。
本课程为系列课程第二期,完整系列会有三期教程。购买本期课程,建议先学习第一期《ET框架 - C#全栈式网络游戏开发框架》。
第二期课程预计共50小节,目前更新至第16节。第二期课程将介绍开发一款放置类网络游戏的七个功能业务,包括:
- 个人属性数值系统
- 放置闯关系统
- 背包商店系统
- 装备打造系统
- 任务系统
- 排行榜系统
- 世界聊天系统
此过程中会详细的展示如何编写出正确、优雅且符合ET框架规范的业务逻辑代码。帮助同学们更好地理解ECS架构如何在功能业务开发中发挥强大的作用,从本质上理解和掌握ET框架的逻辑层与表现层的分离设计,从而拥有编写易于重构扩展、可维护性高、鲁棒性极强的ET框架的网络游戏功能模块业务逻辑代码的能力。
与此同时,随着游戏系统的不断扩展,讲师会相应地讲解ET框架的部分源代码实现,从而帮助同学们从本质上更好地理解该框架的设计思路,从多角度学习其前后端全栈式网络游戏的开发流程,汲取更多的开发经验。
《小游戏开发的技术难点与优化经验盘点》
整篇文章分为五个部分:立项、技术选型、遇到的问题及解决方法、优化策略和渠道接入。笔者从对小游戏市场的判断入手,阐述了小团队转型小游戏的可能性。从必要的知识储备出发,阐述了小游戏该如何做技术选型。
分多项阐述了开发过程中遇到的一些问题及易犯的错误,包括引擎的场景管理、资源卸载、美术标准、自定义Shader、C++代码转移及网络通信。分多项阐述了团队使用的一些优化策略,主要集中在GC优化及CPU优化方面。
最后从性能、SDK接入和变现策略三个方面介绍了团队在渠道适配上积累的一些经验。本课程属于进阶课程,适合想从传统手游开发转型到小游戏开发的读者阅读,或想评估转型可能性的团队参考
《棘手问题的解决之道》
在游戏开发中,一个普通程序要面临的疑难问题基本都是自己负责的系统,或者偶尔临时受命帮同事擦擦屁股。而作为主程,则可能会获得集齐团队里几乎所有的疑难问题的成就,因为所有可能导致进度延误的问题最后都会反馈到主程这里。有些可以被团队内其他成员消化吸收掉,主程只需要跟进和做后续的总结就好了,但也有更多时候需要主程亲自出马协助甚至作为主导去解决它。这就是我所认为的一个合格主程应当具备的三个重要能力之一——解决棘手问题的能力。
当然,一些有难度的技术问题攻坚也是需要很强的问题解决能力,但项目中的疑难问题除了技术挑战之外,对主程其他方面的能力和心理素质也是一场考验:
耐心。棘手问题通常有着难复现、无规律等特点,需要解决者有足够的耐心去攻克它。
细心。很多问题的难度不在于技术实现有多难,而在于是否足够细心,能够抓住排查过程中蛛丝马迹的提示,将自己引导向正确的方向。
信心。解决过程中总会充满挫折,令人气馁,似乎无路可走,要有一定可以排查出来的信念来支撑自己坚持到柳暗花明那一刻。
总结与反思。无论是看似走投无路时需要停下来反思,还是真的解决问题之后要进行总结以避免类似问题再次出现,总结与反思的能力都非常重要。
本文中,作者选择了几个有代表性的研发相关的问题,将当时排查和解决过程尽量真实的进行还原。虽然产生这些问题的技术原因大都不具有通用性,但解决问题的思路和方法,以及事后进行的总结与反思,才是作者真正想传达的。
《如何通过UWA Pipeline加速工作流和团队的工业化转变》
在游戏项目的工业化进程中,持续集成、性能监控、自动化测试等都是不可或缺的重要环节。针对以上几点,UWA通过大量游戏团队的实践经验,并结合UWA全面的性能检测服务,推出了UWA Pipeline。本次报告围绕UWA Pipeline的功能、使用方式等,讨论持续集成、性能监控和自动化测试等在游戏项目中的最佳实践方式和常见问题的解决方案。
《快速打造称手的工具 - Python在UE TA编辑器工具开发中的应用》
随着近年来游戏开发规模的日益扩大,游戏资源的数量也在成倍的增加。在开发过程中,TA不仅需要保证资源的正确合规,还需要进行大量资源相关的操作和检查。如何简化工作,精确高效地完成目标是需要着重考虑的问题。本次分享将介绍在UE4引擎中,使用Python快速开发编辑器工具的一些探索和经验。主要内容包括:美术资源的常规检测需求、如何结合项目特点来分析资源使用的性价比、如何基于UE原生Slate创建动态工具界面,以及针对UE5引擎的适配和注意事项等。
Artists
《Unity和Substance Painter的Look Dev显示校准》
随着PBR制作流程在手游开发里逐渐发力,Substance Painter在美术绘制贴图方面开始发挥越来越重要的作用,如何让美术在制作美术资源时能够所见即所得地得到和游戏引擎一样的渲染效果,成为开发Look Dev阶段非常重要的一个流程。由于不同项目的渲染风格不同,Substance Painter默认的显示效果无法和Unity等游戏引擎中的渲染效果保持一致。本文介绍了一套基本的Unity和Substance Painter的Look Dev显示校准流程,能够适应不同的渲染材质、Tone Mapping算法,让美术同学在制作资源时可以得到近乎完全一致的渲染效果。
本文共分为四个部分:
1)首先简单介绍如何在Unity和Substance Painter里搭建简单的Look Dev环境,为后续流程做准备。
2)介绍Substance Painter中自定义Shader的原理,学习如何编写自定义Shader来得到和Unity一致的渲染效果。
3)介绍Substance Painter的Color LUT原理,学习如何根据Unity中自定义的Tone Mapping算法制作相应的Color LUT,以保证和Unity的渲染效果一致。
4)介绍如何制作通用的Substance Painter项目模板和贴图导出预设,至此完成一套基本的Unity和Substance Painter的Look Dev显示校准流程。
《Unity项目中的美术规范制定与优化》
我们通常认为优化处于游戏上线前的最后环节,但实际上,项目前期确定的制作规范和流程能为优化打下坚实的基础,规范与优化可相辅相成。本次报告由嘉宾讲师介绍美术规范的相关经验,主要内容包括:
(1)如何以优化为目的制定规范?通过规范来预估角色模型、动作资源的开销;
(2)项目中特效资源的制作、分级、测试、优化流程;
(3)怎样设计工具链让复杂的场景规范对美术透明。
TA
《Unity和Substance Painter的Look Dev显示校准》
随着PBR制作流程在手游开发里逐渐发力,Substance Painter在美术绘制贴图方面开始发挥越来越重要的作用,如何让美术在制作美术资源时能够所见即所得地得到和游戏引擎一样的渲染效果,成为开发Look Dev阶段非常重要的一个流程。由于不同项目的渲染风格不同,Substance Painter默认的显示效果无法和Unity等游戏引擎中的渲染效果保持一致。本文介绍了一套基本的Unity和Substance Painter的Look Dev显示校准流程,能够适应不同的渲染材质、Tone Mapping算法,让美术同学在制作资源时可以得到近乎完全一致的渲染效果。
本文共分为四个部分:
1)首先简单介绍如何在Unity和Substance Painter里搭建简单的Look Dev环境,为后续流程做准备。
2)介绍Substance Painter中自定义Shader的原理,学习如何编写自定义Shader来得到和Unity一致的渲染效果。
3)介绍Substance Painter的Color LUT原理,学习如何根据Unity中自定义的Tone Mapping算法制作相应的Color LUT,以保证和Unity的渲染效果一致。
4)介绍如何制作通用的Substance Painter项目模板和贴图导出预设,至此完成一套基本的Unity和Substance Painter的Look Dev显示校准流程。
《Unity项目从Gamma转Linear颜色空间的经验分享》
- 为什么要使用Gamma?为什么要使用线性空间?如何选择项目的颜色空间? Gamma的工作流程就是一个编码和校正的过程。图像使用sRGB颜色标准进行编码存储在硬盘中,通过显示器的Display Gamma校正还原实际的效果。因为经过了Gamma Encoding 1/.2.2,所以图形处理的中间过程是非线性的。线性空间意味着数据计算的正确性,在线性空间对颜色数值和光照强度进行相加、相乘等计算得到的结果与真实的结果一致。线性空间渲染管线的计算结果需要进行校正然后经过显示器还原实际的效果。Gamma空间和线性空间分别适用于不同风格类型的游戏。
- 在制作和使用美术资源之前,你真的理解了线性空间吗? 美术通常只遵循制作规范,并不完全理解线性空间。使用DDC工具来创建美术资源时,美术在制作过程中需要直观地看到输入和输出的结果。我们可以保证输出结果是线性的,但是线性输入无法让人眼正确的识别颜色,所以在制作过程中使用的输入贴图和颜色数据都是非线性的。我们使用线性空间的制作流程时,与颜色无关的贴图和数据的输出是线性的,一般情况下与颜色相关的贴图输出是非线性的(sRGB颜色标准)。
- 从Gamma转到线形空间后,美术工作流程有什么变化?美术资源调整的工作量有多少? 美术的贴图资源需要规范化,在确定了使用线性空间时,还需要确定哪些贴图是线性空间贴图,哪些贴图是Gamma空间贴图,Gamma空间的贴图在使用时需要勾选sRGB。美术需要验证材质物理属性的正确性,调整场景光照,修正场景、特效、UI的半透明效果。
- 程序可以帮助美术解决哪些问题? 我们升级和使用线性空间都是为了更好的美术表现,从Gamma升级到线性空间不会对客户端的代码有任何影响,主要是技术的升级带来一些制作规范、工具流程的代码调整。程序可以让线形空间下的制作规范对美术透明化,自动完成Texture Import Settings的设置,让美术不需要关心在Unity编辑器中对贴图的设置。程序可以对项目中需要转换线性空间的贴图进行批量处理,减少美术工作量。
QA
《如何通过UWA Pipeline加速工作流和团队的工业化转变》
在游戏项目的工业化进程中,持续集成、性能监控、自动化测试等都是不可或缺的重要环节。针对以上几点,UWA通过大量游戏团队的实践经验,并结合UWA全面的性能检测服务,推出了UWA Pipeline。本次报告围绕UWA Pipeline的功能、使用方式等,讨论持续集成、性能监控和自动化测试等在游戏项目中的最佳实践方式和常见问题的解决方案。
《大型MMO手游的自动化打包实践》
《天谕》手游作为一款大型MMO项目,存在十几个活跃分支,三十几个打包任务,平均每天需要生成2T的打包数据,在打包方面面临着不小的挑战。为了保证打包任务的高稳定性和高扩展性,《天谕》手游项目将打包流程脚本化、配置化、参数化以及自动化。同时,还实现了一套工具,对打包环境、打包过程、打包结果进行监控分析上报,并在Jenkins的基础上,进行了一层封装,以实现精细化的权限控制。本次报告将从《天谕》手游面临的打包需求、自动化打包方案、硬件管理、权限控制、辅助工具等方面详解自动化打包的实践经验。
《天谕》手游数值监控体系建设
从预防到线上监控,形成一整套完善的体系对于手游项目而言非常重要,该体系运用了数据审计、阈值报警、AI异常检测模型、宝箱产出概率检查、CD监控等多个解决方案,具备较好的创新性。通过这套体系,已经为《天谕》手游避免或者提前暴露多起严重事故,其中不乏刷物品、丢物品、投放异常等。本次报告将分享该数值预防监控体系的搭建原因、从预防到监控再到体系化搭建和海量日志数据处理方式、异常模式识别探究等方面。
《大型MMO手游的压测平台建设之路》
网易的压测平台已应用于多个手游项目,其具有模拟线上集群环境、通过平台便捷操控相关集群、支持压测计划创建、实时查看数据和报告生成等功能,可大幅降低压测的门槛与准备成本。《天谕》手游等多个产品通过此平台提前发现多起压测问题,其中部分问题甚至会对服务器造成致命的影响。本次报告将分享该压测平台的孵化过程,重点模块抽象与设计,以及在《天谕》手游项目中的实践应用等方面。
《MMO项目中数据生产和维护的高效解决方案》
随着MMO游戏品类的内容日益增多,导致团队中策划数量的不断增多,目前摆在策划团队中的主要问题是——如何保障策划团队在多人协作时,能够高质高效地进行数据生产并易于后续的数据维护。本次报告将介绍《天谕》手游从研发到上线期间,对于策划工具、数据表多人协作、多分支维护方案进行细致的经验分享。此外,还将从技术策划的工作视角出发,与大家分享技术策划在大型项目中的工作经验积累。
《游戏研发全流程的性能测试及深度分析方法》
游戏客户端性能一直是游戏研发过程中面临的重点问题之一,游戏画面效果总是在“挑战”游戏设备的底线。在游戏研发过程中,QA需要开展哪些工作来保障产品的性能质量?当产品出现性能问题时,QA应该做哪些工作来推进问题的解决?对于性能专项QA来说,如何透过性能问题现象发现本质问题?又如何根据问题原因“对症下药”?本次报告将分两部分回答上述问题,主要内容包括:介绍游戏研发各阶段性能测试的工作及常用工具和流程、深度性能分析的基本方法,以及性能专项QA的发展方向探讨。
《游戏客户端高可用性的探索》
在过去的五年里,移动互联网的测试技术正在突飞猛进地发展。移动游戏作为移动互联网的一部分,我们的质量体系可以从中吸取到怎样的经验和启发呢?
当我们的游戏上线后获得了玩家的广泛传播和热爱时,我们的质量体系是否为随之而来的更高标准的挑战做好了准备?游戏卡顿、加载慢、闪退、耗能等,一直是质量技术在不断探索和解决的问题。
本次报告,嘉宾讲师将从两方面分享有关移动游戏客户端的质量体系的经验和方法。
(1)为了达到游戏客户端的高可用要求,我们需要搭建哪些基础体系?并且如何能用好它们。
(2)怎样治理游戏客户端的性能和稳定性问题?如何用稳健的策略去发布我们的新客户端。
各品类头部游戏的争夺,也会是质量和技术博弈的舞台。在海量的玩家面前,谁的质量和稳定性更胜一筹可能就留住了玩家。移动游戏也可以像互联网大佬那样严苛地去挑战质量的极限。
希望通过本次内容的交流,能对准备着未来产生爆款游戏的开发者们产生更多的思考,迸发出更多创意性的火花。
《创意游戏的质量管理》
创新玩法的游戏在目前中国市场尚不多见,游戏产品从一个点子、一张概念图甚至一句话开始萌芽,到最终成为商业化产品投向市场,中间经历的每个版本和过程都要精心设计和实施,稍有差池,就会面临产品的彻底失败。泰尼游戏在三年时间里,从组织架构到资源调配,从工具推广到管理实践都进行了大量的思考和尝试,正在逐步形成具有自身特色的创意游戏质量管理方法论,当然更多的是在这个过程中,汗水、教训、希望、失败等等交织在一起,成为了团队成长的重要经历。
本次报告主要讲解了嘉宾讲师所在团队的创意游戏的生命历程和游戏质量管理的方方面面,并通过具体实例来讲解在质量管理方面的工具和方法论。希望通过本次内容的交流,让更多的人能够思考在中小团队如何高效的实施创意验证、快速迭代、质量管控、团队协作等方面,以期共同成长。
《手游开发剑与盾:项目管理和质量保障》
在团队从核心逐渐扩大的过程中,必须要有一套稳定的项目管理流程来保障开发和进度,而针对海外机型普遍低端的客观情况,质量和性能则成为客户端的重点攻克目标。本次议题是项目管理和质量保障,就如同勇士的剑与盾一般,保障着游戏开发的品与质:
(1)项目管理和项目经理在游戏开发中的职能和重要性
(2)项目管理中常用的流水线
(3)开发期和运营期间,项目管理的策略和实战流程
(4)手游开发中质量的定义和理解
(5)如何保障手游开发所涉及的质量领域
《如何让你的游戏性能转危为安?——UWA性能保障体系》
详细介绍UWA性能保障体系,并通过具体实例来系统说明研发团队如何根据UWA性能保障体系来保证游戏项目研发过程中性能问题的及时定位和及时解决。通过本次报告,我们希望研发团队可以掌握如何通过优化研发流程来达到持续保障游戏项目开发的健康性和高效性,以此降低项目的研发时间和成本。
高阶
Programming
《创业团队的技术管理》
对于技术管理的定义,是指用于计划、开发和实现技术能力,完成组织战略和运营目标。技术管理者一般具有较高的技术水平,并在储备了一定的项目经验后,将其所掌握的技术知识和能力运用于提高整个团队的效率,来最终完成技术任务。
但是技术和管理原本属于两种完全不同的岗位。程序员多是理工科,垂直地把写代码这个事情做好就可以,但做管理者需要考虑的事情相对就复杂许多,包括整体架构的布局设计、事情的前后因果关系、可能会遇到的突发状况,这是一个需要提前布局和更费心思的事情,和程序员闷头来码代码还是有一些差别的。
很多开发者都想成为管理者,因为管理者看起来地位高、工作轻松,薪水也更高。可是你是否问过自己:
- 真正的技术管理者的工作究竟是怎样的?
- 技术管理者需要什么能力?
- 该怎样为成为技术管理者做准备?
- 在资源相对匮乏的创业公司,技术管理者该如何小步快跑完成研发目标?
在对此没有一个清晰认识之前,我们可能会填过不少坑:不少新晋成为技术管理者之后,发现时间不够用了,自己的活儿没时间干,下属驱动不了,老板嫌你管理不力……各种问题层出不穷,你殚精竭虑,结果绩效却不如原来做开发了...如果你也拥有类似这样的烦恼,那么这篇文章能给你不少解答。
《Connecting The Dots:基于团队的持续优化之道》
我们最终展现给玩家的游戏往往只是浮在水面上的冰山一角,为了这一角可以更稳定更流畅地展现给玩家,在水面之下,除了大量的玩法实现和迭代工作之外,还有整个团队所做的优化工作。嘉宾将从团队这个切面入手,结合《赢天下》项目的开发经历,聊一聊在不断产出新的游戏玩法、美术资源的同时,如何让整个团队持续高效地进行优化,并让优化的结果可以一直保持下去。
Artists
《Connecting The Dots:基于团队的持续优化之道》
我们最终展现给玩家的游戏往往只是浮在水面上的冰山一角,为了这一角可以更稳定更流畅地展现给玩家,在水面之下,除了大量的玩法实现和迭代工作之外,还有整个团队所做的优化工作。嘉宾将从团队这个切面入手,结合《赢天下》项目的开发经历,聊一聊在不断产出新的游戏玩法、美术资源的同时,如何让整个团队持续高效地进行优化,并让优化的结果可以一直保持下去。
TA
《延迟渲染管线手游技术解决方案》
延迟渲染管线以优秀的多光源渲染性能,丰富的后处理表现效果等优势在3A端游较为普遍,但是手游上因为存在带宽等性能问题从而一直难以落地。本次报告介绍可以在forward和deferred下无缝切换,兼容双管线的Shader# Framework。利用移动端Tiled Base等特性以及修改适配Unity的deferred下的交叉编译,实现适合移动端的延迟渲染管线方案。经过一系列的测试,在普通及多光源的场景下,延迟渲染管线相对前向渲染管线在移动端设备上帧率及电量都有一定的优化。
《航母战斗群中的巡洋舰 - 为项目保驾护航的技术美术们》
曾几何时,国内游戏制作圈儿中有了一小股被称为技术美术的新兴势力。诞生初期,他们顶着同样的头衔,游荡于各大电脑(或家用机)游戏开发公司,却做着各自几乎完全不同的工作。默默无闻,知者寥寥。后来,随着国内页游的兴起和手游的萌芽,他们甚至一度被排挤在仅有的几个自研引擎大厂与对接国外的各种外包公司中偏安一隅。但随着手游市场的崛起和画面要求的不断攀升,这一职业才逐渐浮出水面,甚至瞬间引爆,迎来了繁荣。那么技术美术到底缘何如此这般境况?本地报告将结合讲师自己这十几年的从业经历,从大量具体事例出发,尝试从技术美术的发展历程和在项目中所扮演的角色,娓娓试解释之。
以上就是我们本期为大家梳理的开发流程学习路径图。需要说明的是,这个路径图并不是捷径,相反45篇文章会更加训练大家的意志力。作为体系化的知识,我们希望大家能掌握背后的逻辑与原理,结合学习方法论并反复实践,未来尝试在自己的项目中创新创造出自己满意的效果。
往期回顾
《Unity引擎渲染模块知识Tree汇总》
《Unity引擎UI模块知识Tree》
《UWA学堂|逻辑代码模块》
《UWA学堂|解决方案模块》
《UWA学堂|优化模块》
版权归原作者 UWA 所有, 如有侵权,请联系我们删除。