我昨天将我的第一款游戏上传到Steam。之前,瓦尔夫公司(Valve)拒绝了我的构建。这里有很多关于如何制作游戏的文章,但关于具体的这一步骤的文章很少,所以我这里要分享一下被标记的内容以及实际上解决了什么问题。为了让你能够权衡以下内容的重要性,我需要给出一些背景:我是一个独立开发者,使用GameMaker制作的生存类游戏,花了大约三个月的周末时间在工作和家庭之外。 我使用Claude Code进行了大量的实现。设计、平衡和艺术指导都是我的;大量的代码是由AI编写的。 我提前说明这一点是因为这与这四个问题中两个问题的解决有关。 1. 声明了没有实现的功能。 我的商店页面上有“统计信息”和“Steam排行榜”的选项。游戏并没有这些功能。 我早就勾选了它们,计划添加它们,但忘了。瓦尔夫公司检查了所有你声明的功能。这是最容易避免的,也是最尴尬的错误:在提交之前,逐行检查一下列表。 2. 全控制器支持失败了,留下了一个我不会忘记的句子:“Dualsense控制器在应用中没有任何功能。” 这是GameMaker用户应该阅读的内容。 我的游戏中每个输入都要求读取游戏掌机插槽0和1。 在GameMaker中,这些插槽是XInput专有的。Xbox掌机会落在那里。DualSense掌机不会。它在插槽4或更高的位置枚举为DirectInput设备,所以游戏在调试时一直在读取两个插槽,PlayStation掌机永远不会在那里。没有任何程序崩溃,也没有任何错误。 在我的桌子上,它是不可见的,因为我的桌子上有一个Xbox掌机。修复它需要88个调试点,分布在13个文件中,然后我发现同样的模式在游戏结束时的结果屏幕上隐藏着,我的第一次扫描没有发现,因为它是写成一个原始循环而不是我在其他地方重命名的助手。使用DualSense的玩家可以完成一场比赛,然后无法离开屏幕。 3. Steamoverlay没有暂停游戏。 发现是缺少了整个项目中的一个Steamworks调用。缺少的这个调用意味着成就是本地标记并且从未提交到Steam,所以游戏中所有的成就都从添加它们的那天起就被静默地破坏了。 我在修复overlay时才发现这一点。 4. AI内容调查不符合商店艺术。 我在代码中披露了AI的使用,但没有披露商店页面艺术的AI使用。修复了调查,以便说出实际情况。 我从中得出一个教训:这些问题在代码审查中不会出现,也不会在演示中出现。它们会在别人的硬件遇到你的假设时出现。DualSense的一个问题尤其隐匿,无法在任何测试中发现,因为我所有的测试都使用我自己的硬件。另外两个问题在之后的正式测试中出现,希望它们可以节省别人的时间。 我的12个音乐文件实际上是视频文件,文件扩展名被重命名。游戏只会播放音频流一次就不能循环,所以12个地图在游戏中会静默,中途会静默,我的桌子上也不会注意到,因为我不会在一个地图上待10分钟。每个会话中的一个地图都没有音乐,因为一个音频系统的调用在几百行代码上方的音乐开始的调用上方。第二次提交通过了。
steam 拒绝了我的第一版。所有四个原因都是我自己测试无法发现的。
评论 (0)