一个让你构建 GPU 的游戏

查看原文 HN 讨论

文章摘要

Hacker News 用户 Jaso1024 以 Show HN 形式分享了一个名为”Mvidia”的教育类网页游戏,玩家在游戏中可以从最基础的晶体管级别开始,逐步构建出一个完整的 GPU。作者在帖子中表示,他认为现有的 GPU 架构学习资源不够丰富,因此决定以游戏的形式来填补这一空白。该帖获得了 961 分和 187 条评论,是本周 Hacker News 上得分最高的帖子之一。

游戏从 NMOS 和 PMOS 晶体管的基本操作开始。第一关要求玩家连线一个 NMOS 晶体管,使其在输入为 1 时将输出拉到地(0),在输入为 0 时输出处于未连接状态(高阻态 Z)。游戏逐步引导玩家通过真值表(truth tables)学习逻辑门的概念,然后继续构建更复杂的电路组件,如电容器和 1T1C(一晶体管一电容)存储单元,最终目标是组装出一个功能性的 GPU。

游戏的 UI 设计获得了不少赞誉,被认为打磨得相当精致。不过,社区反馈也指出了一些问题和改进建议。有玩家反映真值表关卡存在重复题目的问题,且第一道题只给了一秒钟的回答时间,整体评分机制似乎也不太合理。有经验丰富的集成电路设计工程师表示,游戏中电容器的”使能门”(enable gate)设计不太准确——实际的电容器并不自带使能门,在后续关卡中玩家本应自己用晶体管构建使能门。

一位在深亚微米全定制混合信号集成电路领域工作了十多年的工程师幽默地表示自己连第一关都过不了,后来发现是因为把背景网格上的浅灰色粗线误认为了从输入到晶体管栅极的连线,实际上需要手动添加这根线。这说明游戏的视觉提示可能还需要改进。

社区还推荐了多款类似的教育类游戏,包括 Turing Complete(最终可以构建出拥有自定义汇编语言的 CPU)和 Zachtronics 的 KOHCTPYKTOP。有评论者建议游戏应该在首次出现时展开所有缩写词(如 NMOS、PMOS、GND、VDD),以降低初学者的入门门槛。游戏还被收录到了 HN Arcade(hnarcade.com)中。总体而言,社区对这款游戏给予了高度评价,认为它填补了 GPU 架构教育资源的空白,同时也提出了大量建设性的改进建议。

HN 评论精华

  1. rustybolt:提供了详细的技术反馈。他指出真值表关卡存在重复题目且计时不合理的问题。更重要的是,他发现电容器组件不应该自带”使能门”——在后续的 1T1C 关卡中,玩家本应自己用 NMOS 晶体管构建使能门,但由于基础组件中已经包含了使能门,玩家可以跳过这一步。他还好奇游戏是否使用了 LLM 辅助开发,并表示想学习如何制作好看的 UI。

  2. txr:推荐了类似的游戏 Turing Complete——在游戏结束时玩家会拥有一个带有自定义汇编语言的 CPU。他指出该游戏虽然一直处于 Early Access 状态且有一些粗糙之处,但值得一玩。

  3. roadbuster:以幽默的方式描述了自己的经历——他在深亚微米全定制混合信号集成电路领域工作了十多年,却连第一关都过不了。经过反复尝试后才发现,背景网格上的浅灰色粗线并不是连线,需要手动添加从输入到晶体管栅极的连线。这条评论获得了大量共鸣,说明游戏的视觉引导需要改进。

  4. frmersdog:提出了一个实用建议——游戏应该增加一个”我试了十次还是不行,给我看答案”的按钮。这不仅能帮助不理解的玩家,还能在答案确实正确但被错误拒绝时帮助发现 bug。

  5. john_strinlai:从教育角度提出建议——作为学习资源,游戏应该在缩写词首次出现时给出全称解释。NMOS、PMOS、GND、VDD 这些术语在前五秒内就全部出现了,但没有任何地方说明它们的含义。除此之外,他认为游戏打磨得很好,填补了一个不错的细分领域。