Wirespan:我为儿子做的一款每日电网优化益智游戏

查看原文 HN 讨论

文章摘要

Wirespan 是一款每日一题的电网布线益智网页游戏,作者是 Derek Peterson(HN 用户名 dualarte)。这个项目的缘起在他的 Show HN 自述里写得很动人:他有一个自闭症的儿子,对高压电线、输电铁塔和电网运作方式极度着迷,于是他决定给儿子做一个小游戏。「当我终于屏息凝神地把它拿给他看时,他翻了个白眼说:『它是 3D 的吗?我只喜欢 3D 的。』」——于是他索性把它打磨完善,发布给全世界。页面底部的署名是「© 2026 Derek Peterson · For Si」,Si 应该就是那个儿子。

玩法本身极简但内核硬核。你拿到一张 9×9 的地图,上面有一座发电厂、三户人家,以及河流、山脊之类的地形障碍,目标是用尽可能少的电线把发电厂连到每一户人家。操作只有一个:点击格子来建造或拆除一座铁塔。任何两个节点只要在 2 格之内就会自动接上电线;铁塔必须建在开阔地上,但电线本身可以跨越河流和山脊。电线越短,输送的兆瓦(MW)就越多——也就是说点亮所有房子只是及格线,之后你还可以反复调整布局去刷更高的分数。全世界每天共用同一张图,午夜刷新;「Practice」(练习)模式随时发一张新图。界面里还有 Archive(历史存档)、Drills(教学关卡,用来边玩边学技巧)、连胜计数、以及「Reveal the engineers’ grid」(揭晓工程师的标准答案)——但游戏很有分寸地提醒你,如果你的图还没做到完美就去看答案,这一天会在存档和分享结果里被标记为「📖 已研习」,而一个已经达到完美的图去看答案仍然算完美,只是会注明一下。

作者对底层机制的解释是这个项目最有意思的部分:「在这层油漆底下,它是一道图论优化题,非常接近斯坦纳树(Steiner tree)问题。」关键的设计巧思在于两种距离度量的不对称:任意两个节点只要切比雪夫距离(Chebyshev distance,即棋盘上的国王步数)在 2 以内就会自动连线,但电线的长度是按欧几里得距离计算的。用他自己的话说——「触达范围按正方形量,而电线按圆形量」。技巧就在于平衡这种不对称,找出点亮全图的最短路线。这意味着一条斜向的连接虽然在「能不能连上」这件事上和横平竖直的连接同等有效,但在「花掉多少电线」上要贵得多(√2 或 2√2 倍),玩家的全部功夫就是在铁塔位置的排布上榨出这点差额。

无障碍是这个项目被反复强调的一条主线,而理由直接来自它的初衷。作者说:「因为这个项目最初的目标是给我儿子带来快乐,我尽了最大努力让它对所有人都可用。」目前已本地化为 18 种语言,提供满足 AAA 标准的高对比度模式、减少动效模式、更大字号选项、声音与触感反馈开关等。设置面板里这些开关都是一级选项,而不是藏在深处的辅助功能菜单。

隐私方面他的做法有一个很少见的技术细节值得单独说。他承认自己确实收集使用遥测数据来改进游戏,但强调只收集关于玩法本身的匿名统计,标识符是游戏自己生成的随机 ID,而不是任何关于玩家或设备的信息。最有意思的是最后一句:他直接从分析代码生成隐私政策,把它当作一份契约,以确保任何未被完整披露的数据都不可能被收集。这等于把「隐私政策」从一份法务文档变成了代码的一个可验证产物——政策不可能与实现脱节,因为它就是实现的投影。游戏里还有一个「Send feedback」入口,措辞同样朴素:「一条消息,发给做出这东西的那个人。它不会去任何别的地方。」

作者在帖子末尾说明这是二次提交——第一次发在一个极其冷清的时段,基本没被人看到。(说明:wirespan.app 是一个客户端渲染的单页应用,直接抓取只能拿到界面骨架文字,因此本篇摘要主要基于作者在 HN 上的完整自述,辅以从页面 UI 文本还原出的规则与设置项。)

HN 评论精华

需要如实说明:这条帖子只拿到 11 分、7 条评论,是一次典型的「好东西但没被看见」的 Show HN——即便这已经是作者的第二次尝试。不过在这寥寥几条里,恰好有一条构成了本篇最动人的呼应,另外两条则给出了具体可用的产品建议。作者本人对每一条都做了回复。