<!-- title: 《SpaceHuggers》13KB，一颗随便炸的星球 -->
<!-- domain: games -->
<!-- repo: KilledByAPixel/SpaceHuggers -->

一张高清表情包的大小，约13KB。有人往这13KB里塞进了一整颗星球：程序生成的关卡、可以逐块炸碎的地形、会蔓延的火焰、五个兵种的敌军、四人同屏合作——一个完整的横版跑打肉鸽游戏。不用下载客户端，浏览器打开就玩。

它叫 Space Huggers，作者是独立开发者 Frank Force（GitHub ID：KilledByAPixel），为 JS13K 比赛而写。这个比赛只有一条铁律：整个游戏压缩后不能超过13KB。13KB是什么概念？微信里随手发的一段语音都比它大，而他要在这点空间里放下引擎、物理、AI、音效和一整个会燃烧的星球。

## 仓库档案

| 项目 | 内容 |
| --- | --- |
| 仓库 | KilledByAPixel/SpaceHuggers |
| Star / Fork | 288 / 84（据仓库页面） |
| 语言 | JavaScript |
| 作者 | Frank Force，个人账号，单人开发 |
| 定位 | JS13K 参赛作品：13KB 的横版跑打肉鸽 |
| 在线试玩 | killedbyapixel.github.io/SpaceHuggers/ |
| 许可 | README 明确声明“仅供学习，勿再分发” |

Star 数不到三百，但它是个“以小博大”的典型：这个仓库本身只是名片，作者真正的资产在它身后——同一账号下的 LittleJS 引擎（⭐4196）、ZzFX 音效系统（⭐795）都是数千人级别的开源项目。Space Huggers 是那颗母舰的活广告。

## 这游戏是什么

一句话：你是反抗军精英士兵，帝国在银河各处建了前哨站，你的任务是跳上随机生成的星球，把基地里所有敌人清干净——顺便把整张地图炸个稀烂。

每局开场，程序给你造一颗新星球：多层视差背景、星空、雨或雪，地表和建筑全部由可破坏的瓦片构成。你带着10条克隆命落地，杀光敌人即过关，每过一关补3条命。武器三件套：枪（打碎大部分东西）、翻滚（短暂无敌、撞人掉血、还能灭火）、手雷（每条命3颗，能把手雷扔出去再跳上去借爆炸上高台）。屏幕底部一条雷达时刻告诉你敌人还有多远——不是找不到敌人，是敌人正在逼近你。

```mermaid
flowchart TD
    A["一局开始<br>程序生成新星球"] --> B["落地探索<br>雷达追踪敌人"]
    B --> C["遭遇战<br>射击/翻滚/扔雷"]
    C --> D["地形被破坏<br>木箱起火、油桶爆炸"]
    D --> E["火焰蔓延<br>连锁反应重排战场"]
    E --> F{"地图上<br>还有敌人吗"}
    F -- "有" --> C
    F -- "没了" --> G["占领检查点<br>过关结算"]
    G --> H["获得3条新克隆命<br>下一颗星球更强"]
    H --> A
    C -. "中弹损失一命" .-> I["在检查点重生"]
    I --> C
```

## 为什么上头

**第一层：每一发子弹都有回音。** 大部分射击游戏里，子弹打墙就是一串火花动画，是“无效输入”。Space Huggers 里没有无效输入——子弹打墙，墙碎；打塑料箱，箱燃；火烧到炸药桶，桶炸；炸塌的地板把楼下敌人埋了。整个战场是一根连着引信的鞭炮，你的每一枪都是在点火。这种“我改变了世界”的即时反馈，是横版射击最稀缺的爽感来源。

**第二层：火焰是免费的随机奖励发生器。** 火会蔓延，而蔓延路径取决于你刚才怎么打。同一张图，你可能一枪引爆连环油桶直接团灭敌军，也可能把自己逼进死角。结果不可预测但因果清晰——炸了是你点着，炸了自己也赖不得别人。这正是老虎机原理的正统游戏化用法：随机奖励，但让玩家把功劳记在自己头上。

**第三层：翻滚给了技术天花板。** 翻滚有短暂无敌帧，能撞掉敌人血，能扑灭身上的火，还带位移加速——一个键三件事。高手贴脸翻滚穿弹幕，新手滚进岩浆，同一个机制拉开技术分层。“我变强了”的感觉不是数值给的，是操作给的。

**第四层：命的节奏设计。** 开局10条命，每关+3，死了在检查点重生而非重开整局。死亡惩罚温和到几乎不劝退，但雷达上逼近的敌人和越打越硬的兵种（绿兵1血、蓝兵2血、红上尉会爬墙、白衣特种兵会翻滚闪避、紫衣爆破手扔雷还烧不着）持续制造压力。压力低、损失轻、重来快——“再来一局”的阻力被压缩到最小。

**第五层：它没有终点。** README原话："There is no end"，只提议你去挑战前五关。程序生成保证了每局都是新地图，没有通关就没有“玩完了”的时刻，只有“这把没打好”的时刻。这是肉鸽品类最核心的上头引擎。

## 技术拆解

这个仓库真正值钱的地方，是它演示了“极限约束下的完整游戏该长什么样”。

**引擎与游戏分离。** 比赛期间现写的自研引擎，和游戏代码完全分成两套目录，构建时再合并压缩。这套引擎后来被作者单独养成 LittleJS——无依赖的 2D/3D HTML5 引擎，MIT 协议，今天仍在活跃维护。你要做网页小游戏，可以直接拿 LittleJS 起步，不用重复造轮子。

**性能账本。** 一个13KB的游戏敢号称5万对象60帧：AABB 刚体物理、基于瓦片的渲染与碰撞、统一的粒子系统（雨、雪、血、爆炸、水花全走一条管线）。它的思路不是“优化到极限”，而是“设计上就不做昂贵的事”——没有逐像素光照，没有复杂着色，12色调色板配17张贴图，风格纪律本身就是性能方案。

**零音频文件。** 全部11种音效用 ZzFX 程序化合成，一个音频文件都不占，还带距离衰减——爆炸在远处听着更闷。ZzFX 本身是独立开源项目，一行代码出音效，做小游戏 Demo 时直接抄走就能用。

**13KB 压缩流水线。** 这是全仓库最有“行业机密”味的部分：Google Closure 编译、UglifyJS 压缩、Imagemin 压图、ECT 高压比压缩、Advzip 再挤一遍，最后过 Roadroller——把 JS 当数据做线性编码、运行时现场解压执行。作者甚至注明：由于 Roadroller 的随机性，每次构建的包体会波动20字节左右。这条流水线写成了一键脚本，放在仓库里直接可复用。

**输入抽象。** 键盘、鼠标三键、最多4个手柄、移动端触屏，一套输入层全兼容——四人本地合作几乎是白送的传播功能。

另外注意 README 里那句“仅供学习，勿再分发”——它没有开源许可证，法律上保留所有权利。想学的是它的设计方法，不是直接 fork 改皮上架。

## 变现观察

Space Huggers 本身没有变现痕迹，反而是刻意反变现的：免费、声明勿分发、纯作品。但这张名片背后的账本，比游戏本身更能说明个人开发者的变现结构。

看作者仓库列表就明白了：LittleJS-AI（引擎+模板+适配 Claude Code、Codex、Cursor 等 AI 编程工具的 agent 指令，“让 AI 替你写游戏”）、LittleJSArcade（用自家引擎重制的经典街机合集）、Newgrounds API 封装（接游戏平台生态）、TinyCode（体积压缩技巧集），更早还有拿下“年度最佳视错觉奖”第一名的 Dual-Axis-Illusion。游戏免费引流，引擎建生态，AI 套件蹭上2026年最热的 agentic coding 浪潮，视错觉作品和比赛履历做个人品牌——这是一个“小游戏开发者”的完整资产组合，游戏是入口，不是终点。

对只想赚第一桶金的人，这条路同样走得通，而且更短：这类“一局三五分钟”的网页小游戏，现实变现位有三个——itch.io 的随意付费、CrazyGames/Poki 这类网页游戏平台的广告分成（平台给你导流，你交游戏）、以及微信小游戏（小包体过审快，广告组件接入成熟）。JS13K 这类比赛还有赞助商奖金和曝光，履历值钱过奖金。横版射击+可破坏地形这个组合，在“解压发泄”标签下天然带量，恰恰是小流量游戏里最容易跑广告模型的一档。

## 给我的灵感

**一、把“可破坏+火势蔓延”拆出来，换个本土题材。** 这两个系统是仓库的灵魂，也是可直接在 LittleJS 里重写的部分（瓦片状态机+火焰邻居扩散，各约两百行量级）。题材换成爆竹年兽、武侠暗器、或者“离职那天炸掉工位”的解压向——MVV 两到三周。变现走微信小游戏：插屏广告+看广告复活，解压题材的次留和广告点击率都比均值好看。

**二、把13KB当营销，而不是当约束。** 极限体积在中文圈是稀缺内容——"13KB装下一颗星球”本身就是标题党级传播素材。做一局3分钟、压进13KB的横版小游戏，投 HN、V2EX、即刻，游戏大概率不直接赚钱，但它能换来的是咨询、外包、模板销售的入场券。作者仓库里的 TinyCode 和那条压缩流水线脚本，就是现成的教材。

**三、抄“引擎+AI指令包”的新钩子。** 作者2026年的新动作很值得盯：LittleJS-AI 把引擎、模板和适配各家 AI 编程工具的 agent 指令打包，明说“让 AI 替你写游戏而不是看着你写”。中文圈还没有成型的同类物——用 LittleJS 做三五个可玩 Demo，配一套中文 agent 指令和教程，就是一周级的工作量，可以做成付费模板包或社群引流品。做游戏的未必赚钱，教人用 AI 做游戏的那批人正在赚。

## 上手

- 仓库：github.com/KilledByAPixel/SpaceHuggers
- 在线试玩：killedbyapixel.github.io/SpaceHuggers/（官方 JS13K 构建见 README 入口）
- 可复用组件：LittleJS 引擎与 ZzFX 音效（均为 MIT 协议，见作者仓库列表）

打开就能玩，记住一条新手技巧：着火了别慌，滚一下就灭。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
