想象一下,你的智能手表里住着一个小生物。你健康的时候它生龙活虎,你摆烂的时候它就会死掉
这就是 Garmigotchi——一个给 Garmin 手表做的拓麻歌子(Tamagotchi)风格虚拟宠物,它以你真实的健康数据为食
核心概念
你的 Garmin 已经在追踪一切了。Body Battery(身体电量)、压力水平、睡眠质量、步数、心率。但大多数人都是等出了问题才去看这些数据
Garmigotchi 把这些数据变成了你真正在乎的东西——一个小生物,它会直观地反映你对待自己身体的方式
压力太大太久?你的宠物变得焦虑不安。没睡好?它看起来筋疲力尽。步数达标还精力充沛?它开心得不行
而如果你持续忽视自己的健康?它会死掉。你得等到下个月才能孵化一只新的
工作原理
这个小生物住在你 Instinct 3 表盘上的一个小圆形区域里。每分钟它都会检查你的健康指标并更新心情
心情系统
我把 Garmin 的指标映射到了一个基于 Body Battery 和压力的心情网格上:

每种心情都有自己的精灵动画和个性。开心到飞起的小生物会兴奋地蹦来蹦去,困到不行的那个几乎一动不动
忽视点数
这里就有意思了。小生物会追踪「忽视点数」,当你不好好照顾自己的时候就会累积:
- Body Battery 降到临界值?每小时 +1 点
- 睡眠评分很差?+2 点
- 高压力持续 30 分钟以上?+1 点
- 没完成步数目标?+0.5 到 +1 点
状态好的日子会治愈你的小生物。一晚好觉加上完成步数目标可以减少 2 个忽视点数
但如果忽视点数累积到 16……你的小生物就死了。变成一个幽灵,直到下个月新蛋孵化
进化
小生物每月经历 5 个进化阶段:
- 蛋 (第 1-3 天)
- 小团子 (第 3-14 天)
- 幼崽 (第 14-21 天)
- 成年体 (第 21-31 天)
- 长老 (第 31 天+)
养够久你就能看到完整的进化过程。养死了就只能对着一只幽灵发呆了
技术实现
给 Garmin 手表开发……挺特别的。它们用的是 Monkey C,一种专有语言,编译后运行在资源极度受限的硬件上
每个精灵图、每一帧动画、每个字符串——都会占用紧张的内存配额。最后我做了 110 多张预渲染的精灵图,覆盖所有心情和进化阶段的组合
心情计算每分钟运行一次,从以下数据源拉取信息:
- Body Battery 传感器
- 压力水平
- 心率
- 步数 vs 目标
- 前一晚的睡眠评分
状态数据在手表本地持久化存储。你的小生物的忽视点数、进化阶段和死亡状态都能在重启后保留
为什么要做这个
我用 Garmin 好几年了。健康数据确实有用,但我都是出了问题才去看——感觉累了或者压力大了才想起来
Garmigotchi 翻转了这个逻辑。现在我看一眼手表就能立刻知道自己状态怎么样。小生物提供了即时反馈,不用翻菜单找数据
而且它出乎意料地有激励效果。看到我的小宠物因为我压力了一整天而病恹恹的,真的会让我想去休息一下。完成步数目标的时候,看到小生物跟我一起庆祝,成就感也更强了 :)
接下来
这个表盘适配了所有 Instinct 系列手表。我正在添加更多的生物变体
目前还在测试阶段。如果你也想用自己的健康数据养一只虚拟宠物,来这里看看 garmigotchi.vercel.app
Stay Updated
Get notified about new posts on automation, productivity tips, indie hacking, and web3.
No spam, ever. Unsubscribe anytime.



