耐心、ChatGPT 与一点运气:如何打造一款近乎可用的 iPhone 游戏

文章配图

七月,我作为一项实验,开始使用 ChatGPT 为 iPhone 制作一款文字游戏。两个月后,项目在成长,烦恼也随之而来。

我们的读者可能还记得今年夏天,那时我开始使用 ChatGPT 在 Unity 中制作一款游戏。这原本是一个教育性质的项目,规模和范围都很小。

短短几个月后,这个曾经的小项目已经膨胀成不再是仅仅为了测试用 AI 服务编码和学习使用 Unity 的一次性试验。它早已远远超出了那个阶段。

现在的情况是,放弃并停止开发它比将其完成更让我难受。

发布是不可避免的。

游戏在上篇文章结束时的样子。

自从第一篇(现已发展成系列)文章发表以来,开发工作仍在继续,只是速度比第一轮略慢。

为一个专注于苹果的网站工作意味着,苹果发布会以及随后的 iPhone 报道占用了比平时更多的时间和精力。游戏开发属于类似的创造性工作,所以不想在绞尽脑汁一整天后,再通过娱乐活动过度消耗脑力。

进展依然可见,而且它变得更像一款游戏,而不是一个玩具了。

关于 ChatGPT 的领悟

到目前为止,ChatGPT 在整个项目中持续被使用。正如上一篇文章中讨论的,利用 ChatGPT 与 Xcode 的连接来协助编写 C# 代码,并教我如何在 Unity 中制作东西。

这种设置可以用于“氛围编码”,即向 AI 提供提示,让它在你没有太多监督的情况下代你编写代码。通常,氛围编码会接受 AI 生成的任何代码,因为关键在于快速创建一个能按预期运行的应用程序,而不关心代码质量或扩展功能。

虽然我使用 ChatGPT 来生成代码,但这与纯粹的“氛围编码”思维方式有很大不同,因为我始终在监控输出。对代码的每次调整在应用前都会检查,元素的添加更加渐进,并在每次更新后进行检查,任何错误或问题都会在新的内容开始前得到处理。

尽管我试图通过这个过程学习 C# 和 Unity 编码,但我很清楚自己在这里并不是真正的程序员。与其说是软件工程师,不如说是项目经理。

我可能没有直接编程游戏,但我仍然在制作一款游戏。

ChatGPT 对我们工作的评论,以及对话次数限制警告。

ChatGPT 在许多代码相关任务上仍然很有用,但我已经开始看到它的局限性。

我很快就遇到了版本 5 的使用限制,这使我降级到较低的版本,直到五小时延迟后我的使用额度才被补充。

这算不上可怕的降级,因为使用 GPT-4o 仍然可以很好地编码,但处理速度变慢和“周到性”的轻微下降,最终导致我不可避免地购买了订阅。

我们就把它当作第一笔严肃的开发费用吧。希望它可以作为免税项目。

我还发现,即使你为 ChatGPT 付费,仍然存在一些限制。

在 Xcode 中与 ChatGPT 共享文件访问权限,在代码行数较少时开始还好。对于较长的文件,ChatGPT 需要更长时间来读取,当代码文件变得太大时,我遇到了问题。

自然,我向 ChatGPT 询问了此事,以及是否有解决方案。它随后花时间帮助将冗长的代码分割成更小的文件,这也帮助将代码分离成逻辑块,连我都知道它们是如何工作的了。

出乎意料的是,对话也有限制,正如一个警告框所提示的。显然,如果你的对话时间过长,ChatGPT 会礼貌地告诉你闭嘴。

幸运的是,提示框解释说,你可以简单地开始一个新的聊天来继续对话。

让游戏更像游戏

最初阶段的工作产生了一款可以运行但有点基础的文字游戏。你可以提交单词,它们会根据单词列表进行检查,并从不断填充的字母架中移除。

这很简单,但总有扩展的空间。首先,我制作了两种模式:一种是随机抽取字母,但元音和辅音交替出现;另一种是从一个虚拟且逐渐清空的字母块袋中抽取字母。

第二种模式玩起来要难得多,因为你可能会得到一大堆辅音,最后在最后一刻得到一个几乎没什么帮助的元音。与此同时,交替版本也有其游戏性限制,棋盘有可能被元音淹没。

《字符限制》现在的样子,有了道具、方块着色和更适合移动设备的布局。

于是引入了道具系统。在与 ChatGPT 进行头脑风暴后,我确定了三种道具,它们既能帮助聪明的玩家,也增加了更多复杂性。

在单词中添加通配符是最难添加的功能,因为它迫使单词列表检查功能被重写,以适应提交单词中额外的“字母”。

这样做使它更像一个真正的游戏,现在不难看出未来可以添加的竞争元素。

犯傻与待办工作

游戏的当前状态是可玩的,尽管长时间观看其外观并不算好。还有许多视觉元素需要构建,包括主菜单和其他典型的玩家便利性元素。

幸运的是,我有自己的内部美术部门——我的伴侣来帮忙处理这部分。

经过多次争论,游戏名字终于确定下来:《字符限制》。这个名字很合理,因为虚拟字母架确实有字面意义上的限制,而且比开发时的暂定名“LexBlitz”好多了。

虽然很想走 Bennett Foddy 的路子,把我的名字放在游戏标题里,但“马尔科姆·欧文的字符限制”这个玩笑有点太扎心,不想长期应付。

为游戏创建和测试的多种不同模式的示例。

音频是另一个需要添加的部分。既然我没有自己的管弦乐队,也不太会用 Garageband,我的另一个选择是从别处寻找音乐。

幸运的是,我从 Humble Bundle 弄到了一些免版税音乐包。有大量的音乐需要筛选,以找到最匹配的曲目。

还有其他界面音效需要寻找,不过网上有很多免费的(并可商用的)资源可供选择。

然而,还有一个重大功能我尚未实现,而这源于一次深夜的愚蠢行为。在为从虚拟袋中挑选字母创建概率权重时,我考虑制作带有有限字母表的自定义字母袋。

一块白板上列出了游戏冗长的待办事项列表。这里有多块白板……

这让我想到创建一个只包含威尔士语所用字母的袋子,并用它来构建英语单词。然后我想知道是否有免费的威尔士语单词列表可用,可以作为它自己的单词库,这样你也可以用威尔士语玩游戏。

这就像一个兔子洞,导致我给威尔士大学发了邮件,他们编纂了一部大型威尔士语词典,我问他们是否有任何免费的威尔士语单词列表可供使用。出乎意料的是,他们回邮件了,并且同意了,发给我一个电子表格,我可以在游戏中使用,只需适当注明出处。

对于一款文字游戏来说,这是一件相当小众的事情,但实际上对设计有点帮助。如果我能让游戏同时支持英语和威尔士语,并完全处理威尔士语的所有特点,那么它也将足够健壮,可以处理许多其他语言。

这是为游戏考虑本地化的开始。对于一款完全关于语言的游戏来说,这实践起来预计会更加困难。

技术上的可用品

就目前而言,我拥有一个可运行的游戏。大部分核心游戏元素都已就位,玩家实际上可以用任何一种模式完成一局基本的英文游戏。

到了这个阶段,游戏必须开始真正展示给其他人并接受测试了。确保游戏概念可行,以及哪些方面可以调整以便未来为玩家提供更好的体验。

游戏现在有了一个(简单的)主菜单。测试即将开始。

这让我有些忐忑,因为我要向人们展示我的第一款游戏,并期待从中得到一些批判性的反馈。这游戏就像我的孩子,所以我预计会对它产生保护心理,尽管需要听取抱怨和建议。

由于我也一直在调整设计,使其对移动设备更友好一点,我还得考虑在 iPhone 和 iPad 上进行测试。Mac 游戏测试相对容易,因为 Unity 可以直接导出一个可执行文件,但 iPhone 和 iPad 需要使用苹果的开发者工具。

为了使用 Testflight 之类的功能,我将不得不注册苹果开发者计划的付费版本,并了解 App Store 审核流程的种种特性和难点。

我还需要落实许多其他元素,比如游戏营销、售后支持,以及决定是否应该考虑上架 Steam 或 Epic Game Store 等平台。

对于一家成熟的大型游戏开发商来说,这些事情会有发行商协助,并提供资金支持。像 Devolver、Team 17,甚至我国的 Wales Interactive 这样的公司,不太可能为这样一款游戏提供开发支持,所以一切都得靠自己。

当然,还有 ChatGPT。

Related Posts

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注