跳转至

Ludo Atlas · 类型手册 · 弹幕射击(Shmup)

类型手册 · 第二辑。定位:以「穿过弹幕」为第一乐趣的街机射击类型。玩家用一枚小判定点,在持续加密的子弹图案里读出缝隙并穿过,用躲避精度换取分数与资源。 配套:《游戏设计手册》(核心循环与风险回报)·《技术实现手册》(对象池与同屏性能)·《关卡设计手册》(节奏与强度曲线)·《案例研究集》(拆解方法)。 本文不放外链,交叉引用用手册名与轮次编号;文中数字均为参考值,以你自己项目的实测与试玩为准。


1. 定位与核心循环

弹幕射击(Shmup,街机圈常称 STG)由固定射击(太空侵略者、小蜜蜂这一支)演化而来,在三个方向上走得更远:弹幕从零星几发变成整屏图案;自机判定从机体大小缩到一个小点;玩法重心从「先清敌人」变成「先读弹幕」。子弹数量上了一个数量级之后,玩家的注意力从瞄准转移到走位,这个类型才有了独立的玩法身份。

一句话定位:弹幕射击是「读图加穿缝」的类型。弹幕是出题人写好的图案,玩家在图案里找生路;输出大多自动或半自动,走位精度才是技术分水岭。核心循环用动词环写:

读弹幕 → 找缝 → 微移穿过 → 射击与收分 → 压力升级 → 再读图

这个环以秒为单位转动:一次穿缝的窗口常在半秒以内,一次失误的代价是一条残机。它成立的前提只有两条:判定要小(§3.2),缝隙要有解(§3.1)。

与相邻类型划边界:

相邻类型 边界
固定射击 敌人按阵型整体推进、弹幕简单;弹幕射击以子弹图案本身为难度来源
双摇杆射击 移动与瞄准分离、可自由改变朝向;弹幕射击自机朝向固定,火力始终向前
跑轰 有跳跃、平台与地形;弹幕射击在持续推进的空域里做二维躲避
幸存者类 攻击全自动、压力来自敌人的身体密度;弹幕射击的压力来自子弹图案,必须精确读图

一个自检问题:把弹幕密度降到零,游戏还成立吗?答案若为「不成立」,你做的就是弹幕射击。

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

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

  1. 读图快感:把满屏混乱读成有规则的图案,看穿它的那一刻,恐慌变成秩序。
  2. 毫厘之间:判定点常比子弹还小,贴弹而过时惊险与安全共存,这是本类型独有的刺激。
  3. 掌控感:每次死亡都能被玩家指认原因(这里没读出来、那里贪了一发),输了怪自己。
  4. 分数对赌:分数是击落、擦弹、连锁与无伤的乘积,逼玩家主动贴近危险换收益。
  5. 短局重开:一局 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」的最小循环,验证读图与穿缝是否成立。

  1. (半天)自机:常速移动、低速键、判定点显示(判定半径 2-4 像素,视觉大幅大于判定)。
  2. (一天半)子弹对象池、直线弹发射器、命中判定与擦弹计数跑通,再用参数表拼出扇形、环形、螺旋三种图案。
  3. (一天)三阶段 Boss:每阶段一个主图案,切阶段全屏清弹加演出。
  4. (半天)死亡、残机、无敌帧、清弹、分数结算与快速重开。
  5. (一天)调三组数:移动速度、判定大小、缝宽,目标是找到「吓人但死不掉」的临界点。
  6. (一天)试玩验收:找 3-5 个陌生人,不提示、不解释,记录死因。

验收标准(全部可观察):

  • 每次死亡的原因测试者能说出来,而不是「莫名其妙就死了」。
  • 「看着没碰到却死了」的抱怨为零。
  • 至少一半测试者主动要求再来一局。

三项不达标就先别铺第二关:弹幕的可读性与判定宽容度是地基,返工最贵。

7. 常见坑

  1. 判定与视觉不一致:看着擦过了却死了。判定点必须明显小于机体并可视化,这是本类型的头号差评源。
  2. 弹幕无解或缝隙不可读:图案闭合成死路,或解存在但没人能看出来。发布前把每段弹幕慢放肉测一遍。
  3. 背景与弹幕撞色:背景去饱和、压暗,把画面最亮的部分让给子弹。
  4. 难度只靠提速加量:新弹种、新组合、新解法才是难度曲线的主力,无限加密度只会提前触顶。
  5. 子弹不池化:运行中创建销毁,GC 抖动毁手感;先池化,再扩内容量。
  6. 阶段切换不清弹:新旧弹幕叠加出无解瞬间,是廉价又致命的愤怒源。
  7. 输入延迟失控:本类型的延迟预算常见 1-2 帧,链路一长玩家就感觉「粘」。
  8. 复活即死:无敌帧、清弹、重新定位没有一起做,一次死亡连丢三条命。
  9. 分数结构单一:只有击落分就没有表达力;用连锁、擦弹、无伤、收集率四个乘区撑起来。
  10. 续关处理不当:续关后一切照旧,1CC 的标尺失效;续关要标记或清零。
  11. 擦弹收益失衡:高到人人贴弹、低到无人问津都是失败;用风险回报表调准。
  12. 弹幕写在代码里:改一个角度就要编译,调试效率归零;数据驱动加预览工具是保底配置。

延伸阅读

  • 《游戏设计手册》:核心循环、风险回报与分数系统的通用方法。
  • 《关卡设计手册》:节奏与强度曲线,对应本文的关卡骨架与 Boss 节奏。
  • 《技术实现手册》:对象池、碰撞与性能工程,本文第 4 节的完整展开。
  • 《案例研究集》:经典射击作品的拆解与复盘方法。
  • 作业:把雷电与斑鸠任意一关玩通,记录「哪一段最慌、慌的时候死没死、死后怪谁」;再做 §6 的最小循环,把死因分类做成表,改三版弹幕再回看这张表。