读了加利福尼亚大学的Kenneth Hullett, Jim Whitehead所写的“Design Patterns in FPS Levels”对其中的要点做下笔记,方便以后回顾。


关卡设计的模式可描述为:描述,affordances(用于表示可以改变的模式的方面,用中文无法很好表示),结果(描述的结果),关系(与其他模式的互动),例子(用游戏中的例子来说明)。
设计模式在文中被分为以下4种:Positional Advantage, Large-scale Combat, Alternate Gameplay,Alternate Routes.

1.Positional Advantage(这种模式下能够让一个角色在另一个角色上占据优势)

1.1狙击手位置

描述:狙击手位置是最常见的模式之一。一个在狙击手位置的角色能够使用长距离武器攻击其他人,任何俯瞰部分水平的高架位置都是潜在的狙击手位置。这些位置可以供玩家或者NPC使用。定位在狙击手位置的敌人可能需要特殊的脚本来创建所需的行为;它们应该保持在适当的位置,如果可以的话,设计师应该提供必要的隐蔽处,并且为玩家提供远程武器。

可以改动的方面
1.狙击手位置在距离平地多高的位置。
2.狙击手拥有多达的空间。
3.狙击手的狙击方面覆盖多远
4.如何通过隐蔽的区域到达狙击手位置

结果:当面对敌方的狙击手位置,玩家被迫利用隐蔽处或者寻找备用路线来避免暴露在火力下。当玩家处于狙击手位置,可以减小游戏节奏,同时减轻游戏紧迫感(玩家可以在不暴露在敌方火力的同时攻击敌方NPC),但是,如果狙击手位置不是孤立与其他关卡时,玩家就必须保卫狙击手地点,以此增加紧迫感。
关系:狙击手位置与其他很多模式都有关系。大多数固定炮塔也是狙击手的位置,射击场是狙击手位置的一种特殊类型。

例子:在《半条命2》的关卡“Route Kanal”中,玩家遇到敌方狙击手的位置,如图2所示,玩家可以接触敌方的NPC,但是同时有将自己暴露的风险。

1.2长廊

描述:画廊是一个平行于狭窄通道的高架区域。玩家在长廊可以轻易的遭遇其他角色。

可以改动的方面
1.长廊的宽度和长度
2.通道上方高价区域的高度
3.通道内的覆盖量

结果:长廊是设计师为玩家创造的挑战。通道中的任务是开放攻击,如果需要,可以使用掩护。如果玩家在高架区域,其目的可能是允许使用特殊武器,如手榴弹。

*关系:扮演的角色与狙击手位置相同

例子
《半条命2》中的关卡“Urban Flight”中,一个友方NPC被放置在俯瞰走廊的位置,敌方NPC从走廊朝着玩家在走去。他们在靠近玩家之前,绝大多数就被友方的NPC所消灭。

1.3阻塞点(choke point,也可以称作密集交战区)

描述:阻塞点是一个没有交替的狭窄区域。典型的有一个房间入口,当玩家或敌人NPC通过时,他们会受到攻击。

可以改动的方面
1.阻塞点的宽度
2.阻塞点的长度

结果:如果玩家通过阻塞点,他们讲暴露在敌方的火力下,这提高了关卡的紧迫感。另一方面,如果敌方NPC通过阻塞点时,玩家就能以较低的危险攻击他们,减少紧迫感及挑战。增加长度、增加宽度都会减少阻塞点的作用。

关系:阻塞点能够跟狙击手位置结合在一起,为攻击者提供掩护。

例子:玩家在《杀戮地域2》的“Corinth River”关卡中会遇到阻塞点,他们必须穿过一个狭长的走廊,并有一些掩护,同时被敌方NPC处于两侧进行进攻。

2.Patterns for Large-scale Combat (大规模战斗)

这个模式的区域中玩家会遭遇大量的敌方NPC或者是一个强大的boss。

2.1竞技场

描述:竞技场类型是一个开阔区域或者一个宽阔的走廊。玩家将面对沉重的挑战(或是大量的敌方npc的进攻或是boss战),设计师需要保证玩家不会因为所设置的敌人太过强大或者数量过多而导致无法通过。在这个场景中,设计师可以放入补给及设置掩体,让玩家能够不断的向他们的目标前进。在BOSS战中,玩家需要到boss的弱点,或者在一定时间内攻击伤害达到一定数值。设计师需要告知(暗示)玩家打败boss的方法(比方说,在进入竞技场前,为玩家提供高杀伤性武器)。

可以改动的方面
1.竞技场的尺寸(长度,宽度,高度)
2.竞技场覆盖量

结果:如果玩家的数量过多并且缺乏威力强大的武器,那么他们将被迫不断移动并利用掩体,这增加了挑战并减慢玩家节奏;反之如果玩家拥有强大的武器并不会收到其他严重的威胁时,会增加玩家快速消灭大量敌方NPC的速度。

关系:一个竞技场场景能够与狙击手位置或者是炮塔结合,竞技场的入口可以是一个阻塞点。

例子:《杀戮地带2》的关卡“Corinth River”在一个大型竞技场中开始,玩家和友方NPC们将在一个中等宽度和深度并有着大量掩体的空间中遭遇敌方NPC,一些NPC被安置在炮塔或者狙击手位置中。

2.2据点

描述:据地是一个狭窄的区域,有着很好的掩体。角色在据点中能够很好的抵御攻击者并受到很好的保护。据点只有有限的入口,因此防守方能够很轻易的防守他们。

可以改动的方面
1.据点的尺寸
2.据点中掩体的数量
3.入口的数量及类型
4.保卫/占领据点是否是一个关卡目标

结果:一般来说一个据点将被设计成玩家的防守场所,一般的作用是用来降低推进关卡的节奏。但是一些情况下,当设置大量的敌人或者是据地拥有大量入口时,可以增加紧张气氛及挑战。

关系:据点可以被看成是一个特殊类型的竞技场,进入据点的入口可能是一个阻塞点

例子:《光环3》的关卡“The Covenant”包含一个据点,玩家在一个大的卡扩区域,遭遇从各个入口涌入的敌人。这些入口都是一些阻塞点,帮助玩家不被海量的敌人所淹没,但要立即消灭他们很有挑战性。

3.Patterns for Alternate Gameplay(游戏玩法切换)

这些模式用于打破关卡的游戏玩法,区别于标准游戏玩法。

3.1炮塔

描述:炮塔是一种特殊的,高杀伤力的武器,它通常被固定在一个区域。炮塔可以是玩家或者NPC所控制的,也可以是自动的。因为炮塔的威力远大于标志武器,所以要十分小心以防破坏关卡的平衡。
炮塔的另一个用法是作为一个挑战,这样玩家只能十分小心的从一个掩体移动到另一个掩体。

可以改动的方面
1.炮塔覆盖的范围(攻击覆盖范围)
2.炮塔使用的武器
3.炮塔可以使用的弹药量
4.炮塔是可移动或者是固定的

结果:当玩家被提供了炮塔后,作用是通过提供可切换的游戏玩法来突破关卡。提供强力武器能够让玩家快速消灭敌人。
关系:炮台可以放置与狙击手位置上或者是放置在车辆载具上。
例子:在《半条命2》的关卡 “Route Kanal”中,玩家可以使用一个固定的,装备有强有力的武器的炮塔来消灭海量的敌人。

3.2载具部分

描述:载具部分是切换游戏玩法的一种形式。玩家可以驾驶载具并使用安装在载具上的武器,当然,敌人也可以使用载具。

可以改动的方面
1.玩家是驾驶员还是乘客。
2.载具的类型、速度、装备及性能
3.地形的性质:平的或者是起伏的

结果:同炮塔。因为载具的速度快于玩家正常的移动速度,关卡的推进速度将被加快。当载具难以驾驶或地形难以越过时,挑战将被提高。

关系:载具的作用类似于炮塔

例子:《光环3》中的关卡“Tsavo Highway”,玩家可以使用载具。关卡的一部分是窄路段,没有敌人但是地形难行;关卡的另一部分玩家将应对同样使用载具的大量敌人。

4.Patterns for Alternate Routes

这种模式下玩家可以选择他们想要面对的关卡(关卡可选择)

4.1错层

描述:错层是一个通道被分为上下俩层,高层的角色可以攻击底层的角色。玩家可以选择上下路线,或者在他们之间进行切换。
可以改变的方面
1.关卡间的高度差异
2.关卡间的开放程度

结果:允许不同的策略,提高玩家在不同关卡间来回的速度。
关系:如果通道是狭窄的,那么上部相当于长廊。选择一条路线来避免另一条路线上的敌人
例子:《半条命2》的关卡“Lowlife”第一章节中玩家正在穿越一个具有高架通道的大开口区域。玩家必须在两条路径之间来回切换以避免最多强大的敌人NPC。如图

4.2隐藏区域

描述:一个隐藏区域例子就是一个小房间中有一个藏物处,通常提供特殊武器和火药等。隐藏区域通常偏离玩家的主路线。设置隐藏区域的目的是为了奖励玩家的探索。奖励的多少与探寻及进入隐藏区域的难度成正比。

可以改变的方面:
1.探寻及进入隐藏区域的难度
2.隐藏区有什么奖励
3.隐藏区域是否有敌方NPC进行看守

结果:如果玩家获得了一个极大的奖励,那么整个关卡的挑战难度将降低。过好的奖励会破坏游戏平衡,从而减小游戏的紧张感。
关系:无
例子:《半条命2》:关卡“Lowlife”,有一个偏离主路线的隐藏区,那有少量敌人和少量奖励,鼓励玩家做更多的探索。

4.3侧翼路线

描述:具有强阻力的区域(不如说竞技场类型)可能包含一个可替代的路线来让玩家获得位置优势。
可以改变的方面:
1.侧翼路线能到达的地点
2.侧翼可用的掩体

结果:侧翼路线为玩家提供一种选择。玩家喜欢硬钢就不去选择走侧翼路线;相反玩家如果想要避免遭遇敌人,可以选择侧翼路线。当使用侧翼路线时,随着一个困难部分被绕过,游戏节奏逐渐缩小。

关系:竞技场类型中可以存在侧翼路线。侧翼路线可以设置为一个隐藏区域。

例子:《杀戮地带2》的关卡“Corinth River”中很多竞技场包含侧翼路线。举个例子,一个拥有大量敌方NPC的大型竞技场,玩家可以沿着竞技场的一边从一个掩体移动到另一个掩体,获得位置优势。

设计技巧:

1.隐藏区域通常可以用于缓解玩家在之前关卡积累的压力。
2.通过模式切换,打破玩家的游戏节奏,可以极大增加玩家的紧张感。。
3.当设计者最初以模式的形式描述部分并在稍后填写细节时,层次结构的开发可以更加结构化。

【读书笔记】单人FPS关卡设计模式相关推荐

  1. 《精通python设计模式》读书笔记之——结构型设计模式

    结构型设计模式: 结构型设计模式处理一个系统中不同实体(比如,类和对象)之间的关系,关注的是提供一种简单的对象组合方式来创造新功能.可用于实现不兼容软件之间的接口兼容. ①.适配器模式 简介: 适配器 ...

  2. 读书笔记 PCG in Games 程序化内容生成3 构造性方法,针对地牢式关卡

    总起 本文主要基于Procedural Content Generation in Games第三章介绍构造性方法,他们的主要用途在于地牢和关卡,这些方法能在极短进行生成,并且不会进行评估或重新生成. ...

  3. 《设计模式与游戏完美开发》——第二周读书笔记

    在上一周的读书笔记中,我介绍了设计模式的概念.目的是什么,以及最后的最重要的面向对象的七大原则,在这篇读书笔记中,我要介绍其中的一种设计模式:状态模式. PS:这本书主要是以一个小游戏<p阵地& ...

  4. 设计模式---读书笔记

    一.文章来由 按照惯例,来一个来由,这是<设计模式-可复用面向对象软件的基础>的读书笔记,整理给自己看的,整理的内容也会不断更新.大神轻喷~~如果不喜欢请留言说明原因再踩哦,谢谢,我也可以 ...

  5. 《Head First设计模式》 读书笔记16 其余的模式(二) 蝇量 解释器 中介者

    <Head First设计模式> 读书笔记16 其余的模式(二) 蝇量 解释器 中介者 蝇量(Flyweight Pattern) 如想让某个类的一个实例能用来提供许多"虚拟实例 ...

  6. 《大话设计模式》读书笔记-索引

    <大话设计模式>读书笔记-第1章 简单工厂模式 <大话设计模式>读书笔记-第2章 策略模式 <大话设计模式>读书笔记-第3章 单一职责原则 <大话设计模式&g ...

  7. 《Head First设计模式》 读书笔记03 装饰对象

    <Head First设计模式>读书笔记03 装饰对象 问题引入 咖啡店的类设计: 一个饮料基类,各种饮料类继承这个基类,并且计算各自的价钱. 饮料中需要加入各种调料,考虑在基类中加入一些 ...

  8. 设计模式之美读书笔记

    目录 设计模式之美 读书笔记5- 哪些代码看似面向对象,实际是面向过程编程? 读书笔记4- 封装.抽象.继承.多态分别解决了什么编程问题? 读书笔记3- 我们在讨论面向对象的时候,主要说的是什么? 读 ...

  9. 设计模式之禅读书笔记—行为类模式

    设计模式之禅读书笔记-行为类模式 PDF下载地址 责任链模式 命令模式 解释器模式 迭代器模式 中介者模式 备忘录模式 观察者模式 状态模式 策略模式 模板方法模式 访问者模式 责任链模式 定义:使多 ...

最新文章

  1. 比特币现金足球:BCH驱动的多人世界杯应用
  2. 揭开知识库问答KB-QA的面纱1·简介篇
  3. CodeForces - 1095C Powers Of Two(思维)
  4. Linux 命令find、grep
  5. linux强大功能,linux grep和find 的强大功能
  6. 【HNOI2016】序列【莫队】【单调栈】【ST表】
  7. java 对象复制字段_利用Java反射机制实现对象相同字段的复制
  8. Windows消息机制以及相关API
  9. Linux下的whoami命令
  10. [Java] 变量里存的到底是什么
  11. ESAPI集成官方参考文档
  12. redis 结合 spring
  13. python英语单词 扇贝英语安卓下载_扇贝单词英语版app最新版
  14. ESP8266制作创意时钟(DS1302+TM1637)
  15. Axure的授权人与授权码
  16. 计算机应用提高篇课后答案,计算机应用技能技巧
  17. 终结符号和非终结符号
  18. 流星蝴蝶剑服务器状态,流星蝴蝶剑什么是数据互通 哪些服务器会进行互通
  19. OP_PUSH_TX技术背后的故事
  20. python的mapl画图y轴排_python中用Matplotlib做多个纵轴 (多y轴)

热门文章

  1. ERROR: While executing gem ... (Gem::FilePermissionError) You don't have write permissions for the /
  2. 电子商务网站功能模块汇总
  3. 微信公众平台 临时二维码的scene_id 4294967295
  4. 银行从业报名时间!!
  5. 两步U盘 win10 操作系统安装 特简单
  6. Linux实战教学笔记36:PHP服务缓存加速深度优化实践
  7. redis实现用户签到,统计活跃用户,用户在线状态,用户留存率
  8. MySQL 表名与MySQL关键字冲突导致插入数据BadSqlGrammarException
  9. android编程之悬浮窗体
  10. WNetAddConnection2返回错误码1326的问题