这个「愤怒的南瓜」游戏玩起来简单,创建起来却需要一些诀窍。
自 GPT 系列对话大模型以及 DALL・E、Midjourney 等文生图大模型兴起以来,基于它们的硬核、有趣二创应用花样频出,让普通人切身地体验到了大模型的魅力。
今天又一个这样的游戏项目引起了我们的注意。
推特用户 @javilopen 使用 GPT-4、DALL・E 3 和 Midjourney 编写了小游戏「愤怒的南瓜」(PS:如有雷同纯属巧合),其中 GPT-4 负责所有的编码工作,DALL・E 3 和 Midjourney 负责图形部分。
游戏画面、效果怎么样呢?从以下几张动图来看,似乎是分辨不出它是大模型生成的。
小伙伴们也可以试玩,还能自己创造关卡。不过,它目前还不支持手机端运行。
试玩地址:https://bestaiprompts.art/angry-pumpkins/index.html
接着来看这款「愤怒的南瓜」的实现流程和 prompt 细节。
首先是图形,这也是最简单的部分。以下是 prompt 分享:
标题屏幕(使用 GPT-4 里的 DALL・E 3):名为「Angry Pumpkins」电子游戏的横向主屏幕图片。设计参考「愤怒的小鸟」美术风格,但又有所不同。鬼屋、墓碑和蝙蝠等万圣节元素填充背景。游戏徽标位于中心顶部的显著位置,两侧是生气、虎视眈眈的南瓜造型。底部中央有一个「Play」按钮,周围环绕着阴森恐怖的雾气。
背景图(使用 Midjourney),作者使用了一张图片作为背景(并进行了多次修补),图片的 prompt 为:iPhone 截图中「愤怒的小鸟」的天际线,万圣节版,墓地,风格为浅海蓝宝石和橙色,新传统主义,kerem beyit, earthworks,木头,Xbox 360 图像,浅粉色和海军蓝 —— 比例为 8:5。”
另一张裁剪之后用来生成地面:2d 平台、石砖、万圣节、2d 电子游戏地形、2d 平台游戏、万圣节场景、类似于愤怒的小鸟、万圣节场景、截图、游戏资源 —— 比例为 8:5。
接下来,就要生成游戏中的角色了,作者使用 Midjourney 完成了创作。
万圣节南瓜,游戏精灵图,万圣节版,简易精灵图,2D,白色背景
万圣节绿色怪物,憨态可掬,游戏精灵图,万圣节版,简易精灵图,2D,白背景
当然,游戏中的物体也是作者使用 Midjourne 制作的。作者创建了各种精灵图样式表,然后用 Photoshop/Photopea 裁剪并移除背景。对于小细节,作者使用 Midjourney 进行修补。
木箱,物品资源精灵图,白色背景,游戏精灵图。
骷髅骨,大型骨骼,物品资源精灵图,白色背景,游戏精灵图。
长方形石头,物品资源精灵图,白色背景,游戏精灵图。
木箱,大型骨骼,物品资源精灵图,白色背景,游戏精灵图。
物品资源精灵图,木板,白色背景,游戏精灵图,类似「愤怒的小鸟」风格。
最后编程部分使用了 GPT-4。作者表示,这个游戏的代码仅有 600 行,完全由 GPT-4 代写。
完整代码可见:https://bestaiprompts.art/angry-pumpkins/sketch.js
作者在游戏中加入了很多细节,比如不同的粒子效果、不同种类的物体。不过到目前为止,GPT-4 还不能仅凭一个 prompt 就能生成完整的游戏。
因此,他使用的窍门是循序渐进向 GPT-4 提出要求,这与人类编程方式相似,先从简单可行的基础开始,然后不断迭代、拓展、优化代码。
他使用了一些小技巧和 prompt,首先从简单的事情开始做起,比如「我能不能使用 matter.js 和 p5.js 创建一个愤怒的小鸟风格的游戏?只需要用鼠标控制,设定好发射角度和力度,然后撞击一堆由 2D 物理效果堆叠的箱子。」
接着持续添加更多的元素和功能,遇到问题详细说明错误的地方,让程序自我修正。比如「现在我问你,你了解愤怒的小鸟游戏中玩家在屏幕上滑动手指来发射小鸟吗?把这种方式添加到要创建的游戏里,不过要改成用鼠标控制。」
再比如「把怪物设计成圆形」、「我想用粒子效果制作一个火炬,是否可以通过 p5.js 来实现?」如此种种,不断与 GPT-4 进行交互试验,最终有了现在的游戏效果。
这个纯 AI 版本的「愤怒的南瓜」,你心水了吗?