撰写了文章 发布于 2021-10-07 23:45:53
垃圾策划笔记--模组化关卡设计(1)
关于随机生成和组合关卡结构,虽然之前感兴趣了解了一些,但是还是确实没有特别系统研究整理过,正好前段时间工作上也碰见了类似的问题,于是针对性找了一下,GDC上有一个杯赛的关卡设计师分享的模组化关卡设计思路以及工作流程的方案(B站传送门),没有中文字幕,所以就半懂半不懂地看一看,加上自己的理解做做笔记。
老滚中的经验
模组化建筑
定义网格步长
实际上就是定义网格的单位长度,好方便针对单位长度进行构成关卡环境要素的搭建。这种关卡的拼接方案就是将关卡按照网格进行区域划分,然后按照乐高块一样的方式对关卡进行拼接。
当在你定义了长度1的立方体结构作为模组化关卡尺寸后,也可以定义其他边长拉长为原来整数倍的构成块。
谨慎使用非标准化的关卡构成块
并不是说非标准化长度的关卡构成块不可以使用,而是使用后需要注意是否有对齐穿帮的问题。
结构需要确保在范围内
如果在模组化关卡范围外附加结构的话,很可能会出现关卡连接之后穿帮到另一块的效果。
确定原点
这一点是制作预制件时需要注意的事情。例如搭建类似墙体一类的预制件时,需要注意将墙体的原点与过道中心点统一,这样在旋转类似 】结构的墙体时,能够保证墙体贴合过道。
使用标准尺寸
一些功能性关卡组件,需要使用统一的尺寸,比如我们将一扇门定义为1.2mx3m,那么所有的门都应该是这个统一尺寸,如果需要的话再去根据需求增加分类。比如标准门统一一套尺寸,双开门是另一套尺寸,这样可以确保关卡可以衔接上。
小技巧
使用层级穿插
比如在制作墙壁时,一个墙壁的俯视图应该是个 | 形状,但是这种情况可能会导致墙壁难以贴合,于是我们尽量将墙壁制作成两边翘起的 ( 形状,让两个墙壁对接的地方以类似 X 的结构进行穿插,之后添加一些物件遮挡接缝结构,这样可以减小穿帮的概率。
定义网格组
所有组件并不需要统统采用一套网格对齐,这样会导致整个地图都是田字形显得过于呆板,可以按照单个区域使用一套网格对齐,步长相同,稍加旋转会让整个关卡更有变数。
连接件
配合层级穿插,设置一些连接件以方便关卡部件之间进行一定角度旋转的连接。
多次尝试并进行迭代
辐射4中的经验
整理主视觉风格
根据世界观考虑需要的某些主题(按照功能或者主视觉风格画风)
分配时间与精力
结合不同因素考虑不同主题应该分配多少时间与精力
组件搭建时间管理
考虑组件的制作时间、复用性与迭代成本
需要敏感注意的一些问题
- 考虑开发周期
- 忽略冗余工作
- 尽快达到可玩
以大楼举例
- 不同风格的传统建筑
- 统一工作流
- 标准化的次级套件类型:房间、大厅、走廊、楼梯、平台等
改进工作流:更细致的拆分
将关卡的结构拆分尽可能细致,再拼接出来所需的关卡块
按照如上思路,我们将一条走廊拆分为:天花板,侧墙,地板,支撑立柱
拆的越细,我们能够拼接出来的结果也就越多
破坏拆分的结构,我们能够派生出更多的可能性
以上工作流导致的结果就是:
- 更灵活的关卡结构
- 更多时间成本
结合新旧方案,我们将拼装好的预设结构加上拆分碎块的方案,保证了一定灵活性,也降低了一定的时间成本。
