Ludo Atlas · 类型手册 · 弹幕射击(Shmup)¶
类型手册 · 第二辑。定位:以「穿过弹幕」为第一乐趣的街机射击类型。玩家用一枚小判定点,在持续加密的子弹图案里读出缝隙并穿过,用躲避精度换取分数与资源。 配套:《游戏设计手册》(核心循环与风险回报)·《技术实现手册》(对象池与同屏性能)·《关卡设计手册》(节奏与强度曲线)·《案例研究集》(拆解方法)。 本文不放外链,交叉引用用手册名与轮次编号;文中数字均为参考值,以你自己项目的实测与试玩为准。
1. 定位与核心循环¶
弹幕射击(Shmup,街机圈常称 STG)由固定射击(太空侵略者、小蜜蜂这一支)演化而来,在三个方向上走得更远:弹幕从零星几发变成整屏图案;自机判定从机体大小缩到一个小点;玩法重心从「先清敌人」变成「先读弹幕」。子弹数量上了一个数量级之后,玩家的注意力从瞄准转移到走位,这个类型才有了独立的玩法身份。
一句话定位:弹幕射击是「读图加穿缝」的类型。弹幕是出题人写好的图案,玩家在图案里找生路;输出大多自动或半自动,走位精度才是技术分水岭。核心循环用动词环写:
读弹幕 → 找缝 → 微移穿过 → 射击与收分 → 压力升级 → 再读图
这个环以秒为单位转动:一次穿缝的窗口常在半秒以内,一次失误的代价是一条残机。它成立的前提只有两条:判定要小(§3.2),缝隙要有解(§3.1)。
与相邻类型划边界:
| 相邻类型 | 边界 |
|---|---|
| 固定射击 | 敌人按阵型整体推进、弹幕简单;弹幕射击以子弹图案本身为难度来源 |
| 双摇杆射击 | 移动与瞄准分离、可自由改变朝向;弹幕射击自机朝向固定,火力始终向前 |
| 跑轰 | 有跳跃、平台与地形;弹幕射击在持续推进的空域里做二维躲避 |
| 幸存者类 | 攻击全自动、压力来自敌人的身体密度;弹幕射击的压力来自子弹图案,必须精确读图 |
一个自检问题:把弹幕密度降到零,游戏还成立吗?答案若为「不成立」,你做的就是弹幕射击。
2. 玩家体验目标与标杆作品¶
体验目标(按优先级排序):
- 读图快感:把满屏混乱读成有规则的图案,看穿它的那一刻,恐慌变成秩序。
- 毫厘之间:判定点常比子弹还小,贴弹而过时惊险与安全共存,这是本类型独有的刺激。
- 掌控感:每次死亡都能被玩家指认原因(这里没读出来、那里贪了一发),输了怪自己。
- 分数对赌:分数是击落、擦弹、连锁与无伤的乘积,逼玩家主动贴近危险换收益。
- 短局重开:一局 15-30 分钟,从失败到重开以秒计,重试本身就是玩法。
标杆作品(建议先玩后读;弹幕的读图体验只看视频学不到):
| 作品 | 可学的点 |
|---|---|
| 雷电 | 纵版基础骨架、红蓝武器取舍、道具与关卡的耦合 |
| 怒首领蜂 | 弹幕地狱的密度上限、蜂道具连锁、刷分结构 |
| 斑鸠 | 极性吸收:把「吃弹」变成资源,躲避与输出同源 |
| 东方系列 | 小判定点加擦弹的标准做法、弹幕的表演性、社区与难度分层 |
| 打击者 1945 | 短快紧凑的关卡结构、循环难度与高分路线 |
3. 设计要点¶
3.1 弹幕设计语言:密度、间隙与读图路径¶
弹幕设计不是堆数量,是写图案:同样的子弹数,摆成可读的图案是设计,乱撒是欺凌。先看密度分档:
| 档位 | 同屏子弹(参考) | 出现场景 | 设计要求 |
|---|---|---|---|
| 稀疏 | 10-60 | 开场与杂兵段 | 教会玩家当前弹种的运动规律 |
| 中等 | 60-200 | 关卡中段 | 出现选位压力,仍留一次失误的余量 |
| 密集 | 200-600 | Boss 高潮段 | 图案清晰可读,缝隙存在且成体系 |
| 极限 | 600-1000 | 弹幕地狱型作品的峰值 | 需要全链路专项优化,量力而行 |
密度只是入场券:高密度配可读的图案是爽点,高密度配乱图是劝退。缝才是机关:没有缝,弹幕无解;缝不可读,等于没有缝。三条经验规则:
- 舒适缝宽取判定点直径的 3 倍以上,高压缝收窄到 1.5 倍左右(参考),但永远保留一条安全路径。
- 缝与缝之间留迁移窗口,常见 0.5-1 秒(参考);窗口不足时,玩家不是不想躲,是物理上躲不过去。
- 图案要有对称与周期,让玩家两三轮之内能预测下一轮,预测成功的一刻就是爽点。
读图路径。 按时间顺序管理玩家的注意力:
| 层次 | 内容 | 做法 |
|---|---|---|
| 预警 | 激光指示线、Boss 抬手演出、音效 | 先提示后发射,给 0.5 秒以上的反应窗 |
| 危险本体 | 子弹、激光、冲撞的敌机 | 高对比、带高亮核心;移动中的子弹优先级最高 |
| 背景 | 场景与装饰 | 去饱和、压暗、降细节;禁止与弹幕撞色 |
颜色对比。 全屏弹幕的可读性一半在配色:
- 敌弹统一暖色系(红、橙、紫),自机子弹用冷色或白色,一眼分清「谁的弹」;速度用同色系深浅区分,弹种用形状区分,不单靠色相,兼顾色觉差异人群。
- 敌弹带高亮核心或描边,画面最亮处的亮度让给子弹。
3.2 判定与擦弹:小判定点与风险回报¶
判定点。 自机由两层组成:视觉机体(大)与判定点(小)。
| 元素 | 常见尺寸(参考) | 说明 |
|---|---|---|
| 自机视觉 | 24-64 像素 | 好看、好认,不参与伤害判定 |
| 判定点 | 半径 2-4 像素 | 实际吃弹的圆,按住低速键时可视化 |
| 擦弹圈 | 判定点的数倍 | 近失检测范围,擦过一次记一次 |
一条红线:判定必须明显小于视觉并可视化;「看着擦过去了却死了」一次都不能有,「看着命中了却没事」才是惊喜。
低速与擦弹。 按住低速键(聚焦),移动速度降到约一半,同时显示判定点,精调走位靠它;子弹从判定点旁擦过记一次擦弹,这是本类型最优雅的风险回报装置。两条设计轴:收益(转分数、充能、计数音效)与强度(调到「愿意冒险、但不敢全程贴弹」,用对照表实测校准)。
受击与保护。 被击中后进入短暂无敌(常见 1-3 秒,参考),同时清弹或局部清弹;残机减少,火力可能回退。保护期是给玩家重新读图的时间,不是惩罚加码的窗口。
3.3 关卡节奏与 Boss 弹幕模式¶
关卡骨架。 街机式单关常见 3-6 分钟(参考),骨架三段:开场段铺杂兵,教当前关的新弹种或新敌人动作;中段混编压力爬升,穿插道具机(加分或火力);Boss 战收尾,时长常见 60-150 秒(参考)。一条纪律:一关只引入一到两个新弹种或新敌人行为,铺得密不如铺得准。
Boss 多阶段。 Boss 骨架是「血条分段加模式切换」:
| 阶段 | 设计内容 |
|---|---|
| 每段血条 | 一个主弹幕模式加一到两个辅助模式,图案要有独立辨识度 |
| 阶段切换 | 全屏清弹加短演出加短暂的无攻击窗口,给玩家喘息与重定位的时间 |
| 最终段 | 弹幕强度与演出同时到顶,这是留给玩家的记忆点 |
阶段切换不清弹,是最廉价的无解来源:旧弹幕没走、新弹幕已来,叠加的瞬间杀掉刚打下血条的玩家,愤怒值直接拉满。
弹幕模式库。 不把弹幕写死在 Boss 里,而是做成可复用、可参数化的模式库:
- 每个模式记「弹种、数量、角度、速度、间隔、旋转、持续时长」,同一模式改参数就是新的难度变体;一个 Boss 准备 6-12 个模式(参考),按血条或时间轴索引轮换,中型敌人 2-4 个模式就够。
- 模式按解法打标签:绕圈、贴边、穿缝、预判位移;整套模式全考同一种能力就会乏味,二周目改速度与密度,同一批图案组合出重玩价值。
3.4 街机结构:分数、残机、续关¶
本类型的元结构继承自街机投币经济学,三件套要一起设计:
| 系统 | 常见配置(参考) | 设计意图 |
|---|---|---|
| 分数 | 击落分加道具分加擦弹分加连锁倍率 | 给技术一个可比较的标尺,刷分是长线动机 |
| 残机 | 初始 2-3 条,炸弹 2-3 枚 | 把「一次失误」和「一局结束」隔开一个缓冲层 |
| 续关 | 就地复活,分数标记或清零 | 街机是消费入口;家用版本要防止续关稀释成就感 |
分数结构是重点:只算击落分的分数没有表达力。好用的四个乘区:连锁(快速连续击破不掉链)、擦弹计数、无伤段奖励、道具收集率。四个乘区叠起来,同一关的分数差距从「多打了几架」变成「打法完全不同」,排行榜才有意义。1CC(一币通关)是这个类型的文化锚点:不续关通到底,是玩家对自己技术的最终声明。
4. 技术要点¶
4.1 同屏数量与子弹对象池¶
先给子弹定预算,再定内容量:
| 场景 | 同屏子弹(参考) | 工程提示 |
|---|---|---|
| 杂兵波 | 10-60 | 普通池即可覆盖 |
| 中段压力 | 60-200 | 需要选位与预判,碰撞开始吃性能 |
| Boss 高潮段 | 200-600 | 峰值场景,逐帧精确更新,重点优化对象 |
| 极限型作品 | 600 以上 | 全链路专项优化后才碰,移动端先把峰值砍半 |
- 全部池化、紧凑内存:敌弹、自机弹、道具统一预分配并预热到峰值,禁止运行中创建销毁(GC 抖动会直接毁掉手感);子弹用结构数组连续存放、顺序遍历,删除用交换删除或帧末统一回收;池溢出策略(拒绝发射、扩容、降级)写进设计文档。
- 碰撞只做必要配对:自机对敌弹是「一个点对 N 发」的单向检测;自机弹对敌机用空间网格粗筛;子弹对子弹一律不测。
- 固定步长与渲染合并:弹幕更新与判定用固定步长(常见 60Hz)与渲染解耦,高速弹做扫掠防穿人;子弹共享图集与材质,批处理或实例化绘制,屏幕外停止更新。
4.2 弹幕数据驱动与工具链¶
- 发射器参数化:弹种、数量、角度、速度、间隔、旋转、加速度全部进数据表;模式用「等待时间加发射器调用」的事件序列描述,存成表文件或 JSON。
- 弹幕编辑器值得提前做,哪怕是最简版本:帧步进、慢放、判定圈叠加、模式热重载。没有预览工具的弹幕调试,成本会成倍上升。
- 模式库复用:模式打标签入库,Boss 从库里组合;二周目与高难度直接改参数,同一批资产组合出重玩价值。
4.3 判定实现、回放与存档¶
- 判定点用一个半径 2-4 像素的圆(参考),与视觉完全分离,低速键负责把它画出来;擦弹用更大的检测半径做近失判定,同一颗子弹只记一次,接分数与音效。
- 受击流程按状态机走:判中、扣残机、无敌帧、清弹、火力回退(可选)、重新进入战斗;顺序错一步就会复活即死。
- 回放与排行:固定步长加确定性逻辑,输入序列就是完整回放(体积小、可校验、支撑反作弊);起步可以先不做,架构上给确定性留路。存档只存最高分、1CC 标记与解锁。
5. 内容量与工作量参考¶
以下为同类项目的常见量级,用于估算范围,不构成承诺。
| 项目形态 | 内容量级 | 周期量级 | 备注 |
|---|---|---|---|
| 原型 | 1 关加 1 个三阶段 Boss、3-5 种弹种 | 2-4 周 | 零美术,白盒弹幕 |
| 小型完整作品 | 3-5 关,每关 1 Boss、2-3 个自机 | 3-6 个月 | 单人,竖版像素 |
| 街机级作品 | 5-6 关加多周目与分支路线 | 1-2 年 | 弹幕调试占大头 |
子项参考(单人):弹幕编辑器 2-4 周(一次性投入);单个 Boss 1-3 周(6-12 个模式的设计、实现与平衡);子弹与敌机美术小尺寸、单人可量产(子弹 8-24 种、敌机 10-30 种);平衡与调参贯穿全程,1CC 通关率与分数分布是验收指标。
体量提醒:这个类型的内容量看着轻,但「能通」与「好玩」之间隔着弹幕调试,一个 Boss 改二十版是常态。排期时按实现时间的 2-3 倍预留调试。
6. 第一个原型怎么起步¶
目标:1-2 周做出「1 关加 1 Boss」的最小循环,验证读图与穿缝是否成立。
- (半天)自机:常速移动、低速键、判定点显示(判定半径 2-4 像素,视觉大幅大于判定)。
- (一天半)子弹对象池、直线弹发射器、命中判定与擦弹计数跑通,再用参数表拼出扇形、环形、螺旋三种图案。
- (一天)三阶段 Boss:每阶段一个主图案,切阶段全屏清弹加演出。
- (半天)死亡、残机、无敌帧、清弹、分数结算与快速重开。
- (一天)调三组数:移动速度、判定大小、缝宽,目标是找到「吓人但死不掉」的临界点。
- (一天)试玩验收:找 3-5 个陌生人,不提示、不解释,记录死因。
验收标准(全部可观察):
- 每次死亡的原因测试者能说出来,而不是「莫名其妙就死了」。
- 「看着没碰到却死了」的抱怨为零。
- 至少一半测试者主动要求再来一局。
三项不达标就先别铺第二关:弹幕的可读性与判定宽容度是地基,返工最贵。
7. 常见坑¶
- 判定与视觉不一致:看着擦过了却死了。判定点必须明显小于机体并可视化,这是本类型的头号差评源。
- 弹幕无解或缝隙不可读:图案闭合成死路,或解存在但没人能看出来。发布前把每段弹幕慢放肉测一遍。
- 背景与弹幕撞色:背景去饱和、压暗,把画面最亮的部分让给子弹。
- 难度只靠提速加量:新弹种、新组合、新解法才是难度曲线的主力,无限加密度只会提前触顶。
- 子弹不池化:运行中创建销毁,GC 抖动毁手感;先池化,再扩内容量。
- 阶段切换不清弹:新旧弹幕叠加出无解瞬间,是廉价又致命的愤怒源。
- 输入延迟失控:本类型的延迟预算常见 1-2 帧,链路一长玩家就感觉「粘」。
- 复活即死:无敌帧、清弹、重新定位没有一起做,一次死亡连丢三条命。
- 分数结构单一:只有击落分就没有表达力;用连锁、擦弹、无伤、收集率四个乘区撑起来。
- 续关处理不当:续关后一切照旧,1CC 的标尺失效;续关要标记或清零。
- 擦弹收益失衡:高到人人贴弹、低到无人问津都是失败;用风险回报表调准。
- 弹幕写在代码里:改一个角度就要编译,调试效率归零;数据驱动加预览工具是保底配置。
延伸阅读¶
- 《游戏设计手册》:核心循环、风险回报与分数系统的通用方法。
- 《关卡设计手册》:节奏与强度曲线,对应本文的关卡骨架与 Boss 节奏。
- 《技术实现手册》:对象池、碰撞与性能工程,本文第 4 节的完整展开。
- 《案例研究集》:经典射击作品的拆解与复盘方法。
- 作业:把雷电与斑鸠任意一关玩通,记录「哪一段最慌、慌的时候死没死、死后怪谁」;再做 §6 的最小循环,把死因分类做成表,改三版弹幕再回看这张表。