Ludo Atlas · 类型手册 · 第一人称射击(FPS)¶
类型手册 · 第二辑。定位:把「瞄准与开火」做成第一人称视角下的第一技能,把空间、枪线与节奏做成核心对抗的射击开发手册,单人战役与多人竞技两条路线都在覆盖范围内。 配套:《游戏设计手册》(核心循环与数值表)·《技术实现手册》(性能与数据驱动)·《关卡设计手册》(空间与遭遇)·《联机与后端深入手册》(同步、匹配与反作弊)。 本文不放外链;案例只写公开作品名,数字为常见量级,按自己项目实测校准。
1. 定位与核心循环¶
一句话定位:FPS(第一人称射击)是以第一人称视角呈现、以瞄准与射击为核心动作的类型。第一人称不是机位,是信息装置:玩家看见的就是角色看见的,威胁从屏幕边缘进来、从背后消失,死亡来得快,原因也必须解释得清。
家族位置:射击(shooter)家族的原型成员。战术、竞技、英雄、撤离、刷宝等分支都在同一个核心上叠加规则;枪感与空间语言是共同地基。
核心循环用动词环写:
辨认威胁 → 瞄准 → 开火 → 走位换线 → 清点推进
这个环以秒计:一次交火 1-5 秒,一局由几十上百次交换组成。它成立的前提只有两条:开枪要有分量(§3.1),死亡要能复盘(§3.2、§7)。
同一个核心上长出两条产品路线:单人战役卖节奏与演出,多人竞技卖对抗与长期平衡。两者共享枪感与空间语言,工程与内容结构完全不同(§4.4)。
与相邻类型划边界:
| 相邻类型 | 边界 |
|---|---|
| 第三人称射击(TPS) | 视角外置,角色自身可见;FPS 的信息全压在屏幕上,压力来源不同 |
| 双摇杆射击 | 瞄准与移动解耦、辅助比例高;FPS 的瞄准是第一技能 |
| 沉浸式模拟 | 共用第一人称,但重心在多解与系统互动,射击只是工具之一 |
| 跑轰(run-and-gun) | 同家族分支:移动与射击的配比更偏移动,节奏更宽容 |
| 撤离类射击 | 交火之上叠加搜刮、撤离与损失规则,属于同一个核心的扩展 |
一个自检问题:把枪感调坏(去掉后坐、命中反馈、音效),游戏还成立吗?答案若为「不成立」,你做的就是 FPS。
2. 玩家体验目标与标杆作品¶
体验目标(按优先级排序):
- 开火的即时快感:每一枪都有重量、声音与后果,玩家为了「再开一枪」而继续。
- 瞄准的可见成长:从手忙脚乱到抬枪即中,精通曲线拉得长,每一步玩家自己都能感觉到。
- 战场阅读:半秒内完成威胁分级,是 FPS 的「智力」部分,也是高手与新手的分水岭。
- 节奏与呼吸:交火、喘息、再交火;单人的幕与多人的回合都是这个节奏的容器。
- 对抗叙事:被压制、翻盘、关键时刻的一穿三;过程故事是长期留存的燃料。
标杆作品(建议亲手玩过再拆,手感是手上学会的,不是看会的):
| 作品 | 可学的点 |
|---|---|
| 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 周做出一个灰盒房间,验证「开枪愿意开第二枪」。不碰多人、不做换弹动画、不写剧情。
- (两天)一个 10×20 米的白盒房间加一把枪,瞬发射线判定;命中反馈全套先做齐:受击闪白、音效、伤害数字、击杀确认。
- (两天)移动与相机:走、跑、蹲、跳,灵敏度与 FOV 进设置;先不做头部晃动。
- (三天)武器参数全部表化并支持热改:伤害、射速、弹匣、换弹、后坐、散布;在靶场逐帧调三天,谁都不许贴图。
- (两天)加一种敌人(会寻路、有攻击前摇、常常打不中你)与两组掩体,做一场 30 秒的遭遇战。
- (三天)拼一张三遭遇的小关卡:预告、对抗、打扫各一段,中间安排一次强度高点;找没看过项目的人盲玩。
- (剩余)复盘:逐帧录屏对照问题清单(§3.1 与 §3.2),只改参数与布局,不加新系统。
成功标准(全部可观察):
- 拿掉全部美术与音效,测试者仍愿意反复打靶与交战,单次通常 15 分钟以上。
- 5 名测试者中至少 4 人无口头指导完成 30 秒遭遇战。
- 任意改一个手感参数,你能在 5 分钟内量化它对交火结果的影响。
- 测试者每次死亡都能说出原因(视线、距离、反应、位置四类里说得出来)。
- 测试者是主动再来一局,而不是被请求再试一次。
7. 常见坑¶
- 枪感未定先铺内容:后坐与 TTK 会推翻关卡与动画的全部假设,枪调好之前别量产。
- 命中反馈只走一条通道:只有音效或只有视觉,玩家对「打中了吗」产生怀疑,交火变成猜谜。
- 后坐不可学习:全随机弹道让练枪失去意义;可学图案加少量随机是常见解。
- 看不见的死亡:无预告的狙击、背后刷怪、瞬秒;任何一次死亡都要能复盘出原因。
- 遭遇只有一条路:走廊打靶没有决策,玩家被压制一次就想退出。
- AI 完美瞄准或贴脸发呆:两端都毁体验;反应时间、误差、前摇是可读性三件套。
- TTK 与地图气质打架:秒杀数值配逃杀节奏,或刮痧数值配阵地战。
- 单人未验证就上多人:网络会把每个设计问题放大,先让单人成立。
- 内容量按数量估:武器、地图、兵种的真实成本在动画与试玩里,加法之前先做减法。
- 可访问性缺位:FOV、灵敏度、加速度、震动全不可调,眩晕与差评一起到来。
- 音频缺位:枪声没有距离层与尾音,命中音与开火音分不开;音频是手感的一半(见《美术与音频手册》)。
- 只在视频里抄布局不抄手感:手感来自亲手玩与逐帧录屏,视频抄得到构图,抄不到枪的重量。
延伸阅读¶
- 《游戏设计手册》:核心循环、数值表与手感清单,本文 3.1 的调参方法与其数值部分配套。
- 《关卡设计手册》:度量、引导、节奏与白盒流程,本文 3.2 的完整展开。
- 《技术实现手册》:性能预算、数据驱动与多平台工程细节。
- 《联机与后端深入手册》:从「能联机」到「扛得住、防得住」的完整路径,多人 FPS 的必修课。
- 《美术与音频手册》:枪械动画、音效分层与混音的做法。
- 《案例研究集》:找射击与竞技类的拆解,对照范围控制与长期运营的实际数字。
- 作业:用灰盒复刻一张你熟悉的地图的一半,记录每次死亡的原因分类;再各玩一段短 TTK 与长 TTK 的作品,写清两者的手感差异。
FPS 看起来在卖枪,实际卖的是开火那一瞬间的可信度,以及十分钟后还想再打一局的理由。