Boss Rush
Boss Rush
Boss Rush 是我独立开发的第一款弹幕游戏。我使用 JavaScript 和 Microsoft MakeCode Arcade 制作了玩法、像素美术、动画特效和游戏系统。初版开发大约花了一周,之后我继续加入更多 Boss、攻击组合、界面功能和性能优化。
游戏以连续 Boss 战为核心。每个 Boss 有自己的特殊攻击,其他攻击则由主弹幕和附加子模式随机组合。盾牌可以抵挡弹幕,也能投掷出去攻击敌人。自定义 Boss 模式允许玩家组合多名 Boss,并调整战斗条件。

在线游玩 Boss Rush — v1.0.17
键盘操作:Z = 游戏机 A 键;X = 游戏机 B 键。 游戏原本面向游戏机操作,因此网页模拟器使用的键盘按键与游戏内的按键名称不同。
Boss 战斗设计
随机弹幕与特殊攻击
我为 Boss 制作了多种主弹幕模式和附加子模式。每次生成 Boss 时,系统会随机选择攻击组合,使同一名 Boss 在不同战斗中出现不同的弹幕变化。每个 Boss 还有自己的专属攻击,战斗风格由专属机制和随机弹幕共同构成。

LASER 的普通激光攻击由连续变化的激光弹幕组成,玩家需要观察弹幕轨迹,在移动中寻找躲避空间。

Boss 大招与愤怒阶段
当 Boss 的生命值低于 30%,就会进入愤怒阶段,攻击方式随之强化。 DANMAKU 擅长密集旋转弹幕;WALL 的终极攻击在愤怒阶段会改变速度并反向运动。v1.0.17 降低了 DANMAKU 终极攻击的密度与旋转速度,同时强化了 WALL 与 RUSH 的愤怒阶段攻击。
召唤怪的大招会召唤更多敌人,将原本的单体 Boss 战变成多目标战斗,迫使玩家同时处理移动、弹幕和召唤物。

RUSH 的大招会在冲出屏幕后重新锁定玩家,并改变下一次冲锋方向。

LASER 在愤怒阶段强化终极攻击,形成由大型激光球组成的密集弹幕。程序会自动填补相邻大球之间的视觉空隙,消除大球交界处的粗糙边缘,使整体光束更加连续、完整。
HYBRID DUCK 可以强化其他 Boss。它的保护球与 RUSH、WALL 等 Boss 的攻击叠加,使多 Boss 战斗形成更复杂的弹幕组合。
盾牌的攻防转换
盾牌可以防御弹幕,也能投掷出去伤害敌人。这一机制的灵感来自《Danmaku Death》,使玩家能够在防御与进攻之间主动切换。
Boss Rush 像素美术
这些角色、Boss 和弹幕素材直接提取自游戏源代码。
![]()
开发过程与系统
程序生成的美术特效
大部分特殊效果由自定义程序根据数学公式计算形状、移动轨迹与动画,再实时绘制。我为玩家预绘重要朝向的像素帧,并使用镜像与旋转制作其他方向,以避免低分辨率图像实时旋转时的锯齿和拖尾问题。
弹幕渲染性能
我为密集弹幕开发了自定义渲染方式,绕开逐发 Sprite 更新与绘制的额外开销。测试中,自定义方案以 45 FPS 绘制 4,282 发弹幕;原生 Sprite 方案绘制 1,531 发时只有 17 FPS。自定义方案在显示更多弹幕的同时,帧率达到后者的约 2.6 倍。

具体来说,我将屏幕内的弹幕集中绘制到同一张画布上,不再为每发子弹承担独立 Sprite 的渲染开销;碰撞计算也只针对接近玩家和盾牌的弹幕进行。另一次压力测试中,游戏同时管理超过 15,000 发弹幕,绝大多数位于屏幕外,仍保持约 25 FPS。

课程关联: 我最初通过游戏开发导论课程接触到 MakeCode Arcade,在小组合作开始前独立开发了 Boss Rush 初版。课程作品页收录了这项游戏。
