写点什么

ChatGPT 按提示词数秒完成游戏开发,程序员们该慌了

Lance Ulanoff

  • 2024-12-10
    北京
  • 本文字数:2551 字

    阅读完需:约 8 分钟

大小:1.26M时长:07:20
ChatGPT按提示词数秒完成游戏开发,程序员们该慌了

作者 | Lance Ulanoff

编译 | 核子可乐

策划 | 华卫

 

ChatGPT 的发展速度真是令人震惊。

 

在距离第一次要求生成式 AI 聊天机器人帮我开发游戏的近两年之后,我使用完全相同的提示词再次测试了 ChatGPT 4o,结果让我大为震撼。

 

去年首次用 GPT 编写游戏:浪费了几小时

 

自从 OpenAI 的这套生成式 AI 平台问世以来,人们一直想靠它帮助处理自己不愿做的任务,甚至在某些情况下执行自己做不到的工作。我是作家出身,所以不会要求 ChatGPT 创作散文;我的艺术设计能力也尚可,所以只用生成式图像来自娱自乐。但我确实不会编程,虽然之前学过 HTML、JavaScript 甚至是 BASIC 编程,但现在我已经彻底生疏、用不起来了。

 

之前(2023 年初)我曾要求 ChatGPT 帮我制作一款名为 Tic-Tac-Go 的游戏,基本规则跟井字棋类似,只是更加高级。我设想的棋盘是一个 12 x 12 的网格,获胜需要将六个“X”标或者六个“O”标连成一条线。

 

我想创建一种基于井字棋的变体,但规则更为复杂:棋盘网格应该为 12 x 12,仍使用 X 和 O 作为双方棋子。双方玩家均可使用自己的“X”和“O”摆放进任意网格来阻止对方的当前或者后续棋步。游戏目标是在抢在对手之前,在任意行、列或者对角线上将六个“X”或“O”摆成一条线。请注意,一方玩家执“X”、另一方玩家执“O”,请使用简单的 HTML 和 JavaScript 编写此程序。

 

我们将游戏命名为:Tic-Tac-Go。虽然这个项目的开发难度不是特别高,但至少也涉及嵌套表还有浏览器内交互,反正单凭我自己的开发能力肯定搞不定。

 

第一次尝试就取得了成功,ChatGPT 不仅提供了 CSS、JavaScript 还有 HTML 文件,而且几乎每部分代码都附有大量注释。但受到内置字符限制(4096)的影响,它给出的大部分内容都不完整。我只能一直要求 ChatGPT 继续提供其余代码,但它总会重复之前已经给出过的部分。

 

这里肯定有我自己的失误,但我也意识到 ChatGPT 1.0 并不足以弥补我个人的开发能力空白。最终,我们没能完成游戏构建,经过几个小时测试后无奈放弃。

 


这是去年的成果

 

用 GPT 4o 试建同款游戏:几秒内跃升 2.0 版

 

在过去这 20 个月里,ChatGPT 的功能迎来了巨大飞跃。我最近开始使用 ChatGPT 搜索,并发现它确实比谷歌更能有效提供优质答案。ChatGPT 4o 也摆脱了我在第一版中发现的几乎所有限制。我开始好奇它的能力边界究竟在哪里。

 

另外,同事在 Slack 频道上也提到了一些新的 AI 分布式计算平台,比如能够帮助程序员快速开发游戏的 Oasis AI。我当时是不信的,但也想起了曾经失败的 ChatGPT 游戏开发尝试。在聊了自己的经历后,同事回复说“不知道现在这些新的 AI 工具,能不能更轻松地做好这项工作。”

 

好主意!ChatGPT 4o 能不能在当年初版 ChatGPT 跌倒的地方爬起,创造新的神话?

 

构思整理到游戏运行,一次成功

为了公平起见,我没有对提示词做任何调整,只是将前文中的提示文本直接粘贴到了 ChatGPT 4o 当中。我很快就意识到,现在的 4o 跟当年的 1.0 根本就不是一个量级。如果说 ChatGPT 1 最多算是小学水平的智能,那 ChatGPT 4o 至少是名大学生。

 

ChatGPT 4o 首先将我的游戏构思整理成了更简洁的形式:在 12 x 12 网格的棋盘上创建一款更复杂的井字棋变体,名为 Tic-Tac-Go。可以使用 HTMl 和 JavaScript 实现。在此游戏中,双方玩家轮流放置标记(X 或 O),尝试在行、列或对角线上将六个标记摆成一条线。可通过放置标记阻挡对方的连线策略。

 


之后它开始快速生成 HTML 和 JavaScript 代码,而且相当完整。于是我得到了从开关“html”到末尾“/html”的所有内容。在代码之后,ChatGPT 又对其工作原理和游戏的相关功能做出了四点解释。除 HTML 和 JavaScript 之外,另有一个“复制代码”的按钮。

 

我把代码复制下来,并询问 ChatGPT 要如何在网络浏览器中进行测试(当然,这是故意发问)。它建议我打开 TextEdit 之类的文本编辑器,粘贴代码,再使用“.html”扩展名将其保存。完成之后,我尝试用 Chrome 和 Safari 浏览器加载该文件,却发现这并不是游戏,只是一堆代码加个一个“重启游戏”的按钮。

 

我把情况反馈给 ChatGPT,并询问是否需要将 JavaScript 保存成单独的文件。它告诉我不需要,并提醒我检查文件的扩展名是否正确、有没有禁用 RichText。它还提供了其他一些建议,比如使用开发者工具检查 JavaScript 能否正常工作。

 


这时候我又有了新点子。我直接把报错网页截图发给了 ChatGPT,问它能不能分析图像。这种多模态功能在初版 ChatGPT 中根本无法想象,但如今却已毫无难度。

 

ChatGPT 回答道,“看起来您的文件显示的是 RTF(富文本格式)标记,而非 HTML。如果将文件保存为 RTF 文档、而非纯文本,通常就会发生这种情况。”之后它还解释了个中原理,以及具体修复方法。

 

我重新粘贴了代码,将 TextEdit 设置为 PlainText,再将其重新保存为 HTML 文件。最后,我用 Chrome 打开了文件。

 


程序顺利运行,整个游戏跟我想象的完全一样。棋盘上共有 144 个空格,还有轮流放置“X”和“O”标记的双玩家系统。

 


一键就能更新至多人在线游戏

接下来,我又意识到新手在面对棋盘时肯定不知道该怎么做,所以我问 ChatGPT 能不能在游戏画面下方加上规则。ChatGPT 马上输出了包含游戏规则的新代码。

 

在初版 ChatGPT 中,每当我要求它重新输出代码,过程中都会有一些东西消失无踪。但这次不会,20 个月的迭代让它在效率、明确性和记忆力都远超自己先前的版本。

 


这时候又一个大胆的想法冒了出来,但也是非常合乎逻辑的游戏更新方向:在线游戏功能。现在的设计只允许两个人并肩坐在电脑前对弈,但我想要实现在线比赛功能。

 

 “要将其打造成多人在线游戏,您需要设置一个服务器来袒管理游戏状态及玩家互动。以下是必要步骤的概括表述和部分代码示例,希望能帮助您快速上手……”

 

ChatGPT 为我提供了详细的说明以及设置服务器所需要的全部代码。其中涉及到 Node.js 和 WebSockets 之类的东西,反正我读着读着感觉血压都上来了,完全无法理解。但 ChatGPT 明显很清楚自己在做什么,而且是真的拥有独立完成整项任务的能力。

 

也就是说,我只需要出个主意,ChatGPT 4o 就能把余下的工作都搞定。好样的,AI,这项技术真的在短时间内取得了长足进步。我坚信 AI 辅助编程有着光明的未来,只是不确定人类程序员的未来还光不光明。

 

原文链接:

https://www.techradar.com/computing/artificial-intelligence/chatgpt-coded-a-game-for-me-in-seconds-and-i-am-simply-astounded-and-coders-should-be-very-worried

2024-12-10 10:3812

评论

发布
暂无评论

iofod - 借助低代码快速构建WeUI表单

独来独往

前端 低代码 表单 weui

他只是试图运用自己的能力,给这个领域带来改变

图灵教育

通信

RT-Thread记录(十一、I/O 设备模型之UART设备 — 源码解析)

矜辰所致

RT-Thread 8月月更 IO设备模型

零基础学习java有必要参加吗?

小谷哥

笔记 | 关于SRE在金融行业落地的探讨

嘉为蓝鲸

运维 金融 SRE

周一见!距离阿里巴巴开源开放周还有3天

阿里巴巴中间件

阿里云 开源

Nginx + keepalived 实现高可用

C++后台开发

nginx 高可用 中间件 后端开发 C++开发

开源公开课丨大数据调度系统Taier任务调度介绍

袋鼠云数栈

前端程序员在培训学习中需要学习什么?

小谷哥

学好前端开发技术的培训机构推荐

小谷哥

Ding!您有一份ChunJun实用指南,请查收

袋鼠云数栈

“软件定义汽车”时代,车载生态安全运转需小程序化技术

Speedoooo

小程序 车联网 小程序容器 车载安全

SpringBoot 整合 MyBatis

mybatis springboot 8月月更

如何选择适合自己的前端培训机构

小谷哥

Spark Driver CPU 占用异常问题排查

观远数据

spark bug修复 #开源 8月月更

诚邀|8月31日,【因果学习和决策优化挑战赛TOP10队伍作品秀】邀您共享因果学习智慧盛宴

九章云极DataCanvas

人工智能

中小微企业如何快速开发信息化系统

力软低代码开发平台

无影云电脑

六月的雨在InfoQ

无影云电脑 云电脑 8月月更

字节跳动基于ClickHouse优化实践之“多表关联查询”

字节跳动数据平台

数据库 数据分析 OLAP Clickhouse 数据查询

Apache Pulsar Tenant 和 Namespace 级别限速使用与实现

移动云大数据

pulsar

如何在OpenHarmony上使用SeetaFace2人脸识别库?

OpenHarmony开发者

OpenHarmony

“似水无形” - 小程序化

FN0

小程序 容器化 轻应用

“九章云极DataCanvas AI平台赋能厦门航空”荣获AI平台应用标杆案例

九章云极DataCanvas

人工智能

九章云极DataCanvas YLearn因果学习开源项目荣获“可信AI实践优秀案例”奖

九章云极DataCanvas

干货 | 工单系统与 ITSM 软件的区别是什么?

嘉为蓝鲸

运维 AIOPS 流程 ITSM 工单

开源小白到核心开发——我与 sealer 的成长故事

阿里巴巴中间件

Docker 阿里云 容器 云原生 sealer

EMQ携“云边一体化”IoT解决方案亮相第十届中国电子信息博览会

EMQ映云科技

物联网 IoT 云边一体 emq 8月月更

【真送礼物】1 分钟 Serverless 极速部署盲盒平台,自己部署自己抽!

阿里巴巴中间件

阿里云 Serverless 云原生

ElasticSearch 集群备份与恢复实践

移动云大数据

elasticsearch

java编程技术学习好还是自学好

小谷哥

高项-第一章 信息化和信息系统(1)

索隆

项目管理 软考 笔记分享

ChatGPT按提示词数秒完成游戏开发,程序员们该慌了_生成式 AI_InfoQ精选文章