跳转至

Ludo Atlas · 类型手册 · 第一人称射击(FPS)

类型手册 · 第二辑。定位:把「瞄准与开火」做成第一人称视角下的第一技能,把空间、枪线与节奏做成核心对抗的射击开发手册,单人战役与多人竞技两条路线都在覆盖范围内。 配套:《游戏设计手册》(核心循环与数值表)·《技术实现手册》(性能与数据驱动)·《关卡设计手册》(空间与遭遇)·《联机与后端深入手册》(同步、匹配与反作弊)。 本文不放外链;案例只写公开作品名,数字为常见量级,按自己项目实测校准。


1. 定位与核心循环

一句话定位:FPS(第一人称射击)是以第一人称视角呈现、以瞄准与射击为核心动作的类型。第一人称不是机位,是信息装置:玩家看见的就是角色看见的,威胁从屏幕边缘进来、从背后消失,死亡来得快,原因也必须解释得清。

家族位置:射击(shooter)家族的原型成员。战术、竞技、英雄、撤离、刷宝等分支都在同一个核心上叠加规则;枪感与空间语言是共同地基。

核心循环用动词环写:

辨认威胁 → 瞄准 → 开火 → 走位换线 → 清点推进

这个环以秒计:一次交火 1-5 秒,一局由几十上百次交换组成。它成立的前提只有两条:开枪要有分量(§3.1),死亡要能复盘(§3.2、§7)。

同一个核心上长出两条产品路线:单人战役卖节奏与演出,多人竞技卖对抗与长期平衡。两者共享枪感与空间语言,工程与内容结构完全不同(§4.4)。

与相邻类型划边界:

相邻类型 边界
第三人称射击(TPS) 视角外置,角色自身可见;FPS 的信息全压在屏幕上,压力来源不同
双摇杆射击 瞄准与移动解耦、辅助比例高;FPS 的瞄准是第一技能
沉浸式模拟 共用第一人称,但重心在多解与系统互动,射击只是工具之一
跑轰(run-and-gun) 同家族分支:移动与射击的配比更偏移动,节奏更宽容
撤离类射击 交火之上叠加搜刮、撤离与损失规则,属于同一个核心的扩展

一个自检问题:把枪感调坏(去掉后坐、命中反馈、音效),游戏还成立吗?答案若为「不成立」,你做的就是 FPS。

2. 玩家体验目标与标杆作品

体验目标(按优先级排序):

  1. 开火的即时快感:每一枪都有重量、声音与后果,玩家为了「再开一枪」而继续。
  2. 瞄准的可见成长:从手忙脚乱到抬枪即中,精通曲线拉得长,每一步玩家自己都能感觉到。
  3. 战场阅读:半秒内完成威胁分级,是 FPS 的「智力」部分,也是高手与新手的分水岭。
  4. 节奏与呼吸:交火、喘息、再交火;单人的幕与多人的回合都是这个节奏的容器。
  5. 对抗叙事:被压制、翻盘、关键时刻的一穿三;过程故事是长期留存的燃料。

标杆作品(建议亲手玩过再拆,手感是手上学会的,不是看会的):

作品 可学的点
DOOM(1993 与 2016 两代) 高速跑轰的节奏;2016 的处决回资源把「进攻」做成生存策略
光环:战斗进化 手柄射击的宽容度;护盾回复把「打不过就撤」变成节奏工具
反恐精英 短 TTK 的纯粹竞技结构:经济回合、可背弹道、地图控制
使命召唤 4:现代战争 脚本化遭遇的密度;多人成长循环把玩家留在游戏里的做法
半条命 2 空间与演出讲故事的关卡设计;物理互动的叙事用法
守望先锋 兵种分工与角色辨识度;英雄池对团队结构的约束
泰坦陨落 2 跑墙与滑铲:把移动做成第二套武器
战地(系列) 大规模战场与载具、兵种的分层设计

共同点:枪的可信度是地基。这个类型竞争极度拥挤,枪感做到位只算入场券,题材、模式与长期运营决定能不能留下人。

3. 设计要点

3.1 射击手感四要素

手感由四条通道叠加而成,任何一条断开,其余三条都补不回来。

要素 做什么 参考数值 调坏的后果
武器反馈 后坐、散布、射速、换弹,构成枪的「重量」 垂直后坐每发 0.2-1.5 度;弹道前 8-12 发固定、之后转随机(常见做法) 无后坐像水枪,全随机不可学习
命中反馈 命中标记、受击方向提示、伤害数字、击杀确认 标记与命中同帧到达;击杀确认 100-200ms 内完成 打肉不疼,交火变成猜谜
音效 开火、命中、机械(换弹、拉栓)三层,加距离层与尾音 每把枪至少 3-4 个音效层 枪声像玩具,听不出方位就听不出威胁
相机震动 开火短震、受击方向震、爆炸衰减震,全部可调可关 开火震动 50-150ms 过度震动致晕,完全不震像贴纸

后坐与散布是两件事:后坐推的是视角,玩家可以反向拉枪压回;散布是落点的随机偏差,只能等它收敛。把「可学习的」和「随机的」分清楚,竞技向几乎全给可学弹道加极小散布,爽快向才把随机做大。

TTK(击杀时间)是整个游戏气质的总开关:

取向 观感 技能重心 参照
短 TTK 先手即生死(约 0.1-0.3 秒) 信息、位置、抬枪速度 反恐精英
长 TTK 拉扯与持续输出(1 秒以上) 走位、跟枪、配合 光环

两端混着做是新人常见死法:地图按躲闪节奏设计、数值却是刮痧,交火变成互相罚站。

调参纪律(与平台跳跃的帧级调参同源):只看逐帧录屏,不信「手感差不多」;在目标帧率和目标机型上调;灵敏度(cm/360)、FOV、举镜倍率写进参数表,给出默认值与可调范围。

验收标准:找 5 个人,各打 30 发静止靶与 30 发移动靶,记录「明明瞄准了却没中」的次数,每人 0-1 次为合格;同时追问原因,把账算到灵敏度、后坐或散布头上。

3.2 战斗空间与遭遇设计

战斗空间先于装饰存在。布置任何一场遭遇之前,先画出三条线:视线(谁能看到谁)、距离(贴脸、中距、远距各由哪种武器覆盖)、垂直(谁能站得更高压制谁)。

  • 垂直分层:地面、平台、梁三种高度决定压制关系。高台狙击位必须配一条以上反制路线(楼梯、侧廊、可破坏地板),否则空间变成单向屠宰场。
  • 距离分层:同一条进攻路线沿门布置三种交战距离,逼玩家轮换武器。全是远距的空间只服务一种枪。
  • 视线管理:门与走廊是信息交换点,进门先看「有威胁的那条线」;每个长视线的尽头要有一个看点或一个威胁,空的长廊是关卡事故。

掩体分三档,功能各不相同:

档位 定义 作用
全高掩体 站立也挡满身体,阻断视线 安全带:换弹、恢复、重新决策
半高掩体 蹲下全遮,站立露上半身 攻防转换的主要工具,探出与收回构成交火节奏
软掩体 可穿透(木板、铁皮、烟雾) 压缩「绝对安全」,让蹲坑有代价

遭遇编排走三段:预告(声音、影子、环境变化),对抗(弹道交换,玩家要有两条以上推进线),打扫(喘息、补给、下一段的钩子)。尺寸参考:步枪主战场视距 15-30 米;走廊 2-3 个身位宽;掩体间距与手雷投掷距离挂钩,别让玩家能靠原地丢雷清场。

检查表(每个遭遇过一遍):进门第一眼看到哪条威胁?有没有两条推进路线?被压制时往哪退?高台位有没有反制?度量与引导的完整方法见《关卡设计手册》。

3.3 敌人 AI 与兵种搭配

入门只需要一个概念:行为树。把敌人的决策写成优先顺序的树,四种节点够用:选择器(从上往下试,第一个可行的执行)、序列(一串步骤全部完成才算完成)、条件(读状态的判断)、叶子(真正执行的动作)。一颗最小 FPS 树:选择器 → 看见玩家就攻击(条件加动作)、听到动静就去查看、否则巡逻。先画树,再谈代码。

兵种搭配给玩家出「题型」,同一种兵再多也只是同一道题:

兵种 逼玩家做 反制 搭配提醒
冲锋兵 后退、换枪、回身射击 霰弹、近战、保持中距 从掩体侧面出场;成对登场提压力
压制手 躲进掩体、换路线 侧翼、穿墙武器 与冲锋兵错开距离:一个压,一个冲
狙击手 检查长视线、不敢暴露 烟雾、绕后、反制位 必须给出位置线索(枪口火光、音效)
掷弹兵 离开掩体、不敢蹲守 移动、击落发射物 与压制手组合会毁掉全部掩体,克制使用
重装精英 换武器、动用资源 弱点与机制位 一次遭遇最多一个,给足预告

起步做三种:近距冲锋、中距射击、重装各一;行为差异比外观数量值钱。三条纪律:

  • 瞄准留出反应时间与误差(常见 0.2-0.5 秒反应加固定角度误差),完美瞄准等于劝退。
  • 攻击前给前摇与音效;玩家要能预判,偷袭只留给脚本演出。
  • 受击必须有反馈:硬直、命中特效、语音;敌人的反馈是玩家输出的落点。

数量纪律:同一时刻正面交战的威胁控制在 3-4 个以内(参考),多的部分从远端排队加入。屏幕同时压来的威胁一多,玩家只剩后退一个动作。

4. 技术要点

工程难点集中在四处:第一人称的视角底座、射击判定与武器系统、AI 与性能、单人转多人的分野。以下与引擎无关,方法细节见《技术实现手册》。

4.1 第一人称的视角底座

  • 相机是可见世界,身体是碰撞体,两套解耦:身体是看不见的圆柱(身高、蹲、趴都是碰撞体状态),头只负责看。
  • 第一人称武器单独渲染层,避免贴墙时穿模或被裁剪;武器动画、枪口特效、准星属于这一层。
  • FOV、灵敏度、镜头晃动提供选项并记录默认值;晕动症是这个类型最常见的可访问性投诉,视野收缩、震动开关、蹲的按住与切换都算基础项。
  • 输入分平台调:键鼠用原始增量与加速开关(竞技默认关);手柄的吸附与减速曲线是两套独立瞄准辅助;触屏另算一套。

4.2 射击判定与武器系统

  • 判定方式先定:瞬发射线(hitscan)适合快节奏与竞技,飞行物(projectile)适合可躲避的慢节奏交火;混用时玩家建立不起直觉。
  • 命中盒与部位倍率:头、身、四肢分区,头部常见 2-4 倍或直接致死(参考);判定必须与视觉模型一致,「打到了却没中」是信任崩塌的重灾区。
  • 武器表驱动:每把武器一行数据(伤害、射速、弹匣、换弹、后坐曲线、散布、射程衰减、部位倍率),改数值不进代码。
  • 武器状态机管住动画与逻辑的分界:动画可被打断,逻辑不可;切枪时间与移动惩罚属于「重量」的一部分。

4.3 AI 与性能

  • AI 拆四层:导航(寻路网格)、感知(视锥加射线遮挡、声音事件)、决策(状态机或行为树)、执行(移动、射击、动画)。
  • 模拟 LOD:远处敌人降低感知与决策频率,离屏不再逐帧模拟;大量弹壳、命中特效、伤害数字全部走对象池。
  • 音频通道限流:同时最多播 N 个开火声,优先级是玩家武器、近处威胁、环境;爆炸与连续开火是削波重灾区。
  • 帧预算按渲染、逻辑、AI、音频分开划上限;没有测量不做优化,工具与方法见《技术实现手册》。

4.4 单人 vs 多人的工程分野

单人 FPS 是一场「播放」:关卡是舞台,节奏、演出、存档全部本地可控,工程难点在内容管线与性能。多人 FPS 是一场「协调」:没有导演,多个客户端对同一个世界各自操作,工程重心从内容转移到状态。

维度 单人 多人
状态真相 本地即时 服务器(或房主)权威裁决
时间线 可暂停、可慢动作 全局统一,延迟是常量
内容单位 关卡、遭遇、演出 地图、模式、赛季
制作重心 演出与关卡 平衡、网络、运营
典型失败 内容不好玩 延迟、外挂、匹配崩坏

分流纪律:先把单人的枪感与战斗循环做成立,再决定是否进入多人;网络一旦进场,每个设计都要重答一遍「这个状态服务器知道吗」,能服务器判的都不交给客户端。多人不是「加一个模式」,是另一条产品线:服务端、反作弊、运营节奏都在其中,链条的完整展开见《联机与后端深入手册》。

5. 内容量与工作量参考

以下为同类项目的常见量级,用于估算范围,不构成承诺。数字是尺子不是承诺,用自己团队的速度校准。

内容模块 最小可玩 舒适规模 备注
战役关卡 5-8 张 10-15 张 每张 20-40 分钟体验
多人地图 3 张 6-10 张 每张要吃下几十上百轮试玩
武器 6-8 把 10-15 把 每把一个明确定位,不做数值复制品
敌人兵种 4-6 种 8-12 种 行为差异优先于外观差异
模式 1-2 个 3-4 个 每加一个模式,全部地图重测一轮
战役时长 3-5 小时 8-12 小时 评估内容成本的第一把尺子

资产量陷阱(本类型最贵的几笔账):

  • 第一人称武器是最贵的单品:占屏三分之一、所有动画贴着镜头看,模型、手部动画、音效、特效、图标一套做完常见 1-3 周(参考)。武器数量按定位要,不按数字堆。
  • 敌人与地图的美术密度:玩家贴近看整个空间,单张关卡的美术耐受度远低于俯视与远景类型;白盒到成品的比例常见 1:3 到 1:5。
  • 多人地图的成本大头是试玩:美术只是小头,点位、重生、经济与平衡的迭代才是;上线后还有平衡与漏洞的长期维护。
  • 廉价复制会露馅:换色怪与「伤害 +10%」的枪会被一眼看穿,复用必须带行为或定位差异。
  • 单人地图与多人地图不能互相挪用:前者为节奏设计,后者为控制点与重生逻辑设计,空间目标不同。

工时参考(参考值):枪感原型 2-4 周;单人垂直切片(一张达到发行质量的关卡)2-4 个月;小体量单人作品 1-2 年;带竞技多人的小品同样是 1-2 年量级,且大头在平衡、网络与运营。范围失控与砍内容顺序见《制作管理手册》。

6. 第一个原型怎么起步

目标:2-4 周做出一个灰盒房间,验证「开枪愿意开第二枪」。不碰多人、不做换弹动画、不写剧情。

  1. (两天)一个 10×20 米的白盒房间加一把枪,瞬发射线判定;命中反馈全套先做齐:受击闪白、音效、伤害数字、击杀确认。
  2. (两天)移动与相机:走、跑、蹲、跳,灵敏度与 FOV 进设置;先不做头部晃动。
  3. (三天)武器参数全部表化并支持热改:伤害、射速、弹匣、换弹、后坐、散布;在靶场逐帧调三天,谁都不许贴图。
  4. (两天)加一种敌人(会寻路、有攻击前摇、常常打不中你)与两组掩体,做一场 30 秒的遭遇战。
  5. (三天)拼一张三遭遇的小关卡:预告、对抗、打扫各一段,中间安排一次强度高点;找没看过项目的人盲玩。
  6. (剩余)复盘:逐帧录屏对照问题清单(§3.1 与 §3.2),只改参数与布局,不加新系统。

成功标准(全部可观察):

  • 拿掉全部美术与音效,测试者仍愿意反复打靶与交战,单次通常 15 分钟以上。
  • 5 名测试者中至少 4 人无口头指导完成 30 秒遭遇战。
  • 任意改一个手感参数,你能在 5 分钟内量化它对交火结果的影响。
  • 测试者每次死亡都能说出原因(视线、距离、反应、位置四类里说得出来)。
  • 测试者是主动再来一局,而不是被请求再试一次。

7. 常见坑

  1. 枪感未定先铺内容:后坐与 TTK 会推翻关卡与动画的全部假设,枪调好之前别量产。
  2. 命中反馈只走一条通道:只有音效或只有视觉,玩家对「打中了吗」产生怀疑,交火变成猜谜。
  3. 后坐不可学习:全随机弹道让练枪失去意义;可学图案加少量随机是常见解。
  4. 看不见的死亡:无预告的狙击、背后刷怪、瞬秒;任何一次死亡都要能复盘出原因。
  5. 遭遇只有一条路:走廊打靶没有决策,玩家被压制一次就想退出。
  6. AI 完美瞄准或贴脸发呆:两端都毁体验;反应时间、误差、前摇是可读性三件套。
  7. TTK 与地图气质打架:秒杀数值配逃杀节奏,或刮痧数值配阵地战。
  8. 单人未验证就上多人:网络会把每个设计问题放大,先让单人成立。
  9. 内容量按数量估:武器、地图、兵种的真实成本在动画与试玩里,加法之前先做减法。
  10. 可访问性缺位:FOV、灵敏度、加速度、震动全不可调,眩晕与差评一起到来。
  11. 音频缺位:枪声没有距离层与尾音,命中音与开火音分不开;音频是手感的一半(见《美术与音频手册》)。
  12. 只在视频里抄布局不抄手感:手感来自亲手玩与逐帧录屏,视频抄得到构图,抄不到枪的重量。

延伸阅读

  • 《游戏设计手册》:核心循环、数值表与手感清单,本文 3.1 的调参方法与其数值部分配套。
  • 《关卡设计手册》:度量、引导、节奏与白盒流程,本文 3.2 的完整展开。
  • 《技术实现手册》:性能预算、数据驱动与多平台工程细节。
  • 《联机与后端深入手册》:从「能联机」到「扛得住、防得住」的完整路径,多人 FPS 的必修课。
  • 《美术与音频手册》:枪械动画、音效分层与混音的做法。
  • 《案例研究集》:找射击与竞技类的拆解,对照范围控制与长期运营的实际数字。
  • 作业:用灰盒复刻一张你熟悉的地图的一半,记录每次死亡的原因分类;再各玩一段短 TTK 与长 TTK 的作品,写清两者的手感差异。

FPS 看起来在卖枪,实际卖的是开火那一瞬间的可信度,以及十分钟后还想再打一局的理由。