旱地跳水俱乐部:一个黑色幽默的浏览器游戏,在沙漠里跳一场没有水的跳水
文章摘要
Dry Diving Club(旱地跳水俱乐部)是一个中文与英文双语的浏览器 3D 游戏,前提荒诞得像一则冷笑话:在土库曼斯坦的卡拉库姆沙漠边上搭一座跳台,举办一场跳水邀请赛——只是底下没有水,只有沙子。用游戏自己的话说,「卡拉库姆没有海,领袖说有,便有」「没有泳池,只有态度」。玩家扮演被安排来参赛的「选手」,从悬崖一跃而下,在空中做各种动作,落地后由四位评委打分,然后可以用多机位回放慢慢欣赏自己摔下去的全过程。
玩法是布娃娃物理 + 空中特技 + 打分。走路时按一次跳跃键跳过「心理建设」,再按一次正式起跳;空中可以微调姿态和落点,还能开启子弹时间「延长思考时间,但不能撤回决定」。特技动作是一整套:前空翻、后空翻、左右侧翻(点按转一圈,按住连续翻)、空中蛙泳、大字投降、敬礼、思考者姿势,以及一个致敬迈克尔·杰克逊的月球漫步和一个「转圈压轴」——收臂旋转、脚尖朝下、面向观众定格。评分维度是动作规范、落点精度、艺术表现和精神面貌,规则相当严格:姿势必须稳定保持,空翻必须实际完成,蛙泳和月球漫步必须受控地完成一整轮才计分,重复同一招式的加分递减,而且「滞空久和摔得快都不额外加分」。裁判席上还有一句常驻吐槽:「裁判一致认为:重力发挥稳定。」
回放系统是这个游戏投入最多的地方,做得像个小型剪辑软件。有自动导播、跟拍、侧拍、俯拍、全景、第一人称等多个机位,可以按住进度条来回拖动、逐帧查看,调整倍速。更进一步还有一个导出面板:把回放切成片段、排序、选择 9:16 竖屏或 16:9 横屏、加上起跳落地音效和成绩尾卡,然后在浏览器里直接编码生成一段最长 60 秒的视频下载——用的应该是 WebCodecs,因为错误提示里明确写着「此浏览器不支持所选视频编码,可关闭音效重试或换用其他浏览器」。
真正让它「黑色」的是叙事层。 场景设定在一个虚构的「阿尔巴萨赫人民共和国」,关卡一个比一个荒唐:永不落成的凯旋塔(「工程已接近完成,群众尚未」)、全民上升纪念台(「国家负责向上,个人负责落地」)、月球移民验收中心(预算只够租一轮假月亮,于是把地面改名叫「月球」,「月亮是租来的,落地算移民」),还有一关是全家人坐在电视机前看你跳,你要自己选频道上场。可玩角色则全是「获罪」的普通人,每个都有一段档案和一条罪名:偷税的歌手(在账上把「我的一切献给祖国」里的「一切」填成了零)、承认亏损的股民(「恶意发现下跌」)、在国家宣传画里画了一小块阴影的画家(「擅自描绘阴影」)、让观众提前笑出声的小品演员、宣布全城已无犯罪结果被要求自证的警察局长、记性太好的历史老师(「擅自记住未经批准的过去」)、在「形势一片大好」后面加了个「但是」的时事评论员、想给自己和男友填一张表格却被告知「共同欠费不构成共同生活」的婚姻登记员,以及一位在庆典上有十六次背对领袖画像的芭蕾舞首席(「擅自改变政治朝向」)。游戏页面底部标注了「虚构人物与赛事 · 荒诞喜剧原型」。技术上是 React + react-three-fiber(Three.js),物理世界跑在 Web Worker 里,需要支持 WebGL 的浏览器。
HN 评论精华
这条 Show HN 只有 4 分,评论区一条留言都没有,帖子正文也是空的(作者 crapthings 没有写自述)。所以这一篇没有任何可引用的社区讨论,需要如实说明:它在 HN 上基本没有被看见。
这个结果和作品本身的完成度形成了不小的反差。从站点的元数据、多语言资源和回放导出功能的完整程度看,这显然不是一个周末速成的 demo——单是「浏览器内合成带音效和尾卡的竖屏短视频」这一项,就已经超出大多数网页小游戏的工程量,更不用说十来个角色各自的背景故事和四五个主题各异的关卡场景。
它没有火起来的原因大概也不难猜。一是题材:整套讽刺建立在中文语境的默契上,标题、关卡名、罪名的笑点几乎全靠文字,英文版能传达的只有「沙漠跳水很荒唐」这一层;二是入口:首页默认中文,HN 读者点进去看到的是一屏中文,多数人不会继续往下走;三是 Show HN 的标题只写了「A darkly comic browser game」,没有把「布娃娃物理 + 多机位回放 + 浏览器内视频导出」这些技术卖点亮出来——在 HN 上,后者往往才是能把人留住的钩子。