这个“愤怒的南瓜🎃”还是挺强的,代码都是GPT-4给完成的👍🏻
以下翻译自作者推文:
Midjourney、DALL•E 3 和 GPT-4 的出现让我们进入了一个充满了无限可能的全新世界。
我最近用 GPT-4 编写了一个叫“愤怒的南瓜 🎃”的游戏(如果有相似之处,纯属巧合 😂),所有的代码都是用 GPT-4 写的,图形部分则是用 Midjourney 和 DALL•E 完成的。
下面是我在创建这个游戏时遵循的一些步骤和提示,不妨一看: 首先,你想试试这个游戏吗?
点这里就能玩!(不过要注意,手机上可能玩不了哦):https://t.co/80smAGFI5e
在游戏界面下方有一段文字说明,读完它你就能知道如何自己创造关卡并游玩了,赶紧试试吧!:)
💡 介绍
我真的是惊呆了!老实说,我从未想过这样的事情居然变成了现实。我觉得,我们正在经历一个仅仅在科幻电影中才能看到的历史性时刻。
现在,我们能够仅凭借自然语言创造出任何东西,这种全新的工作方式将彻底改变我们的世界。
这是一场翻天覆地的变革,对于那些没能及时察觉并做好准备的人来说,影响将是深远且剧烈的。
那么,现在就让我们一起乘风破浪吧! 🎨🎨 图形设计
说实话,这部分对我来说小菜一碟,因为我已经有超过一年半的时间在用 AI 生成图片了 :) 下面是我为你准备的一些创作提示,希望你会喜欢!
👉 开场画面(由 GPT-4 提供的 DALL•E 3 制作)
* “这是一个视频游戏 ‘愤怒的南瓜’ 的横版开场画面照片,画面充满活力,设计灵感来源于 ‘愤怒的小鸟’,但又有所不同。画面背景充斥着万圣节的元素,比如闹鬼的房子、墓碑和蝙蝠。游戏的 logo 被放在了中上部的显眼位置,两侧是一些看起来很愤怒、摆好姿势准备行动的南瓜角色。底部中央有一个 ‘开始’ 按钮,周围弥漫着神秘莫测的雾。”
👉 背景(Midjourney 制作)
* 我用了一张图片来做背景(并且进行了几次内部修饰):“这是一个展示愤怒的小鸟游戏万圣节版本背景的 iPhone 截屏,上面有墓地,画风是淡青色和橙色,风格为新传统主义,还融入了 Kerem Beyit 的风格,画面中有土木工程、木材和 Xbox 360 级别的图形,颜色以浅粉色和深蓝色为主。图片的长宽比是 8:5。”
* 另一张图片则用来做地面:“这是一个 2D 平台游戏的地面,用石砖搭建,画面主题为万圣节,与愤怒的小鸟游戏中的场景颇为相似,画面风格类似于金属雪耳游戏的万圣节版本,这也是一张游戏内部的截屏,其长宽比同样是 8:5。”
👉 角色设计(Midjourney 制作)
* "万圣节南瓜,这是一个游戏中的精灵图,特别版的万圣节版本,简约的2D图像,背景是纯白色的"
* "绿色万圣节怪物,看起来既傻乎乎又滑稽可笑,同样是游戏中的精灵图,也是万圣节特别版,简单的2D设计,白色背景"
👉 物品(由 Midjourney 制作)
我设计了多种“精灵样式”,然后利用 Photoshop/Photopea 对其进行裁剪和去背景处理。对于那些细小的部分,我还使用了 Midjourney 的修复工具。
* "木制箱子。游戏中的物品素材,精灵图设计,白色背景"
* "骷髅骨头。较大的骷髅骨头,游戏物品素材,精灵图设计,白色背景"
* "长方形石头。游戏中的物品素材,精灵图设计,白色背景"
* "木箱和大骷髅骨头。游戏物品素材,精灵图设计,白色背景"
* "木板。游戏物品素材,精灵图设计,白色背景,风格类似于《愤怒的小鸟》"
🤖🤖 编程(使用 GPT-4)
🔗 查看完整源代码:https://t.co/HKj6fm6AHc
虽然这个游戏的代码只有 600 行,而且我一个字都没写,但这确实是最让人头疼的部分。你看,我在这里加入了很多细节,比如各种各样的粒子效果,不同种类的物体等等。到目前为止,GPT-4 还不能仅凭一个提示就生成整个游戏。但我相信,将来我们一定能够仅通过发出请求,就能制作出三A级别的视频游戏。
言归正传,现在的窍门在于,要循序渐进地向 GPT-4 提出请求。这其实和人类编程的方式相当类似:先从一个简单的可行的基础开始,然后不断迭代、拓展、优化代码。
下面是一些我用过的小技巧和示例提示:
👉 先从简单的事情开始做起
* "我们能否使用 matter.js 和 p5.js 创建一个简单的《愤怒的小鸟》风格的游戏?只需要用鼠标控制,设定发射角度和力度,让球撞到一堆用2D物理效果堆叠起来的箱子上。
👉 然后,不断地添加更多的元素和功能。每当遇到问题时,就详细说明错误所在,并让程序自我修正。记住,耐心是关键!例如:
* “现在轮到你了:你了解愤怒的小鸟里,玩家是如何通过在屏幕上滑动手指来发射小鸟的吗?没错,就是这样的操作。把这种操作方式加入游戏里,但是改成用鼠标来控制。”
* “我这里出现了一个错误,麻烦你帮我解决一下:系统提示‘未捕获的引用错误:Constraint未定义’。”
* “我想用粒子效果来制作一个火炬。这个能用 p5.js 实现吗?请你帮我做一个。”
* “现在,把怪物设计成圆形,并且要特别注意:对于缩放和碰撞区域,使用和矩形怪物相同的处理技术,不要再犯之前那样的错误了。😂”
👉 我们(包括我和 GTP-4)为了这部分内容反复试验,付出了极大的耐心。
* “有一个问题出在计算昆虫受到重击时的逻辑上。如果是直接撞击,一切正常。但如果是间接撞击就会出问题。比如,我在两只昆虫上放了一个矩形板,然后在板上扔了一个箱子,即使这些昆虫理应受到撞击的影响,但它们却浑然不觉。我们该如何改进,确保即使是间接受力,它们也能感受到呢?”
讲到这里,祝你万圣节快乐!🎃👻