游戏开发工具的真正价值是什么?

作者:keggame 腾讯游戏学堂 2022-06-06 86.8k
前言:从Unreal这样大而全、工业化式的游戏引擎,到Bitsy这类小而美、低门槛的网页编辑器,市面上的游戏开发工具越来越多,这些工具的价值有何异同?如何看待不同类型工具对于游戏开发的意义?近期,腾讯游戏学堂联合天美工作室群在知乎举办“游戏是门技术活”主题圆桌,邀请游戏从业者探讨前沿技术发展趋势,分享职业思考和日常。以下为圆桌议题“游戏开发工具的真正价值是什么?是在于激发创意吗?”中的部分讨论,欢迎感兴趣的同学通过阅读原文进入圆桌页面参与作答和了解更多内容。

游戏开发工具的真正价值是什么?

#01

答者:keggame

腾讯天美J1工作室技术美术负责人

先上结论,个人认为游戏开发工具的目的主要应该是帮助创意实现,解放生产力,而非激发创意本身。

针对这个问题首先我们可以来看下游戏开发过程中具体会用到哪些工具。

从游戏开发流程出发,一般可以分为以下几个环节的工具链:DCC 工具链,引擎工具链,研发效率工具链。

DCC工具链DCC 工具链一般直接面向美术制作,从功能上划分一般可以简单分成两个大的方向。

一类是用于标准检测,类似于质检,例如检查资产命名是否规范,模型的面数是否超标,权重骨骼数量是否过多,贴图尺寸是否过大等等。这类工具避免了手动检查的疏漏,是保证资产在游戏中有效性的基础。一般上一点规模的游戏都会根据游戏资产的制作规范开发相应的此类工具。

另一类则是加速美术制作效率,从美术关注的角度,又可以细化为两类。

第一种与美术资产制作和效果相关性不大,一般这类工具都是自动化处理一些资产的固定流程,比如批量针对一批资产进行模型 材质合并,贴图的自动扩边,骨骼 Retargeting,模型各级 LOD 自动减面等,针对这些重复性的操作,由工具来执行,可以节省大量美术工作量,从而让美术有更多的精力投入到效果相关的工作中去。

第二种则与美术资产的制作相关性较高,一般此类工具都与美术资产生产过程紧密结合,例如角色表情Controller,《极限竞速 地平线4(Forza Horizon 4)》开发团队应用的车漆材质矫正流程工具,Epic Games 的 Metahuman 角色生成器,都属于这一类,这些工具的存在可以快速地帮助美术实现最终想要的资产效果。

[ Forza Horizon 4 中使用的车漆矫正工具,图源 2019 GDC[1] ]

[ Metahuman Creator,图源网络 ]

引擎工具链

引擎工具链相对比较复杂,因为引擎本身就是一个工具集,大致来说,引擎工具我们大致可以将其分为四个方向:

第一类主要针对引擎资产管理,比如资产浏览器,可以对不同类型的资产进行过滤查找,导入导出,还有具体的资产预览器,可以对相关的资产的属性编辑进行修改,以及对资产之间的关联引用关系进行编辑。

这是引擎的基础功能之一,如果没有这块,就无法对引擎内的资产进行有效地调用,Unreal 的Content Browser,Unity 的 Asset 浏览窗口,以及相应的各类资产的预览界面都属于此类。

[ Unity Project Window,图源网络 ]

第二类主要是游戏逻辑所需针对各类资源的整合工具,比如场景编辑器,包含了场景美术资产组装,光照调整,寻路数据生成等这些功能;音效编辑器则是由游戏逻辑驱动,对相关音源资产进行组合调用,以满足游戏需求,比如比较著名的 Wwise;动画状态机通过对一系列动作的组合拼接,可以实现各种不同游戏动作之间的平滑过渡与混合调用;AI行为树则直接驱动游戏 NPC 或者 Enemy 调用角色动作状态机,做出合理的动作与行为反馈。

通过这类工具,可以直接将原始资源通过一定的规则,整合成最终游戏运行时所需的数据形式。

[ Wwise 界面,图源网络 ]

第三类主要是面向策划配置相关工具,比如各类用于游戏运行时服务器端与本地的数据配置的相关工具,像玩家全身 Avatar 道具,武器 id 配置表,不同场景的 id 配置表,还有任务系统,包括任务编辑模块,以及上层的任务配置工具,这类工具一般都需要能够进行逻辑编辑,通常都会接入轻量级的脚本语言。

第四类主要包括了性能 Profiling 工具以及各类静态资源统计工具,Profiling 工具主要是用于游戏运行时的性能分析,比如 Draw Calls,同屏面数,物理,AI 等分项每帧针对 CPU,GPU 的消耗,进而定位运行时性能瓶颈,目的是保证游戏能够在目标平台上稳定流畅运行。例如 Unity 的 Profiler,Unreal 的 Timing Insights 都是典型的 Profiling 工具。

[ Unity Profiler,图源网络 ]

静态资源统计工具主要在非运行时编辑器下对各类静态资产的容量以及规格进行批量统计,一般来说主要目的是限制单体资源内存占用,和控制游戏安装包容量。

研发效率工具链

研发效率工具链一般指提供团队协同工作,敏捷开发管理以及快速版本构建发布相关的工具,这块大致分三块。

第一类是用于游戏数据版本管理与多分支开发管理的版本管理工具,例如 svn、perforce、git 等,这类工具主要用于支持多人以及多团队的协同开发,避免多方对共同数据内容操作而引起的数据冲突,并支持分线多特性并行开发与多线合并,可以方便团队更加稳定地针对独立特性进行迭代,避免了多特性在同一版本环境中互相干扰造成的研发效率折损。

[ P4v 界面,图源网络 ]

第二类则是方便项目管理的工具,例如 TAPD,Jira,这类工具主要用于项目日常任务管理,进度统计,能够清晰地让项目成员知道目前的制作任务以及上下游任务的依赖关系,也能够让项目进度管理者清晰地知道当前整个项目各个模块的进度。

[ Jira 界面,图源网络 ]

第三类则是关于项目快速构建各类版本的相关流程工具,这类工具的主要作用就是自动化快速构建不同平台,用于不同目的游戏安装包,比如 iOS,Android,Windows 等不同平台体验包,或者 Development 版本用于真机调试,或者性能分析的测试包,以及各种分线分特性体验的快速体验包等。

一套高效的自动构建流水线可以快速地让开发团队能够在最终目标平台上进行最终的版本验证,从而提早发现一些在开发环境中无法出现的真机问题。

当然还有很多针对前两类工具开发的相关 DCC 工具与引擎工具,以减少不同软件之间切换使用的摩擦成本。

总结

从以上这些工具分类与作用来看,在整个游戏开发过程中,真正与游戏内容生产或者游戏玩法设计相关的工具只是占到了其中一部分,其他更多的工具设计则是从增效,维护研发品质的角度为出发点, 这类工具的本质并不是为了激发创意。

而在正常的游戏开发过程中,一般都是先提出想法,然后再去针对这个想法来开发对应的功能或者工具。而不是先做一套工具,再在这个工具的基础上去想创意。

工具存在的目的是辅助创意的实现。

当然辩证来看,高效率的工具,能够节省开发者大量的精力与时间,可以让他们投入更多的精力在创意相关的设计工作上。从这方面来说,高效的工具对创意的实现与产生还是有正向的推动作用的。

还有,一套强大的工具往往本身就包含了工具设计者自身丰富的经验与思想,使用者在应用这些工具的过程中,有时候也可能从工具设计的机制层面受到一定的灵感激发。

综上所述,虽然高效强大的开发工具在开发过程中也许会激发开发者的灵感,但游戏开发工具的目的主要应该是帮助创意实现,解放生产力,而非激发创意本身。

参考:

https://ubm-twvideo01.s3.amazonaws.com/o1/vault/gdc2019/presentations/Liu_Yibo_Physically_Based_Calibration.pdf

#02

答者:小亮哥

腾讯先锋云游戏中心总监

工欲善其事必先利其器。

游戏开发工具的价值一是在于提升了原始创意的天花板,二是在于降低了创作门槛,让大量创作者加入,不仅能激发创意,还能让更多的创意落地。

近些年游戏开发工具也有不少进展:

一方面,我们可以看到虚幻、Unity等引擎在游戏渲染质量、光线追踪、AI和开放世界上做了大量的扩展性功能,节省了开发者的精力,让原本难以实现的效果和功能可以实现,让创作者能分配更多精力在创意开发上。

另一方面,结合云游戏和云引擎技术的游戏开发工具正在涌现,这将进一步降低游戏对用户终端的要求,大大减少兼容和适配的工作量,并且不用过多的考虑因为用户终端的限制,而不得不折损太多效果。

#03

答者:freddy


腾讯天美L2工作室高级技术美术

游戏开发工具实际上就是复杂一些的MOD制作工具,MOD制作工具就是复杂一些的UGC工具。

在用户交互的维度上,用LOD(LevelOfDetail)的形式来看,大概是这样一个层次:

纯代码开发 -> 带有交互界面的游戏引擎 -> 带有可视化节点代码的游戏引擎 -> 游戏MOD制作工具-> 具有一定的PCG过程化自动生成能力的MOD制作工具 -> 游戏内置UGC工具(捏脸,捏人,装饰挂件)

以上所有的开发工具,都是为了激发创意,或者为了实现你已经有了的一个Idea。

无论是谁创作,其非常重要的一个核心就是对于工具的操作者,要保证足够好用,理解难度越低越好。

越好用的游戏开发工具或UGC工具,MOD制作工具。越同时满足简单性和丰富性。

很多成熟的知名游戏,完全都可以游戏策划直接可以在MOD制作工具中进行游戏设计,完全脱离引擎。

上面这个流程中,越靠近代码阶段交互性越差甚至没有用户交互,但是可操控修改的范围变大,对细节可以深入优化。越靠近UGC交互性越好,带来的结果就是海量数十亿玩家充分的可以快速实现自己的想法,创作更多有趣的玩法。

无论是Minecraft还是Roblox,或者Steam创意工坊。

无论是红警,帝国时代,魔兽争霸,DOTA2,星际争霸,半条命。

每天都有大量的玩家创意玩法产生。

切记,所有的工具都是给人用的。

注意交互,交互,交互。

没有交互就没人用,没人用就做不起来社区,做不起来社区就没有用户反馈,没有用户反馈就无法进行优化,然后形成恶性循环。

没有交互就是0,无法实现创意,更不能激发创意。

开发工具时也是宁缺毋滥,制作少量功能也要保证少量功能的稳定性和交互,慢慢累积。而不是疯狂堆砌垃圾。

结论:我认为所有游戏开发工具的终极形态就是MOD工具。欢迎讨论。

#04

答者:艾萨里昂之光


腾讯游戏研究与应用

工具存在意义不在于激发创意,更多的意义则是通过降低制作的门槛与成本,提升生产效率,使得更多的人可以参与制作,更多的创意有机会去落地。

游戏开发工具也是同样的道理,工具本身只是起到了以下两种作用:

1)实现某些流程(专业工具);

2)让某些流程的制作周期大幅缩短(效率工具)。而这所有的一切都出现在游戏制作的工程阶段,并不在创意阶段。

#05

答者:iiif


腾讯游戏CROS引擎团队高级工程师

个人浅见,激发创意有几个前提条件:

工具足够稳定高效,最好还能做到足够智能化,让人可以从事务性的重复体力劳动中解脱出来

工具不应该限制太多创作自由度

工具的使用门槛不应太高,以让更多有想法的人可以参与

从这个角度来说,是的,好的工具是应该做到这些;但做到这些不仅仅是为了激发创意——为了效率,为了成本,为了品质本来也应该做到这些;或者不如说工具更本质的价值还是提高生产效率,工具做到趁手且高效自然就能激发创意。


来源:腾讯游戏学堂
原文:https://mp.weixin.qq.com/s/yEP6xZ1IxFSCeo4y3NEsUw


最新评论
暂无评论
参与评论

商务合作 查看更多

编辑推荐 查看更多