为满足女儿制作游戏心愿,Nick 打造 Canon 复现九岁编程快感 📅 2026/8/21 1:51:38 【导语Nick 的八岁女儿想制作电子游戏Nick 为其打造了名为 Canon 的“可以制作游戏的游戏”灵感源于互联网早期文字 MUD旨在复现他九岁时用 HyperCard 编程的体验。】HyperCard 开启编程启蒙之旅1989 年九岁的 Nick 在计算机课上接触到 HyperCard这是比尔·阿特金森在 LSD 之旅后发明的软件。其核心概念极为简单卡片上放置按钮、文字、图片堆叠起来就是应用。Nick 虽不懂编程但通过将按钮链接到卡片花几个星期放学后制作出《街头霸王》风格格斗游戏从此开启了他对编程创作快感的追逐。Canon 遵循三原则构建游戏世界Nick 为女儿打造的 Canon 有三个组成部分玩家、房间、物品。玩家和房间是文字描述加可选图片物品则涵盖宠物、NPC 等“其他一切”由 Cant 语言驱动。例如一个可点亮的灯笼用 Cant 语言描述简单易懂。Cant 语言底层有个 or 关键字能让字符串随机挑选变体给新程序员带来特别乐趣既让他们有编程掌控感又有意外惊喜。“故意设计得很烂”的 Cant 语言对于程序员来说Cant 语言写法糟糕如 D20 骰子的写法极其低效但它极其容易理解。它优化的是易理解性而非书写速度与 DRY 原则相反。在 Canon 中物品有 marks 和 numbers 两种状态大小写本身代表类型且状态挂在物品上使 PVP 决斗成为“同意制”设计十分巧妙。Canon 目标复现编程创作震撼体验有同行质疑 Canon 是“教编程”还是“给小孩玩具”但 Nick 意图明确他不是要女儿成为程序员而是让她复现自己九岁时在“一切皆可编辑、查看源码”环境里创造东西的震撼体验。Canon 的即时反馈、View Source、从 GUI 到代码的平滑梯度等功能都服务于这一目标。编辑观点Nick 以独特方式为女儿创造编程环境Canon 虽简单却意义非凡让孩子在低门槛中感受创造乐趣为编程教育提供新思路。