💠CAUSTICA key art

CAUSTICA

析光回廊 · Real-time 3D · Optics puzzle · Three.js · Free browser game · Mobile & desktop

💠 refraction 🌈 real dispersion 🎁 daily challenge

CAUSTICA is a 3D light puzzle in which the physics is not decoration — it is the rule set. A dead corridor, a single white beam, and a room full of heavy glass you can turn. Rotate a mirror and the beam reflects at an equal angle. Rotate a wedge of heavy flint glass and the white beam comes apart into three separate beams of red, green and blue, because red and blue genuinely refract by different amounts. Tilt a light guide far enough and the beam stops being able to escape at all — past the 41.3° critical angle, glass becomes a perfect mirror from the inside. Send every beam into the receptor that matches its colour, with enough intensity left, and the corridor opens.

The thing that makes this work is that the picture and the win condition come from the same numbers. A CPU ray solver traces the beam with the vector form of Snell's law, applies Schlick's Fresnel approximation to decide how much light splits off at each surface, and subtracts absorption along the path inside glass. That solver decides whether you win. Separately, Three.js draws the glass with physically-based transmission and dispersion. Neither one is faking the other — they read the same geometry and the same index-of-refraction table.

There is no fail state, no timer and no step penalty. Twenty-four rooms across four chapters — Incidence, Dispersion, Captive, Calibration — each introducing exactly one idea, each machine-verified solvable before it ever shipped. On top of that, a daily calibration challenge generated from the date, so every player in the world gets the same board, scored on how few moves and how little time it took.

How to play

  • Drag a piece of glass to rotate it (snaps to 5°); hold for a moment first to drop into 0.5° fine adjustment.
  • Drag empty space to orbit the camera, scroll to zoom. The camera never changes the answer — it just helps you read the light.
  • The sphere lens can't be rotated, only slid across the beam — where the light strikes the curve decides how far it bends.
  • Each receptor needs the right colour at an intensity of at least 0.35. Beam splitters halve intensity, so a two-splitter route may not have enough light left.
  • Two optional calibration stars per room: one for the step target, one for the time target. Neither is required to advance.

Things that are actually true in here

  • Thick glass with parallel faces never changes a beam's direction — it only shifts the whole path sideways. That's why the slab rooms are about millimetre alignment, not aiming.
  • Total internal reflection is why fibre optics work, and the light guide in chapter three behaves the same way: get the angle above 41.3° and the light simply cannot leave.
  • A beam that has already been split keeps its colour through everything downstream — a colour filter will destroy it if it arrives at the wrong one.
  • One deliberate exaggeration: the dispersive wedge uses a red-to-blue index spread of 0.12, four times real heavy flint. At real values the three beams separate by less than the width of one receptor, and chapter two would be unplayable.

析光回廊 CAUSTICA 是一款把物理定律当规则的 3D 光学解谜。一条熄灭很久的回廊,一束白光,和一屋子可以转动的沉重玻璃。转动镜面,光按等角反射;转动一块重火石三棱玻璃,白光会散成分开的红、绿、蓝三束——因为红光和蓝光的折射率是真的不一样;把光导管转到足够的角度,光就再也出不去了——超过 41.3° 的临界角,玻璃从内侧看就是一面完美的镜子。把每一束光送进颜色对应、强度足够的晶核,回廊就会向下一室推进。

真正让它成立的是:画面和胜负来自同一组数字。一个跑在 CPU 上的光线求解器用矢量形式的斯涅尔定律追踪光路,用 Schlick 近似算每个界面分走多少光,再扣掉玻璃内部的吸收——是它决定你有没有赢。与此同时,Three.js 用物理级的透射与色散把玻璃画出来。两边谁也没有糊弄谁:它们读的是同一份几何、同一张折射率表。

没有失败,没有倒计时,也不惩罚步数。四章共二十四室——入射分色囚光校准——每一室只教一件事,且每一室在上线前都由程序验证过「解法角度下必然点亮、初始角度下必然不可解」。之外还有按日期生成的每日校准挑战,全球同一盘,比谁步数少、用时短。

怎么玩

  • 拖动玻璃旋转(吸附 5°);先按住不动一会儿会进入 0.5° 微调模式。
  • 拖动空白转视角,滚轮缩放。相机永远不会改变解法,只是帮你把光看清楚。
  • 球透镜不能转,只能横向滑动——光打在球面的哪个位置,决定它拐多少。
  • 每个晶核需要正确的颜色且强度 ≥ 0.35。分束器会把强度砍半,连过两个分束器的路线可能就不够亮了。
  • 每室两枚可选校准星:步数星与限时星。都不是过关的必要条件。

这里面是真的东西

  • 两面平行的厚玻璃永远不会改变光的方向,只会把整条光路平移——所以厚玻璃的关卡考的是对齐,不是瞄准。
  • 全内反射就是光纤能工作的原因,第三章的光导管是同一个道理:角度超过 41.3°,光根本出不来。
  • 已经分色的光会一路带着颜色走——走错滤色片就会被吃掉。
  • 一处刻意的夸张:色散棱镜的红蓝折射率差取 0.12,是真实重火石玻璃的四倍。用真实数值时三束光分开的距离还没有一个晶核宽,第二章会直接没法玩。