《折境》:造一个只在一个角度存在的世界
正交投影、接缝判定与无头试玩脚本——我们的第一款正式游戏如何保证十二关每一关都真的走得通。
《折境》是观谜台上的第一款完整游戏。它的规则只有一句话:两块平面只有在你当前的视角里"看起来"相接时,才真正连通。转动世界,路就消失;拉动拨杆,竖立的书页倒下变成地面。 这句话说起来简单,做起来却意外地难。视角类游戏通常用预先烘焙好的"不可能几何体"取巧。我们希望几何是真实的,错觉来自镜头本身。
因此渲染器使用只有两个自由度的正交相机。在正交投影下,沿视线方向平移一个点,屏幕位置完全不变——我们把这条性质反过来用:每一关都是把下一块平台放在"沿视线方向偏移一步"的位置上。在设计角度,接缝严丝合缝;偏离几度,断裂一目了然。 于是连通关系不需要手工标注。我们对每块平台的边缘采样、投影,再测量两条边"贴合"的长度。角碰角不算门,因此不算连通。
每次改动都有两个脚本把关。第一个扫描每关的整个镜头空间,报告可解性、初始角度是否过于平凡、机关是否真的必要、以及解角窗口有多宽。第二个则是真的去玩:它无头驱动引擎——点击拨杆、等待折叠动画、转动镜头、走向终点——调用的正是玩家操作所触发的同一批接口。 带着这两个脚本发布十二关,意味着"应该能玩"变成了"昨晚脚本把十二关全部通关了"。