← 返回趣学周易

趣学周易 · 开发日志

用AI把枯燥的周易学习变成好看好玩的游戏化体验
这是「玩意儿Lab」的第一个实验品。记录从想法到上线的真实过程,包括走错的弯路和最终的解法。
玩意儿Lab · 用AI造点好玩的

为什么要做这个

学周易,大多数人的第一反应是"太难了"。

阴阳、爻、卦、八卦——光名词就让人望而却步。但周易的底层逻辑其实很简单:阴阳不是好坏,是事物的两种状态;八卦不是玄学,是三根线的组合。

问题不在于周易有多难,而在于没有人用让人愿意学的方式去教它

多邻国把学语言变成了游戏,每天几分钟,答对有反馈,断了会心疼。如果用同样的方式学周易呢?

这就是「趣学周易」的起点。


游戏化学习五层方法论

在做这个项目的过程中,我们提炼了一套"把任何学习项目变成游戏化体验"的通用框架:

做什么趣学周易怎么做的
第一层把大目标拆成30秒能搞定的一口阴阳爻→八卦,每关2-3步,30秒内完成
第二层每一口都有即时对错反馈选择题/判断题,答对绿色✓,答错红色✗+可重试
第三层间隔重复,忘了一会再喂回来综合小测关,把前面学的内容混在一起考
第四层连续打卡+等级称号,断了就心疼连续天数统计 + 8级称号(初学者→大师)
第五层每次只要几分钟,心理门槛趋近于零单关2-3步,学完直接进下一关,不强制按天

这个框架不只能用于周易。任何可以"拆成小知识点 + 即时验证"的学习内容,都可以套用。


开发过程

第一版:子Agent产出,被否

让AI子Agent独立完成第一版。产出的是一个静态展示页面——有太极图、有课程列表、有配色,但:

结论:好看≠好玩。页面再漂亮,如果用户没有"想点一下"的冲动,就是失败的。

第二版:闯关地图,也被否

主Agent重写,设计了蛇形路径闯关地图——关卡左右交替排列,像爬山一样往上走。

但整体设计被否了:

结论:方向比努力重要。在方向没对之前,越努力越偏。

第三版:CSS太极 + 精致UI,方向确认

太极图怎么画?三次AI生图全被否

太极是这个产品的核心视觉符号。我们首先尝试用AI生图:

尝试风格结果问题
第一次3D皮克斯动画风✗ 被否太硬了,没有生气没有灵气;鱼眼有黑色反光不符合太极
第二次3D琉璃通透材质✗ 被否3D方向整体不对
第三次中国水墨流动风✗ 被否"不是特别对"

三次失败后的认知:太极是高度符号化的几何图形——两个半圆 + 两个小圆。AI生图擅长画有机的、复杂的东西,但不擅长画精确的几何符号。鱼眼的颜色、位置稍有偏差就不对。

最终方案:用SVG画精确太极 + CSS旋转动画 + 径向渐变 + 发光滤镜。

<!-- SVG太极的核心结构 -->
<circle cx="50" cy="50" r="46" fill="url(#goldGrad)"/>
<path d="M50 4A46 46 0 0 1 50 96A23 23 0 0 1 50 50A23 23 0 0 0 50 4Z" fill="url(#inkGrad)"/>
<circle cx="50" cy="27" r="7" fill="url(#inkGrad)"/>   <!-- 阴中有阳 -->
<circle cx="50" cy="73" r="7" fill="url(#goldGrad)"/>  <!-- 阳中有阴 -->

加上20秒一圈的旋转动画,太极就"活"了。0积分消耗,0外部依赖。

关键教训:AI生图不是万能的。高度符号化、几何化的图形,用代码画更精确、更可控、成本更低。

配色精致化

之前的大黄大红太"程序员审美"。第三版改用:

--gold: #C9A84C;        /* 暖金,不是刺眼的大黄 */
--gold-light: #E8C869;   /* 高光金 */
--gold-dark: #A88838;    /* 深金,用于文字和线条 */
--ink: #2B2825;          /* 墨色,不是纯黑 */
--cream: #FBF8F3;        /* 米色背景,温暖不刺眼 */

整体气质:温润、雅致、有质感。不是"国风App模板"的感觉,是有人精心调过的。

鱼眼颜色:阴中有阳,阳中有阴

上线后第一轮反馈就指出了太极鱼眼颜色搞反了。

太极的核心哲学是"阴中有阳,阳中有阴"——金色区域里应该有黑点,黑色区域里应该有金点。最初版本两个鱼眼颜色放反了。

这个错误提醒我们:传统符号不能只追求好看,每一个细节都要符合文化语义


持续迭代

第三版方向确认后,进入快速迭代:

1. 学习节奏:从"按天来"到"自己掌控"

最初设计是每天学一关,学完显示"今日功课已圆满,明日再来"。

但用户的反馈是:想多学的时候被限制了,没兴趣的时候又被催着来。

改为:学习进度和打卡分离。连续天数照算(钩子还在),但学几关用户自己定——有兴趣就多学,没兴趣学一关也行。学完一关直接进下一关,不弹回首页。

2. 震动和声音:输入法级别的轻反馈

加入了答题反馈的震动和声音,但关键是克制

// 答对:轻触一下
vibrate(12);  // 12毫秒,比心跳还短

// 答错:两下轻触
vibrate([8, 30, 8]);  // 触8ms,停30ms,再触8ms

设计原则:反馈是为了确认,不是为了表演。过度反馈会变成打扰。

3. 卦象显示:从Unicode符号到CSS爻线

最初用Unicode符号☰☷☵☲来表示八卦。上线后发现:

改为:用CSS div画爻线。阳爻是实心条,阴爻是两段短条,三根叠起来就是一个卦。

乾 ☰ · 天
坤 ☷ · 地

每个卦旁边标注名称和象征(乾·天、坤·地、坎·水、离·火),一目了然。

关键教训:在整个产品的每个地方,都要给用户传递清晰准确的信息和信号。含混的展示等于没有展示。

4. 同步码:无后端的进度保存

没有服务器,怎么让用户换设备后恢复学习进度?

方案:把学习状态编码成6位Base36字符串作为"同步码"。用户复制同步码保存,换设备时粘贴即可恢复。

// 生成同步码:把学习状态编码
function getSyncCode(){
  // 6位base36编码,固定不变
  // 不采集任何个人身份信息
}

同步码大约6个字符,复制粘贴即可。不需要注册、不需要登录、不需要手机号。

设计原则:学习记录是用户的信任基石。数据安全是核心,不采集任何个人身份信息。

5. 庆祝页交互:别让用户白点

最初每完成一关,庆祝页按钮是"返回首页"。用户要回首页再点"开始第X关"才能继续——多一次无意义的跳转。

改为:庆祝页按钮直接是"下一关",点击立即进入下一关学习。只有全部通关后才显示"返回首页"。

设计原则:每个交互都要为用户省事,而不是消耗用户的耐心。

6. 内容准确性:多轮多维度自检

基础八卦学完后,我们增加了64卦进阶学习内容。但周易的内容容不得半点含糊——卦名、卦序、爻辞、历史典故,任何一个细节出错都会影响用户对传统文化的理解。

做法:对全部194节课的内容做了多轮多维度自检:

每轮自检发现问题立即修正,修完再跑一轮,直到四个维度全部通过。这不是走过场——确实查出并修正了多处表述不严谨、引文有误、选项有歧义的问题。

关键教训:内容产品最大的风险不是不好看,而是不准确。用户信任你才会学,一次错误就可能毁掉这份信任。多轮自检不是多余的功夫,是对用户的尊重。


技术栈

极简技术栈,零依赖:

为什么不用框架?

因为这个项目的核心是体验,不是工程复杂度。单文件HTML意味着:


设计原则总结

在整个开发过程中,我们坚持了这些原则:

  1. 颜值即生产力——好看好玩是吸引人进来的第一个点。打破"周易=难"的印象,从视觉开始
  2. 每个细节都要准确——太极鱼眼的颜色、卦象的线条、题目的措辞,含混等于错误
  3. 克制比热情更有力量——震动轻一点,声音短一点,反馈是为了确认不是为了表演
  4. 为用户省事——学完直接进下一关,不弹回首页;同步码复制粘贴就行,不用注册
  5. 成本可控——CSS画的太极0积分消耗,比AI生图更精确更可控
  6. 数据安全是信任基石——不采集个人身份信息,学习进度完全在用户手里

项目信息


写在最后

这个项目的意义不在于技术有多复杂——它就是一个单文件HTML页面。意义在于:

一个不懂代码的人,借助AI,在一天之内把一个想法变成了好看、好用、能分享的产品。

这个过程本身,就是AI时代普通人可以做到的事情。

共学/趣学周易是第一个实验品。如果这套"拆-验-喂-钩-轻"的方法论跑通了,任何学习内容都可以变成游戏化体验。

整个过程,我都把它公开出来。把自己和项目都开源,让大家看到个体可以如何与AI共同进化。

这才是我们真正想探索的。

京ICP备2026030848号-2 | 京公网安备11011202101923号