news 2026/8/21 1:51:29

为满足女儿制作游戏心愿,Nick 打造 Canon 复现九岁编程快感

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
为满足女儿制作游戏心愿,Nick 打造 Canon 复现九岁编程快感

【导语: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 虽简单却意义非凡,让孩子在低门槛中感受创造乐趣,为编程教育提供新思路。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 1:50:07

基于智能体与强化学习的AI科研复现系统构建指南

在实际 AI 研究和工程实践中,一个长期存在的挑战是如何让 AI 模型不仅生成看似合理的代码或文本,而是能够真正理解并复现复杂的科学研究过程。这不仅仅是代码生成,更是对科学方法、实验设计、数据分析和结果验证的完整模拟。对于希望构建或使…

作者头像 李华
网站建设 2026/8/21 1:49:05

利用CRC实现单比特错误纠正:原理、实现与嵌入式应用

1. 先搞清楚“循环冗余校验”和“单比特纠错”到底能解决什么问题 如果你在数据传输、存储或者嵌入式开发中遇到过数据损坏,比如文件复制后打不开、U盘里的照片出现花点、或者单片机接收的串口数据偶尔出错,那你可能就需要了解“循环冗余校验”和“单比特…

作者头像 李华
网站建设 2026/8/21 1:48:34

Muon如何增强智能体强化学习:原理、场景与实战指南

1. 项目概述:当Muon赋能智能体强化学习时在强化学习领域,尤其是在追求更高自主性和决策能力的“智能体化”浪潮下,我们总在寻找那个能撬动性能瓶颈的支点。最近,一个名为“Muon”的概念开始在一些前沿讨论和实验中出现&#xff0c…

作者头像 李华
网站建设 2026/8/21 1:44:41

大语言模型与经典规划器协同:训练协调器实现端到端PDDL规划

1. 项目概述:当大语言模型遇上经典规划器最近在AI规划领域,一个结合了经典符号规划与大语言模型(LLM)的新思路让我眼前一亮。这个项目的核心标题是“Training the Orchestrator: A Supervised Approach to End-to-End PDDL Planni…

作者头像 李华
网站建设 2026/8/21 1:37:50

嵌入式开发必知:11.0592MHz晶振如何实现串口零误差通信

这次我们来看一个嵌入式开发中绕不开的基础元件:11.0592MHz晶振。很多新手在画板子、调串口时,只是机械地把它焊上去,知其然不知其所以然。为什么偏偏是11.0592MHz,而不是10MHz或12MHz?它和串口波特率9600、115200这些…

作者头像 李华