About 关于

我做的东西,大多是一个可以被反复推演的假设。

把规则写清楚,让它跑起来,然后看它会不会给出我没预料到的结果——这件事我从三个完全不同的尺度上做了三年:一片海、一块战场、一具人体。

夜间工作台:三块显示着波形与地形的屏幕、一台示波器和一块写满推导的黑板
WORKBENCH / 03:12 — 调试到第三个小时 ILLUSTRATIVE IMAGE — 生成图像,非实拍

我是阮家忆。做的东西大多关于模拟:海战、载具对战、人体生理。它们看起来毫不相干,做法却是同一套——先定物理,再做界面;先写探针,再调参数。界面可以慢慢磨,物理错了,后面所有的漂亮都是在给错误加分辨率。

我不太相信「看起来对」。一个模拟器最容易骗人的地方,是它永远会给你一个画面:海面照样有波浪,心脏照样在跳,数字照样在变。它不会告诉你某个分支已经安静地失效了三个月。所以我的大部分时间花在判据上,而不是效果上:这个数应该在什么范围、这条曲线该不该单调、这个病到底有没有人消费。

这个站点是我的工作台一角。三个项目、几篇记录踩坑的笔记,以及一些还没做完的想法。没有后端,没有账号,没有统计——它只是几个页面,希望能被安静地读完。

坐标
UTC+8 · 中国
在做
三个模拟项目 · 海战 / 载具 / 生理
工具
原生 JS、Three.js、Node 探针 · 无框架、无构建
偏好
可验证的东西 · 探针优先于肉眼
不做
后端、账号、追踪 · 这个站点没有服务器
邮箱
806117943@qq.com
QQ

01 做法

三条,从调试记录里抄出来的

  1. 01

    先有判据,再有效果

    每个模块先回答「怎么知道它是对的」:基线读数、分级对照、单调性、守恒量。写不出判据的功能,通常也写不出正确的实现。

    PROBES BEFORE POLISH
  2. 02

    一个概念,一个入口

    进座舱、取位置、判可用、装配挂载,各只有一个函数,其余地方一律调用。第二套实现不会立刻出错,它只会在几个月后悄悄漂移。

    ONE DOOR PER CONCEPT
  3. 03

    让状态趋近目标

    生理量大多不是自由积分,而是向目标值惯性趋近。写成指数逼近,无条件稳定;把不稳定留给「精度更高」的方法,是把失败模式换成不可预测。

    STABLE BEATS CLEVER

02 站点

关于这个站点

Typography

标题用 Noto Serif SC,正文用 Noto Sans SC,标签与元信息用等宽,数字用 Palatino。中文正文行高 2.05,段落宽度控制在 34 字上下。

Build

手写 HTML 与 CSS,一段原生 JS。无框架、无构建步骤、无第三方请求;字体取系统已装的中文字体,图片全部本地。

Images

页面里的示意图是手绘 SVG,靠反色适配深色底;照片为生成图像,只作氛围示意,不是项目截图。

Palette

墨黑 #08090A,骨白 #EDE9DF,青色只用在需要被指出的地方。

03 Contact

想聊聊某个模拟,
或者只是想说点什么。

806117943@qq.com ↗

物理、界面、数值方法,或者任何一个还没做完的模拟。