我刚花了上几个小时在Steam上为我的增量游戏配置了100个成就,我真的很好奇,这是正常的经验吗?
以下是我做了什么:
配置成就:
- 没有批量创建。没有API端点。没有CSV导入来创建。
- “导入”(Achievement Configuration页面的功能名称)?那只是用于本地化令牌的功能。成就必须先存在。
- 我终于写了一个Puppeteer脚本,调用了Steam自己的JS函数(PerformNewAchievement())100次,填充表格字段,并为每一个都单独保存。
本地化:
- 成就VDF导入格式具体没有明确说明。Steamdocs中的示例是导出原始设置(用于GOG导入),而不是用于本地化上传。
- 令牌都是由Steam自身自动生成的(NEW_ACHIEVEMENT_3_0_NAME, NEW_ACHIEVEMENT_3_1_NAME...)你无法知道它们的前景,直到成就存在。
- 我需要逆向工程令牌模式(statId从某个数字开始,bitId 0-31然后绕回)来生成正确的VDF文件。
- 一旦我解出了这个格式,上传就成功了: "lang" { "french" { "Tokens" { ... } } }
图标:
- 256x256 JPG,每个成就都有解锁 + 锁定图标 = 200张图片。
- 没有批量上传,每个图标都有单独的表单,并且需要一个文件输入。
- 另一个Puppeteer脚本来自动上传每一张图标。
我建造的东西使这有了可能:
- 一个基于React的图标生成器(Puppeteer截图HTML/CSS组件256x256)
- 一个脚本来创建所有100个成就(通过浏览器自动化)
- 一个脚本来生成本地化VDF文件并正确映射令牌
- 一个脚本来自动上传所有200张图标
- 一个Cookie保持脚本(不用通过Steam Guard每次都登录)
游戏:这个游戏是一款以编程为主的增量游戏(编写代码,AI代理,技能树,...)。这100个成就从“输入你的第一个字符”到“每个代理达到1,000级别”的所有事情都有所涵盖,并且依然在中等中等。
我是不是把事情复杂化了?没有批量工作流吗?还是Steamworks就是这样?
对感兴趣的人,随时分享我的脚本。
P.S. Claude(格式化贴文)说这篇贴文因为晚了所以有些糟糕,而且我的头疼得厉害。然后,嗯,这就是我第一次将我的游戏上架在Steam。
评论 (0)