当前位置: 首页 > 科技观察

七句话让AI帮我做了个小游戏,还是极简版的塞尔达,一玩就停不下来

时间:2023-03-12 11:48:10 科技观察

求源。什么,七句话让AI给我生成一个小游戏?依旧是像塞尔达“简化版”一样的经典冒险游戏,不仅收集金币,隐藏怪物,而且地图也不重复。这是一位名叫安德鲁梅恩的小弟的真实经历。整个过程,他一行代码都没写!将AI生成的游戏和游戏代码发布到网上后,短短几个小时就收获了上千人气:前来观赛的网友试玩了他制作的游戏,直呼“脑洞大开”。那么,安德鲁·梅恩是怎么做到的呢?原来,他在游戏中使用的AI是来自OpenAI的最新版Codex。这个版本的Codex,除了可以直接生成、修改、编辑代码外,处理后的文本长度甚至翻倍,从2048个token增加到4000个,相当于“解开了一层封印”。起初,AndrewMayne只是好奇这个版本的Codex的创意极限在哪里,想做个实验,看看能不能直接根据文字生成小游戏。没想到,这样的尝试,却让他欲罢不能。第一次尝试7句生成冒险游戏是他命名为“极简塞尔达”的游戏。抛开画面的抽象,整个游戏包括随机生成的地图,玩家通过键盘控制角色移动,敌人会攻击玩家,收集金币加分等游戏核心要素。走到地图的边缘还可以生成新的地图,这样就可以一直玩了……总之,它看起来像是一款2D冒险游戏的雏形。所有这些规则只用七句话用英文写成,而人工智能用Javascript写成190行代码。由于小哥本人不是专业的游戏设计师,描述的文字不是很准确,但AI总能产生自己的理解。比如在怪物的描述中,只有“一只红色的怪物会随着玩家的移动而移动,试图靠近玩家,如果玩家被触碰则扣一分”。AI根据上下文生成了50多行完整的怪物生成、移动、计分逻辑。只是把色块换成简单的贴图,是不是和真正的塞尔达原型很像呢?△被曝光的初代塞尔达原型程序的第二个小游戏,他打算测试AI对逻辑的理解,生成简化版的猜字游戏Wordle。这次只用了5段来描述规则。答案词是从列表中随机选择的,一次选择一个并放在控制台上。描述字母输入框的样式,包括宽高、文字居中对齐,每个输入框都有独立的ID;输入时自动大写;加上一个确认按钮。分四种情况讨论如何判断输入结果。后来,他又做了更多的尝试,调用第三方库生成3D迷宫,可以和玩家对战的井字游戏,还有给照片加滤镜的小程序,一行代码都没有写。其中比较有意思的是《黑客帝国》角色下雨视觉效果的生成,几乎就是告诉AI“创建一个画布,添加一个Matrix下雨效果”,没有任何额外的解释,AI就做出来了:最后,他总结了几点经验,介绍如何写文字描述,让AI更容易理解需求:先描述逻辑部分。然后在创建UI元素时调用之前生成的逻辑函数。给描述编号。这样可以更容易地看到AI正在处理哪个描述。让AI更频繁地创造功能。如果你直接让AI生成一个包含100个项目的数组,AI可能实际上会把每个项目都写出来。如果你告诉AI创建一个函数来生成一个数组,AI会用一个循环语句来完成它。如果一次不理想,请多试几次。将温度参数设置为0.5,一些随机性可能会产生更好的结果。好像有点像产品经理总结的如何和程序员沟通。它背后的Codex“重新进化”话虽如此,这个最新版本的Codex使用起来有多容易?除了将AndrewMayne最感兴趣的令牌上限翻倍外,新增的插入和编辑功能也颇为有趣。我们先来看看Codex的编辑功能。比如优化代码性能,一句话就可以完成:或者改变编程语言来实现代码:还有“OneLiner”,一个命令就可以实现:有了这个功能,调整代码的难度就会降低减少了很多。在使用Codex时,你甚至可以像甲方一样,无需手动调整代码,只需要向“AI程序员”下达命令,让它生成你想要的。我们来看看Codex的Insert函数。不仅可以主动生成注释提醒这段代码的功能:还可以根据上下文理解这个功能,主动为你插入它的定义:不管是开发框架还是写小软件,你都不需要担心“一路走黑”,可以根据需要从中间调整。当然,这些功能和GPT-3类似。不管是换人换格式之类的小技巧:还是根据上下文修改和插入句子,这不是问题。除了这两个功能之外,还有一些细节上的更新,比如UI变得更简洁等等。实际上,这一系列的新功能都是旨在让Codex和GPT-3更容易上手,据OpenAI科学家表示,他们希望通过这次更新,让更多“非专业玩家”也能玩GPT-3和Codex,这确实吸引了很多感兴趣的网友前来尝试out.AndrewMayne,谁想出“AI给我玩游戏的7句话”,原本只是个惊悚小说家。△同样戴着SpaceX的帽子,除了他之外还有太多的元素,包括《连线》编辑CliveThompson等人也在尝试用Codex给自己写代码。Clive表示,Codex的知识比这些“业余爱好者”多得多,可以选择最合适的函数和库来满足需求。比如接到一个PDF相关的需求,调用PyPDF库。有网友说用Codex做了一个《太空侵略者》(太空侵略者)的小游戏,也成功了。看到这些成绩,有网友感叹,当AI真正学会写代码时,留给人类做的可能只有两件事:写出更好的AI,或者思考用AI可以生成什么。但更多谨慎的网友认为,AI生成的代码容易让人产生依赖,从而忽略了代码本身的问题。比如作者用Codex写的图像处理代码就存在一些不准确的地方:有网友预测,如果代码是用AI写的,最终还是需要工程师去调整,本质上是一样的结果。你会用人工智能来编写工具或制作游戏吗?