CHAMBER SERVICE 是一部短篇 PS1 风格黑色电影。你在夜晚经营一家枪店。每位顾客都想买枪;有的也是警察、强盗或雇佣杀手。卖给错误的人,夜晚会以失败告终。先开枪,最好是对的。

免费在浏览器中玩:https://wavedash.com/games/chamberservice

它是如何制作的

我负责导演和试玩;Claude(Anthropic)与我一起完成建设,逐对话进行,使用 Godot 4.7。

  • 代码:全部使用 GDScript 编写:顾客行为、夜间事件(电话、电台新闻、巡逻车),4 种语言(EN/JA/RU/ES)

  • 纹理:由 Python 脚本生成,调色板降级以模拟 1997 年的外观

  • 声音:所有效果均在 Python 中合成。没有任何采样。

  • 3D:商店和顾客均由代码构建。唯一的外部资源是 TastyTony(Sketchfab,CC BY 4.0)的 3 个低多边形枪模型,已调色以匹配

  • 外观:低分辨率渲染 + 顶点对齐 + 颗粒/噪点后处理滤镜

什么工作了

  • 脚本化自动测试 为真实游戏提供无头运行:约 50 个场景,加上全程游玩的机器人。它们在每次更改后捕获回归。

  • 真实玩家反馈。最初的反馈是:“每个人都只射击每位顾客。” 与其让游戏更难,我们加入了后果(老板打电话给你、警告、突袭)以及读取人物的提示。

  • 第二轮:“感觉像快进”。 与其加速,我们在安静的间隙中加入了事件:电话、关于你出售枪支的电台新闻、经过窗外的巡逻车。

如果你将 Godot 4.x 打包到网页上会遇到的陷阱

我们的网页构建完全没有声音。Godot 的网页导出默认使用 "Sample" 音频播放,在我们的情况下意味着没有声音。将 audio/general/default_playback_type.web 设置为 Stream 即可解决。

很乐意回答关于工作流的问题。