DeepSeek Harness Hub
← 返回列表

Flora233333/deep-rock-galactic-html

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
需源码安装

深岩银河 · HTML 版

暂不能直接安装(需源码编译或环境不满足):仓库缺少 package.json,无法用 dsh 插件安装命令安装。 · 最近上游提交 2026/8/21 · 已提供中文文档

一个由 DS 从零手写的《深岩银河》网页复刻:5000 行原生 Canvas 2D,把一颗星球的黑暗、可破坏的岩层和永不停歇的虫潮塞进了浏览器。素材是它自己去官方 Wiki 翻的,bug 是它自己用浏览器抓的,像素画是它自己一格格点出来的。零依赖,双击即玩。ROCK AND STONE!

综合分
35
GitHub 分
35
用户评分
★ Stars
9
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Flora233333/deep-rock-galactic-html
仓库缺少 package.json,无法用 dsh 插件安装命令安装,改用 GitHub 源安装
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包deep-rock-galactic-html(未发布到 npm,仅可源码安装)
Node 引擎未声明 engines.node
dsh CLI 依赖未声明 dsh 版本约束
入口文件缺少入口声明

仓库缺少 package.json,无法用 dsh 插件安装命令安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/19 19:16:46

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

深岩银河 · HTML 版

在浏览器里挖穿一颗星球 —— 用原生 HTML5 + Canvas 2D + WebAudio 手写的二维《深岩银河》复刻

 

“洞穴不会为你让路,所以矮人自己开路。”

这是一次彻底的手工活:没有游戏引擎,没有一行第三方 JS,5000 行原生代码从零垒出可破坏的程序化洞穴、
真正吞噬视线的黑暗、会爬墙会啃岩石的 Glyphid 虫潮,以及那句永远不会过时的 ROCK AND STONE!
打开浏览器,戴上头灯,下降舱已经在等你了。

▶ 三种方式立刻开玩

| 方式 | 怎么做 | 适合谁 |
| :-- | :-- | :-- |
| ① 在线直玩 | 打开 flora233333.github.io/deep-rock-galactic-html(仓库 Settings → Pages → Source 选 main / root 即可开启) | 什么都不想装 |
| ② 下载解压双击 | 点右上角绿色 Code → Download ZIP → 解压 → 双击 index.html | 想离线玩 / 发给朋友 |
| ③ 本地服务器 | Windows 双击 serve.bat;macOS/Linux 执行 ./serve.sh然后打开  | 想最稳妥,或用非 Chrome 浏览器 |

克隆下来玩 / 改代码
git clone https://github.com/Flora233333/deep-rock-galactic-html.git
cd deep-rock-galactic-html
./serve.sh           # → http://127.0.0.1:8129/

代码刻意避开了 ES module、fetch 和 XHR,所以 file:// 直接双击也能加载全部 92 张贴图 + 37 段音频。
首次点击页面后才会出声(浏览器的自动播放策略),建议窗口 ≥ 1280×720,键盘 + 鼠标。

✨ 它到底做了什么

真·可破坏地形4 万格瓦片洞穴,每一块都能挖穿。镐子一挥啃下一小片岩壁,钻机则像热刀切黄油一样开出隧道;C4 和榴弹会在山体上炸出真正的坑洞。

会吃掉你视线的黑暗低分辨率光照缓冲 + multiply 合成:头灯是跟着准星扫的光锥,照明弹在地上噗噗跳动并把洞顶染成橘色,矿石在暗处自己发微光——那是唯一的导航线索。

会爬墙、会啃岩石的虫子9 种 Glyphid:幼虫、虫兵、卫士、爆裂虫、禁卫军、会飞会喷的麦克特拉、孵化虫,还有肥虫和黄金肥虫。挡路的岩石它们会自己啃穿,追不上你就顺着墙爬。

完整任务循环挖莫尔凯特 → 存进莫莉 M.U.L.E. → 硝石换补给舱 → 达成配额呼叫撤离飞船 → 三分钟倒计时 + 最凶的一波虫潮 → 冲进飞船。结算算信用点与经验,进度存本地。

BOSCO 陪你下矿自动开火、可以 Shift+Q 指派去挖你标记的矿石、你倒地时飞过来救你——但复活模块有充能冷却,冷却里倒地就是真的失败。

10 个星区 × 5 个危险等级 × 4 个职业每个星区有自己的配色与视差背景;危险等级同时影响配额、虫潮强度、敌人血量伤害和奖励倍率。种子可填,同种子同地图。

🎬 画面

太空站主菜单 — 背景是缓缓漂移的空间站与 Hoxxes IV
任务终端 — 选星区、危险等级、职业,看配额与倍率

开采莫尔凯特 — 头灯光锥、矿石微光、飞散的碎石
虫潮来袭 — 任务控制中心播报,禁卫军带队冲过来

撤离倒计时 — 飞船砸穿洞顶,三分钟往回跑
任务结算 — 信用点、经验、等级进度条

地形扫描仪 — Tab 打开全图,只显示走过的地方
内置操作说明 — 游戏里随时 Esc 查看

🎮 操作

| 按键 | 作用 |
| :-- | :-- |
| A D | 左右移动 |
| Space / W | 跳跃 · 贴着墙按 = 蹬墙跳(爬出自己挖的竖井) |
| 鼠标移动 | 瞄准,头灯跟着照 |
| 鼠标右键 / C | 挖掘(镐 / 钻机,带瞄准辅助) |
| 鼠标左键 | 开火当前武器 |
| 1 2 / 滚轮 | 切换主武器 / 副武器 |
| R | 装填 · 目标完成后=呼叫撤离飞船 |
| F | 扔照明弹 |
| G | 手雷 |
| Q | 职业装备:抓钩 / 平台枪 / 护盾 / C4(再按一次引爆) |
| X | 工程师:部署哨戒炮 |
| Shift+Q | 让 BOSCO 去挖准星指的矿石 |
| E | 交互:存矿 / 用补给舱 / 登船 |
| T | 呼叫莫莉 M.U.L.E. 过来 |
| V | 呼叫补给舱(需存入 80 硝石) |
| Tab | 地形扫描仪全图 |
| Esc | 暂停菜单(操作说明 / 设置 / 放弃任务) |

太黑?Esc → 设置 → 调低「黑暗程度」。卡顿?调低「渲染精度」(游戏也会自动降)。

🧭 一局任务长什么样

1.  下降 —— 下降舱把你和 BOSCO 丢进洞穴,莫莉在旁边待命。
2.  开采 —— 按住右键啃岩壁,找绿色的莫尔凯特(主目标矿物)。
3.  存放 —— 背包 60 上限,走到莫莉旁按 E 存入;她走不过来时按 T 叫她。
4.  补给 —— 存够 80 硝石按 V,补给舱砸下来补满弹药、装备充能和生命。
5.  求生 —— 虫潮按时间与危险等级刷新,任务控制中心会提前喊你。
6.  撤离 —— 配额达成按 R 呼叫飞船,3 分钟倒计时里跑回去按 E 登船。

👷 四个职业

钻机 DRILLER
工程师 ENGINEER
枪手 GUNNER
侦察兵 SCOUT

CRSPR 火焰喷射器苏巴塔 120Q C4 炸药包双钻挖掘最快
疣猪 210 霰弹枪40mm 榴弹发射器Q 平台枪 · X 哨戒炮能给自己搭路
铅暴 转管机枪斗牛犬 左轮Q 护盾发生器血最厚,压制力最强
深核 GK2照明弹发射器Q 抓钩最快最脆,垂直机动

🪨 矿物与 🐛 敌人

矿物主要敌人

莫尔凯特 — 主目标,存进莫莉才算数
异形虫兵 — 基础近战,会爬墙

硝石 — 80 单位换一个补给舱
异形卫士 — 带甲,正面难打

黄金 — 纯信用点
爆裂虫 — 贴身自爆,顺便炸穿岩石

晶石 — 高价装饰性矿脉,暗处会发光
禁卫军 — 肉盾,会喷酸

黄金肥虫 — 打死掉一堆金子(有点残忍)
麦克特拉 — 会飞会远程,最烦

🧱 技术实现

点开看:为什么不用引擎也能跑 60 帧

可破坏地形:Uint8Array 存瓦片类型 + Uint16Array 存血量,16×16 瓦片为一块渲染进离屏 canvas 并做 LRU 缓存,
破坏时只失效受影响的 9 个块。小地图用脏矩形增量重绘——最初每帧重画 6.4 万格瓦片,单这一项就吃掉 31 ms/帧。

黑暗与光照:1/3 分辨率的光照缓冲,头灯画成扇形渐变,照明弹/矿石/枪口闪光用 lighter 叠加,
最后整张缓冲以 multiply 合成到画面上,再叠一层泛光。设置里的「黑暗程度」直接改环境光下限。

音频:镐击、破碎、各类枪声、爆炸、脚步、UI 音全部用 WebAudio 的噪声缓冲 + 振荡器 + 滤波器实时合成,
零下载零延迟;任务控制中心播报、"Rock and Stone!"、虫子叫声用官方 .ogg,用 HTMLAudioElement 播放(这样 file:// 也能响)。

自适应画质:帧率掉到 42 以下自动降内部渲染倍率(最低 0.6×),回到 57 以上再慢慢升回来,不动用户的设置。

确定性:同一个种子生成同一张地图,方便复现问题;洞穴生成 = 抖动网格节点 → 最近邻生成树连隧道 →
细胞自动机磨圆边缘 → 削掉走不上去的两格台阶 → 沿洞壁长矿脉。

index.html            页面骨架 + 全部菜单 DOM
css/style.css         工业风 UI 样式
js/core.js            命名空间、数学、种子随机、存档
js/assets.js          图像/音频清单与加载器
js/audio.js           WebAudio 合成音效 + 官方语音播放
js/input.js           键鼠状态
js/gfx.js             精灵 / 文字 / 面板 / 进度条
js/lighting.js        光照缓冲 + 泛光
js/particles.js       池化粒子与飘字
js/world.js           洞穴生成、瓦片破坏、分块渲染、小地图
js/entities.js        矿石、照明弹、子弹、炸药、莫莉、BOSCO、飞船、补给舱、哨戒炮、护盾
js/enemies.js         虫子 AI(爬墙 / 啃岩 / 飞行 / 自爆)
js/player.js          移动、挖掘、武器、职业装备
js/mission.js         一局任务:目标、虫潮导演、镜头、结算
js/hud.js             画布 HUD
js/ui.js              DOM 界面逻辑
js/game.js            主循环与状态机(含自适应画质)
tools/*.py            素材抓取 / 处理 / 字体子集 / README 美术 / 视觉 QA

🧪 测试环境与质量保障

开发和测试全程在 WSL2 里完成,用无头 Chromium 当“试玩员”:

| 项目 | 值 |
| :-- | :-- |
| 系统 | WSL2(6.18.33.2-microsoft-standard-WSL2, Ubuntu 22.04, x86_64) |
| 浏览器 | Chromium Headless Shell 131(Playwright 构建 v1148),--use-gl=swiftshader 纯软件渲染 |
| 驱动 | playwright-core 直接调 CDP,脚本模拟真实键鼠 |
| 运行时 | Node 24 / Python 3.13 + Pillow(素材处理与像素画生成) |
| 视觉复核 | 本地 qwen3.5-4b 视觉模型逐张审查截图(排版 / 可读性 / 过暗) |
| 帧率 | 软件渲染下 1280×720 稳 60 fps、1920×1080 约 47 fps;真实 GPU 会更高 |

点开看:自动化测试抓出来的真 bug(都已修)

测试不是截个图看看,而是写了四套探针:机制断言(挖矿/存矿/装备/复活是否真的生效)、
机器人试玩(自己找矿、挖路、存矿、呼叫飞船,加速跑完整局)、性能剖析(逐段计时)、
视觉复核(本地视觉模型看截图)。它们抓出的问题包括:

- 🐞 瓦片血量用 Uint16Array,伤害超过剩余血量时下溢成 65000+ —— 结果整个游戏几乎挖不动,
只有伤害刚好把血量削到 0 才碎。这是最致命的一个,肉眼完全看不出来。
- 🐞 短 hex 颜色('#fff')让颜色混合函数产出 rgb(48,135,NaN),绘制时抛异常 → input.endFrame() 被跳过 →
按键锁死:按一次 F 扔出 8 发照明弹,Esc 每帧反复开关暂停。
- 🐞 CSS 里 .debrief{display:grid} 覆盖了 .screen{display:none},结算层始终盖在主菜单上吞掉所有点击。
- 🐞 矮人迈不上一格 20px 的台阶、镐子一次只凿一格挖不出能走的洞 → 改成一挥啃一小片 + 台阶抬升 24px +
蹬墙跳(否则会被自己挖的竖井永久关在里面)。
- 🐞 莫莉停在 260px 外永远够不着 → 收紧跟随距离 + 掉队自动重定位 + T 呼叫。
- 🐞 小地图每帧重画 6.4 万格瓦片 → 脏矩形增量重绘,HUD 从 31 ms/帧降到 1 ms 级。
- 🐞 这台机器一个中文字体都没装,网页全是豆腐块 → 按项目实际用字生成 528 字的 Noto Sans SC 子集(147 KB)内嵌。

机器人最终能完整通关:枪手在冰川地层 haz2 存满 83/82 莫尔凯特、呼叫飞船并成功登船。

📁 目录结构

点开看完整结构

deep-rock-galactic-html/
├── index.html              ← 双击即玩
├── serve.sh / serve.bat    ← 一键本地服务器
├── START-HERE.txt          ← 给拿到压缩包的人看的说明
├── css/  js/               ← 样式与 5000 行游戏代码
├── assets/
│   ├── img/                92 张贴图(职业、虫子、矿石、HUD、星区)
│   ├── voice/              20 段官方语音(任务控制中心 / Rock and Stone)
│   ├── sfx/                17 段官方音效(虫叫 / 照明弹枪)
│   └── font/               Saira Condensed / Chakra Petch / Noto Sans SC 子集
├── docs/
│   ├── img/                README 用图(含像素画与徽章,全部本地生成)
│   └── TESTING.md          测试报告
└── tools/                  素材抓取、图像处理、字体子集、像素画、视觉 QA 脚本

🙏 素材来源与版权

- 图像 / 语音:取自官方 Deep Rock Galactic Wiki (wiki.gg) —— 职业渲染图、
虫子模型图、矿物与 HUD 图标、星区宣传图,以及任务控制中心播报、“Rock and Stone!”、虫子叫声等游戏音频。
- 字体:Saira Condensed / Chakra Petch / Noto Sans SC(SIL Open Font License 1.1),已本地子集化。
- 像素画与徽章:本仓库用 Python + Pillow 现场生成(tools/build_readme_art.py、tools/build_badges.py)。
- 合成音效:镐击、枪声、爆炸等由 WebAudio 实时合成,不是素材文件。

完整逐项清单见 CREDITS.md。
《Deep Rock Galactic》 及其全部美术、音频、角色与商标版权归 Ghost Ship Games 所有。
本项目是非官方粉丝作品,仅供学习与技术演示,请勿用于商业用途或售卖。
代码部分以 MIT 授权发布(见 LICENSE),assets/ 不在该授权范围内。

ROCK AND STONE!

本项目由 DeepSeek 智能体(deepseek-v4-pro · DSH 框架) 从零设计、编写、抓素材、自测并打包完成。
素材是它自己上网找的,bug 是它自己用无头浏览器抓的,像素画是它自己画的。

“我们不是在挖矿,我们是在给石头一个自由的机会。”

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(Flora233333)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群