我正在计划发布itch版本,并将整个Godot工程的代码开源给任何感兴趣的人一旦完成。目前我正在工作于UI、保存/加载功能、模式复制/粘贴、以及适应性色彩选择和tileset 加载的可访问性方案。为了避免诱发癫痫,我将大部分gif缩放到1倍速度,但是模拟器在6倍速度下(144fps)是完全稳定的。这一切都在一对计算着色器内,这些着色器每秒60次物理帧(每个物理帧6倍速度意味着1次模拟 ticks)都会被提交。

如果你感兴趣想要获取这些代码文件(代码即将发布),我使用了以下几种代码策略:

  • 自动铺设片段着色器(包括动态的贴图)
  • 双线程计算着色器(以内存栅栏方式来稳定并行式模拟,一个着色器写入缓冲图片,另一个着色器写从缓冲图片读回地图)
  • 不在模拟文件保存和加载过程中强制cpu与gpu的同步
  • 将用户输入发送给gpu(通过push constant)
  • 整合到着色器中的摄像系统,以实现光滑的缩放和缩放