推箱子与元胞自动机在 Scheme 中的实现 - Spritely 研究所

主要观点:

  • 6 月 3 日发布名为Cirkoban的小解谜游戏,是 Spritely 开发的首个可公开访问应用,展示了在浏览器中运行的[Goblins]分布式编程库。
  • 制作 Cirkoban 的目的是锻炼 Spritely 技术,展示 Hoot 和将 Goblins 移植到网页的早期进展。
  • 游戏结合了[Sokoban]推箱子和[Wireworld]细胞自动机,有 15 个难度递增的关卡,可回溯操作。
  • 设计上利用 Wireworld 规则创造谜题游戏,添加回溯机制,为方便游戏采用了一些简化的 Wireworld 规则。
  • 开发中使用 Goblins 演员建模游戏状态,通过 Emacs 编辑代码,用 HTML5 canvas 绘制图形,借助 Tiled 设计关卡,为触摸屏添加控制。
  • 反思 Hoot 目前状况良好但缺少调试工具和 REPL,Goblins 移植进展顺利,期待未来在浏览器中拥有完整的 Goblins 功能。
  • 游戏收到其他参与者的积极评价,排名第二。

关键信息:

  • 6 月 3 日发布 Cirkoban 游戏及相关视频。
  • Cirkoban 结合两种游戏元素,有 15 关及回溯功能。
  • 设计基于 Wireworld 规则,添加回溯机制,简化规则。
  • 开发使用多种工具,如 Goblins 演员、Emacs、HTML5 canvas、Tiled 等。
  • Hoot 状况良好但缺调试工具和 REPL,Goblins 移植进展顺利。
  • 游戏获得积极评价,排名第二。

重要细节:

  • 一年多前为将 Goblins 带到网页而押注 Hoot 编译器。
  • Cirkoban 是为[Spring Lisp Game Jam 2024]制作,10 天完成。
  • 用 Emacs 的 paredit 和 rainbow-delimiters 编辑 Scheme,magit 管理 Git 仓库。
  • 用 HTML5 canvas 绘制图形,选择猫头鹰作为玩家角色,Christine 创作主题和精灵。
  • 用 Tiled 设计关卡,将关卡编译到 Wasm 二进制文件中。
  • 最后添加触摸屏控制,改进游戏在小屏幕上的缩放。
  • 游戏自动保存进度到localStorage
  • Hoot 最新代码开发 Cirkoban 只发现一个小问题且易修复。
阅读 16
0 条评论