OpenStrike 是一款为 2004 年索尼 PSP 开发的高性能单机第一人称射击游戏,旨在证明现代 Web 技术栈(TypeScript/Solid)无需传统开销,即可在老旧硬件上高效运行。
该游戏采用**分离式架构**:
* **引擎(Rust):** 负责模拟、AI 和碰撞检测。它使用“预处理”格式处理地图,将 1999 年的 GoldSrc 数据转换为 PSP 可用的二进制文件,在运行时无需任何解析或解压。
* **产品(JavaScript):** 通过 **QuickJS** 解释器管理,负责处理回合逻辑(`rules.ts`)和用户界面(`hud.tsx`)。
为了在没有 JIT(即时编译)的 333 MHz CPU 上实现稳定的 60 FPS,团队采用了“细粒度”响应式设计——将 UI 状态拆分为独立的信号(signals),从而避免高昂的重新渲染成本。通过将繁重的数据处理(光照、纹理重排和 PVS 遮挡剔除)移至构建时的“预处理阶段”,引擎只需处理硬件原生优化的数据。
OpenStrike 是开源项目,作为“Pocket”运行时理念的功能演示:保持模拟部分原生且高性能,同时将游戏逻辑外包给可移植、响应式的 JavaScript。同一套程序包可以在现代电脑和 20 年前的掌机上实现字节级的完全一致运行。