
如果你在过去几天打开过聊天页面,可能已经注意到:有些地方变得不太一样了。
聊天界面安静了一些。消息更容易阅读,控件更轻,面板和弹窗也不再与对话本身争夺那么多注意力。熟悉的功能并没有被搬到陌生的位置,但角色周围的空间开始显得更平静。
我们选择从聊天页面开始,是因为这里是许多人在 Reverie 停留最久的地方。它也最适合验证这次重构背后的问题:当一个界面需要陪伴用户完成一整段对话,而不只是留下漂亮的第一印象时,它应该是什么感觉?
你看到的并不是一次孤立的页面改版,而是一套新设计系统最先露出的部分。现在,我们已经把这套系统扩展到了整个产品——从发现内容、角色页面,到创作工具、故事、支付、奖励、设置,以及散落在它们之间的各种小功能页面。
Reverie 一直是一个很有表达力的产品。
这种个性曾经体现在每一个地方:醒目的边框、清晰可见的阴影、层层叠加的卡片、丰富的控件颜色,以及像实体物件一样存在于屏幕上的各种界面元素。它让产品显得温暖,也让人一眼就能认出 Reverie。
但一种视觉语言可以很适合产品的某个阶段,也可能在产品继续成长后显得太重。
随着 Reverie 的功能越来越丰富,界面需要承载的已经不只是发现角色。人们会长时间停留在对话里,管理角色、创作故事、比较方案、调整高级设置,并在越来越复杂的流程之间来回切换。同样的装饰细节,用在展示页面上可以带来个性,但重复出现在每一个弹窗、卡片、菜单和按钮上时,就可能变成视觉噪音。
所以,这次重构不是为了让 Reverie 失去特点,而是希望产品真正的特点更多来自体验本身。
更轻,但不是更冷
“轻量化”很容易变成纯白背景、纤细的灰色文字,以及存在感弱到近乎没有完成的组件。但这从来不是我们的目标。
新的设计系统更安静,却依然温暖。
我们没有使用刺眼的纯白画布,而是选择了带有轻微色调的中性背景。需要长时间阅读的文字更深,也更有分量。边框变得克制,阴影变得轻柔,颜色只在真正需要表达含义时出现。这样既降低了视觉重量,也保留了 Reverie 作为故事与关系发生之地的氛围。
这种平衡对角色扮演产品尤其重要。一次对话不是一个设置后台。人们会阅读很长的消息,感受语气里的细微变化,并在同一个页面停留很久。字体和背景不能只在截图里显得干净,还要在连续阅读二十分钟后依然舒服。
为长时间阅读重新整理字体
这次最重要的变化之一,也可能是最不显眼的变化:我们加强了字体层级。
大标题依然保留表达力,但正文现在拥有更稳定的视觉分量。重要标签、导航和操作使用了更容易快速识别的字重。辅助文字仍然会退居次要位置,但不会再浅到需要费力辨认。
原则其实很简单:
- 长篇文字应该平静、扎实,适合持续阅读。
- 操作按钮应该在逐字阅读之前就能被识别。
- 辅助信息可以弱化,但不能消失。
- 页面需要在不同屏幕、主题和环境光线下都保持清晰。
好的字体不会向你索取注意力,而是让你更容易维持注意力。
让整个产品说同一种组件语言
这次工作不是逐页更换皮肤。我们重新整理了产品底层的共享组件语言。
按钮、卡片、弹窗、菜单、标签页、表单控件、表格、提示框、通知、抽屉、浮层和导航元素,现在共同遵循同一套规则:
- 圆角
- 边框对比度
- 表面颜色
- 层级与阴影
- 焦点提示
- 悬停与按下状态
- 字重
- 间距
- 语义颜色
这种一致性比任何单独的视觉选择都更重要。当同一种操作在任何地方都有相同的样子和行为,用户就不需要反复理解界面。危险操作应该让人意识到它的风险;选中的选项应该明确表现为已选中;浮层应该与下方页面形成层级;主要操作应该容易找到,但不是让每一个按钮都争着成为主角。
我们也为强调、成功等状态增加了更明确的语义样式。它们现在属于共享系统,而不是由每个功能单独重新制作一套渐变或颜色。
真正困难的部分:找到那些例外
修改一个按钮组件,并不代表所有按钮都会自动更新。
产品在长期迭代中会积累很多局部决定:拥有独立边框的价格卡片、带有特殊光效的奖励弹窗、使用定制背景的分享窗口、藏在角落里的渐变操作按钮,或者从头实现了一套悬停效果的功能卡片。
这些例外,往往是一次重构最后显得不统一的原因。
因此,我们的检查没有停在组件库。我们继续梳理了实际业务界面,把值得调整的定制设计重新带回共享语言之中,包括营销页面、支付流程、每日奖励、成就、角色与故事卡片、分享弹窗、导航控件、空状态、提示横幅,以及平时不太容易被注意到的工具页面。
我们并没有消除所有例外。有些场景需要更强的个性,因为它们要表达庆祝、紧迫、稀有度或状态。区别在于,这些特殊时刻现在是在扩展系统,而不是绕开系统。
减少装饰,让交互更明确
这次重构移除了不少看起来像交互、却没有提供有效信息的效果。
不再是每张卡片都带有厚重阴影;悬停位移更加克制;渐变只留给真正需要强调的时刻;边框用于建立结构,而不是把每一段内容都再装进一个框里。
与此同时,真正的交互状态变得更清楚:
- 已选项目会同时通过视觉和语义表达当前状态。
- 使用键盘时,焦点位置更容易跟随。
- 可交互卡片拥有一致的悬停与焦点反馈。
- 按钮通过共享样式明确操作层级。
- 弹窗和菜单能够从背景中被识别,又不会像脱离产品的另一层界面。
装饰减少以后,我们反而有了更多空间去改善反馈。界面的动作更少了,但传达的信息更多了。
无障碍体验也是视觉系统的一部分
如果一套设计系统只描述组件在鼠标操作下的样子,那它还不完整。
在这次重构中,我们重新检查了焦点环、键盘行为、选中状态的语义、对比度,以及可交互卡片的行为。一些控件现在会向辅助技术更明确地提供“已按下”或“已选择”状态。像链接一样工作的故事卡片,也可以通过键盘聚焦和打开。共享控件的焦点样式遵循同一套视觉逻辑。
这些变化有意保持克制。无障碍不应该像额外叠在产品上的一种模式,而应该自然存在于默认体验里。
为下一步建立更好的基础
这次重构最有价值的结果,并不是某一种颜色、圆角或阴影,而是产品面对同一个设计问题时,不再同时存在许多互相冲突的答案。
以后构建新功能时,我们不再需要从零决定一个弹窗应该是什么感觉、输入框应该如何响应,或者选中的卡片应该如何呈现。系统已经提供了这些答案。这会让开发更快,更重要的是,它会让最终体验更可预测。
一致性并不意味着每个页面都必须长得一样。它意味着用户可以建立一套稳定的预期,让内容不断变化,而界面依然熟悉。
我们希望你感受到什么
理想情况下,你一开始不会注意到太多。
Reverie 应该只是变得更容易阅读、更平静,也更连贯。从发现内容,到进入对话,再到创作和账户工具,重要操作应该更快被看到,次要控件不再争夺注意力,长时间使用也不那么容易产生视觉疲劳。
角色依然可以很有表达力,故事依然可以充满氛围,值得庆祝的时刻也依然可以鲜明。
只是现在,界面更懂得什么时候应该说话,也更懂得什么时候安静下来,让真正重要的内容被看见。
新的设计系统现在已经延伸到整个 Reverie。如果你觉得某个地方明显变得更好了,或者仍然有些不协调,欢迎在 Discord 社区告诉我们。
