我早在五月用 Claude Code 在大约十天内制作了一款小型浏览器游戏。它叫 Stranger:一款骰子 Roguelike,讲述在中土世界做新来者的经历。你有五年时间在哈比特村、Rohan 或 米那斯提尔。每周你掷两枚骰子,处理你落脚的地点(文书、邻居、似乎只针对你的征税)并尽量不耗尽金币、声誉或欢迎。

它自那以后一直挂在我的网站上。本周我准备好让它在 itch 上发布,而没有修改游戏玩法,几件事值得分享。

美术。 旧图片上有 Gemini 水印,并且有四五种不同的风格。我用 GPT 的图像模型重新绘制了所有图片。让它们看起来一致的关键是先根据文字为每个地点创建一个背景和一个场景,然后把这两个作为其他所有图片的参考。肖像采用带有绘制深色背景的方式,而不是透明背景。手机版采用了自己独特的高背景。

要避免的错误。 我让代理决定如何生成图片,它通过自己收费的连接器发送图片。带有参考的图片比纯文本图片贵约五倍,全套约需 16k 信用点。直接调用 OpenAI API 会便宜得多。现在我会事先明确告知它使用哪个工具。

音乐。 旧音轨被压缩到 37–79 kbps,听起来也相应。我用 Suno 重新制作了音乐。这段音乐在阅读文字时播放,因此提示要求没有人声、没有起高潮和没有高潮,并排除合唱、鼓组、史诗预告等(exclude list)。我选择了动态最平稳的版本,而不是最激动人心的。Suno 的音轨在结尾已经淡出,所以直接使用 <audio loop> 即可,无需编辑循环点。

名称。 前版把地点称为 “The Burrows” 和 “The Riddermark”,而事件中多次提到 hobbits(共 49 次)。任选其一。我直接使用真实的中土世界名称,并在标题画面上加入粉丝游戏免责声明。

平凡的事情,代理做得很好。 itch 的截图和封面是由一个无头 Chrome 脚本生成的,它会运行游戏并拍照,这样我可以在任何改动后重新拍摄。它还将构建设置为相对路径,使其能在 itch 的 iframe 中运行,并删除了作弊面板。

我还没解决保存问题。它们保存在浏览器中,itch 没有云保存,所以无法在手机和电脑之间同步。如果你在 itch HTML 游戏中实现了跨设备保存且不需要用户注册,你是怎么做的?

Game: https://yukajii.itch.io/stranger