DONKEY.BAS 45 岁了——131 行代码的荣光

查看原文 HN 讨论

文章摘要

donkeybas.com 是一个极简的单页站点,把 1981 年那款随 IBM PC DOS 一起出厂的 BASIC 示例游戏 DONKEY.BAS 完整搬进了浏览器。作者 Joe Krauska(HN 用户名 jkrauska)做这件事的由头很清楚:2026 年 8 月 12 日是 IBM PC 发布 45 周年,他顺手把这个 45 岁的小游戏移植成了 JavaScript + Canvas 版本,代码托管在 GitHub 的 jkrauska/DONKEY.BAS 仓库,通过 GitHub Pages 部署。

页面本身内容极少:一块 320×200 的 canvas、几个开关(声音、CRT 扫描线滤镜、作弊模式、全屏),以及一段简短的 About。玩法说明只有一句话——按空格或点触屏切换车道,撞上驴子就 BOOM。站点同时提供了原始 DONKEY.BAS 源码的在线查看页面,让人可以对照着看那 131 行 BASIC 到底长什么样。

补充一点历史背景,这也是 HN 讨论的核心:DONKEY.BAS 由微软联合创始人比尔·盖茨与 Neil Konzen 于 1981 年合写(1.10 版为 1982 年),随早期 IBM PC DOS 附送,用途是演示 BASICA(Advanced BASIC)的彩色图形与声音能力。游戏逻辑简单到近乎原始:你开一辆车沿双车道公路往前,路上随机出现驴子,你唯一能做的操作就是换道。撞上就结束。它在计算机史上的地位远超其游戏性——它是无数 80 年代孩子第一次意识到「屏幕上的东西是可以被改写的」的那个瞬间。当年的 BASIC 环境里,你随时可以按键跳出游戏进入编辑器,看到代码,改一个数字,再运行,看到结果变了。这条从「玩家」到「程序员」的路径短到几乎不存在门槛。

这个浏览器移植版做了一些「自由发挥」:声音效果比原版 PC 蜂鸣器丰富得多;加入了作弊模式;还藏了彩蛋——你可以反过来操控驴子(用 A/D 键),输得够惨会出现一张灰度驴子照片,赢满 10 次会跳出一张抖动处理过的比尔·盖茨梗图。作者自己在评论里把这几个彩蛋概括为「你可以扮演驴子 / 作弊模式 / 性感盖茨」。

值得一提的是,作者坦承这个移植是「让 slopmachine(指 AI 编码工具)跑起来」做的,这个自述本身在评论区引发了一点小争议——毕竟原作只有 131 行。

HN 评论精华

这个帖子拿到 274 分。讨论几乎完全没有停留在这个移植版本身,而是迅速滑向了一场大规模的 80/90 年代 BASIC 集体怀旧,其中一条支线甚至喧宾夺主,成了整个帖子最亮眼的部分。