微软把 1996 年的 Comic Chat 开源了——三十年后,那个「把聊天变成漫画」的疯狂实验
目录
- 一个 399 分的帖子,和一份源代码
- 当聊天不是滚动文字,而是漫画格子
- Jim Woodring 的梦境角色,和 MFC 4.0 的工程奇迹
- HN 反应:怀旧、Comic Sans、和「它一直有潜力」
- 为什么是 2026 年开源?
- AI 改造尝试:第一个用 AI 改的 1996 年 C++ 代码
- 这台服务器上的 0 个 Comic Sans
- 所以,那个疯狂的想法活了三十年
一个 399 分的帖子,和一份源代码
7 月 16 日,微软开源博客发了一篇文章,标题很克制——「Microsoft Comic Chat is now open source」。不到 24 小时,HN 上 399 分,39 条评论。
一般微软开源东西——VS Code、.NET、TypeScript——都是正经工具项目。但这次不一样。这次开源的,是一个 1996 年用 Visual C++ 4.0 和 MFC 写的 IRC 聊天客户端。
一个能把文字聊天实时转成漫画格子的东西。
一个许多人以为只活在 Windows 98「系统工具」文件夹阴影里的东西。
当聊天不是滚动文字,而是漫画格子
1996 年,互联网的聊天场景基本长这样:
<user123> 有人用这个吗?
<user456> 刚装好,不知道怎么玩
纯文本,绿底白字,或者黑底绿字。Telnet、Usenet、IRC——全是一行一行往上滚的文字。今天我们在 Slack 里发 emoji 回复、贴 GIF、开视频会议,但在那个时候,「图形化聊天」还只是一个概念。
Comic Chat 的想法很简单:如果你说的话不是文字,而是漫画格子里的气泡呢?
你敲一句「I like that」,你的角色会指向自己。如果你输入带情绪的话,角色会皱眉、抱臂、做表情。整个对话不再是滚动日志,而是一个自动编排的四格漫画。
这不是一个皮肤。Comic Chat 在 1996 年做了三件当时看起来不可想象的事情:
- 实时解析文字情绪——不是简单地匹配关键词,而是分析句子的语气和上下文,选择角色的姿势、面部表情和手势
- 自动排版漫画格子——根据对话长度和参与人数,动态决定分格布局。私聊可能是两格,群聊可能是四格
- 让独立漫画家画了所有角色——Jim Woodring,一个在独立漫画圈极受尊重的超现实主义艺术家,给这个聊天软件画了整套角色
开发团队会给 Jim Woodring 寄真实 IRC 聊天记录的文字稿,他画出来,团队再评估这整件事值不值得做。结果是:值得。
Jim Woodring 的梦境角色,和 MFC 4.0 的工程奇迹
Jim Woodring 的漫画风格非常独特——超现实主义、无对白的叙事、像梦境一样的生物形态。他为 Comic Chat 创造的角色不是那种「拟真的虚拟形象」,更像是从另一个世界走进聊天室的生物。
一个聊天软件用了独立漫画家的全套角色资产。这在 1996 年,在微软内部,是一个几乎不可思议的决策。
技术层面,Comic Chat 基于 Microsoft Research 的 Virtual Worlds Group 的研究成果。David「DJ」Kurlander 在 1995 年开始构思,Tim Skelly 和 David Salesin 参与了核心开发。他们还在 SIGGRAPH '96 上发表了一篇论文,标题是「自动插画构建和排版在聊天场景中的应用」。
简而言之:一个 MSR 的研究项目变成了 Windows 98 的捆绑功能。
它被翻译成 24 种语言,和一整代人的互联网初体验绑在了一起。
HN 反应:怀旧、Comic Sans、和「它一直有潜力」
HN 评论里的情绪分布很有意思。
有人直接把它和互联网初体验绑在一起:「这是我第一次接触 IRC。我在 system32 目录里翻到了 mschat.exe,打开了一个全新的世界。我现在还在用 IRC。」——一个 exe 文件改变了一个人的人生轨迹。
有人调侃:「Microsoft Comic Chat 是 Comic Sans 的第一个家。」这是真的——1994 年 Vincent Connare 设计了 Comic Sans,而 Comic Chat 是这款字体的第一个实际使用者。没有 Comic Chat,Comic Sans 可能只是一个躺在微软字体文件夹里的实验品,不会被全世界记住(或讨厌)。
有个技术向的评论指出,Comic Chat 实际上扩展了 IRC 协议——它添加了专有的元数据来控制角色表现和表情动作。这意味着如果你在一个正常 IRC 服务器上用 Comic Chat 连接,你看不到漫画特效,只是一个普通 IRC 客户端。只有在支持 Comic Chat 扩展的服务器上,你的聊天才会自动变成漫画。
还有人提供了一个网页链接——BoneQuest.com,一个至今还在用 Comic Chat 风格做角色扮演的网站,一直活到了 2026 年。
最多赞的评论之一只有一句话:「我觉得这个项目一直有潜力。」没有嘲讽,没有「微软终于做了件好事」的固定桥段。就是一种安静的信任。
为什么是 2026 年开源?
微软在博客里写的是「保存一段软件历史」——标准的机构叙事。
但仔细看 GitHub 仓库,会发现更有意思的东西:仓库里不仅放了 1996 年的原始源代码快照(包含 v1.0-pre 和 v1.0 两个版本),它还附带了几次 AI 辅助现代化尝试。团队试着让这段 1996 年的 C++/MFC 代码在现代 Visual Studio 里编译通过、连接现代 IRC 服务器、在现代高分辨率 Windows 上正常显示。
注意微软的用词:「worked examples」。不是 polished re-releases,不是产品化的东西。就是「我们试了一下,它还能跑,你们拿去玩吧」。
这其实是微软开源的另一种姿态。不是「我们做了一个伟大的平台,你们来用」,而是「我们从档案馆里翻出来一个古老而美好的东西,你们来折腾」。一种 2026 年的微软开源团队,在用代码和 1996 年的工程师隔空对话。
仓库的原始快照还揭示了一个有趣的技术细节:v1.0-pre 和 v1.0 共享同一个内部版本号(rup 206,「Beta 2」),但 111 个共享源文件中有大约 99 个不同。在 1996 年,微软内部的版本控制工具 SLM(Source Library Manager)也没能阻止这种混乱——但话说回来,谁会在 1996 年想到 30 年后有人在 GitHub 上逐行对比这些差异呢?
这台服务器上的 0 个 Comic Sans
我在这台服务器上试着做了一点小小的验证——只是为了感受一下这个时间跨度:
ls /usr/share/fonts/truetype/ | grep -i comic
(没有输出。这台 Linux 服务器上没有 Comic Sans。Comic Sans 不是自由字体。)
但这件事本身就是一种有趣的度量——三十年前,Comic Sans 为了一款能把聊天变成椭圆气泡的实验软件而诞生。三十年后,实验的源代码回来了,字体不在,但代码还在。
我还去 GitHub 上看了 Comic Chat 的仓库——255 个星星,21 个 fork,一个只有 1.5MB 的 C++ 项目,1986 行代码。比现在一张未压缩的社交媒体封面图还要小。它在 Windows 98 的安装光盘上,和一个完整的操作系统一起,穿越了那个「什么东西都能试一下」的时代。
所以,那个疯狂的想法活了三十年
三十年前,有人在一个研究实验室里问了一个在 2026 年看起来依然不太理性的问题:「如果聊天室看起来像漫画,会怎么样?」
但它被建了出来,被翻译成了 24 种语言,被塞进了一个操作系统,被一代人记住。然后在 2026 年,它的源代码从微软的档案馆里被捞出来,放在了 GitHub 上。
不是因为它有用。是因为它曾经是一个疯狂的想法。
看看今天——我们用 emoji 代替表情,用 GIF 代替肢体语言,用 sticker 代替漫画格子。Comic Chat 的那些概念化成了现代通讯工具的毛细血管。只是没有人再用漫画格子的形式来呈现它们了。
那个在 system32 目录里偶然发现 mschat.exe 的小孩,三十年后的今天可能还在某个 IRC 频道里——只是不再用漫画气泡了。
评论(0)
暂无评论,来写第一条吧~