主播实测:不懂编程、8小时用ChatGPT做出游戏,证明会编程才能用好AI
图片来源:Pixabay
【ashkeling专稿,未经授权不得转载!】
ashkeling报道/ChatGPT走红之后,全球范围内掀起了AI热潮,游戏则是最早尝试利用该技术的领域之一。实际上,此前就有不少网友尝试通过ChatGPT做游戏或者集成到研发管线当中的案例,不过,那些人往往是具备一定编写程序基础的开发者。
最近,一位油管主播表示,他想要知道的是,在完全不会编程、零代码基础的情况下,ChatGPT能否帮他开发一款比较简单的游戏,并且分享了整个创作过程。从结果来看,零代码基础同样可以使用ChatGPT做游戏,但只能做比较简单的游戏,而且,由于看不懂代码,很多时候这位主播根本不知道AI生成的这些游戏程序代码在什么地方出现了Bug。
有位资深程序员观看过这位主播通过ChatGPT制作游戏过程之后表示,ChatGPT当前的水准还无法代替程序员,因为其中有不少细节上的错误,只要懂点代码就可以自行解决,而不必反复让ChatGPT试错。而且,在商业游戏中,哪怕是小团队开发的独立游戏,最终游戏的代码量也非常大,往往会涉及更多的模块,在没有程序员介入的情况下、一款商业化的主流游戏目前是ChatGPT无论如何也做不出来的。
零代码基础:耗时8小时用ChatGPT做了个平台小游戏
在开始之前,这位主播表示,自己没有任何编程经验,也看不懂代码,此次尝试主要是希望探索零代码基础能否用ChatGPT做游戏。
他首先下载了微软的免费程序编辑器Visual Studio Code,随后让ChatGPT给出五个游戏创意方向,由于不会编程,他还在问题中附加了游戏的要求:能够用HTML、CSS或JavaScript等简单的编程语言实现,而且游戏里要有图像,不能是纯文字游戏。
ChatGPT给出了五个游戏创作方向,他选择了最后一个选项,做一款简单的平台跳跃玩法游戏(类似超级玛丽)。为了开始游戏的制作,这位主播还要求ChatGPT给出做一款简单平台游戏的起始步骤,可以看到,ChatGPT给出了非常详细的引导:
比如第一步是建立项目结构,包括建立项目文件夹,并在其中创建index.html、styles.css和script.js文件;第二步甚至直接给出了创建HTML架构、为游戏风格化、JavaScript、游戏渲染的初始代码。
或许是由于篇幅限制的原因,ChatGPT给出的其余五个步骤都没有加入代码,而是讲述如何一步步做完这个平台游戏。
随后,他向ChatGPT要求生成了每一步骤需要的代码,并且询问将这些代码复制之后粘贴在什么位置,一通复制操作之后,终于做出了一个可在电脑上操作的、有蓝色方块平行移动的游戏版本:
对于一款平台跳跃游戏而言,除了蓝色方块作为角色之外,这款小游戏还需要平台、地面、收集元素以及操作设计等等。于是,接下来就是这位主播漫长对ChatGPT询问和复制粘贴代码的过程,但这个过程中,他遇到了一个比较棘手的问题,那就是多次尝试之后,角色仍然无法跳跃。
从随后的操作来看,背后的主要原因是,这位主播在不知道哪里有Bug、以及如何描述问题的情况下,很难对ChatGPT提出准确的问题,这导致AI很难给出有用的解决方案,于是这位开发者不得不将得到的所有代码复制并发送给ChatGPT,让AI代替他进行debug。
这似乎是有帮助的,因为这次修复之后,角色终于可以跳跃了,只不过只能在靠近平台边缘的时候跳跃。另外,这次尝试也遇到了其他的挑战,比如ChatGPT有固定时间内回答问题次数的限制,付费版用户每三小时只能提问和收到20条消息,导致他不得不尝试ChatPGT Playground版本。
在后来的尝试中,这位直播还使用Midjourney生成了游戏背景、角色死亡特效等图片,并且让ChatGPT写出了加入这些内容以及游戏内收集物(金币)、计分、游戏结束、重新开始等按钮的代码,甚至还做了简单的角色动画。
整个过程持续了数个小时,这时候他总算得到了一个看上去像是平台跳跃游戏的版本:
不过,据主播自己的亲身体验来看,游戏的操作实际上仍然存在不够流畅的问题,比如在跳跃的过程中,很容易导致角色在平台之间停顿并直接掉下平台:
但有时候游戏操作又比较流畅:
最后,这位主播在总结的时候提到,零代码用ChatGPT做简单的游戏是可行的,但耗费的时间比想象中长很多,而且ChatGPT付费版每月为25美元,还有提问限制,每次发送的提问和接受消息只能限制在2048个字符以内,更长的代码根本无法完整发给AI、AI也无法给更长的代码回答。
从这位主播测试用ChatGPT做简单游戏的过程来看,实际上更大程度上像是一个学习游戏开发和编程的过程,比如在反复尝试了数个小时之后,可以简单了解JavaScript的语言习惯,甚至能看出非常小的问题,但想要完全学会编程或者发现代码中的Bug,仍然不太现实。
AI还无法取代程序员,先学会编程才能最大发挥AI的能力
对于这位主播的尝试,另一位油管主播、资深程序员Code Monkey表示,这个无编程做游戏的过程看起来是比较有趣的,因为这位主播一直在让ChatGPT写代码、修复代码,并且不断增加新内容。只是,这个过程需要的时间比较久,仅录制视频的制作时间就超过了8个小时,其中还没有算上无数次试错导致ChatGPT付费提问次数耗尽、使用Midjourney图片生成等环节的时间。
那么,能用ChatGPT写代码做游戏,这是否意味着游戏程序员就要失业了呢?
答案当然是否定的。如果制作的游戏功能越来越多,系统越来越复杂,想要修改代码就变得越来越困难,比如上文提到的开发者就数次遇到ChatGPT提问次数耗尽的问题、以及ChatGPT提问和回答文本长度被限制在2048字符的问题。
Code Monkey表示,那位主播制作的平台跳跃游戏只是很简单基础的版本,如果再增加敌人AI、装备、道具等等,那么代码量就会快速增加,以至于用户很难在2048个字符内将完整的代码发送给AI,导致ChatGPT不了解上下文环境的情况下无法给出有用的建议。
对于零代码但又想要尝试游戏研发的新手来说,ChatGPT是个非常好的新手教练,尤其是学习编程语言的时候,你可以快速得到答案。如果是人类程序员,作为主播的Code Monkey表示,自己回复网友对他提出的疑问、通常要等到24小时以后(考虑到时差、视频上传审核等环节),而AI可以马上告诉你答案、相当于有了一个一直在线的编程老师。
当然,这要取决于你学习代码和编程是出于什么目的。如果只是感兴趣想了解,那么ChatGPT作为新手教学的速度无疑是更快的,但如果要深一步了解编程知识,专业程序员的教程视频显然能得到更多东西,而且能够通过学习做出来稍微复杂些的游戏。
Code Monkey表示,对于游戏从业者而言,ChatGPT这类AI模型更像是一个帮助专业人士提升工作效率的工具,而不是一个取代人类程序员的工具。从目前来看,AI还远不能制作一个完整的游戏,更不用说打造具有吸引力的游戏体验,因此担心被AI抢饭碗是完全没有必要的。
“游戏研发需要大量不同的技能,AI只是能做其中一些部分,但距离能够将不同部分耦合起来组成完整体验还很遥远。所以AI现阶段它不能做所有事,但可以做一些事,最好是用一点时间学习,让它帮你成为更好的自己,而不是被其取代。”
某种程度上来说,不懂编程的人写程序,这本身就是个伪命题。因为,无论AI有多么懂程序语言,一个不会编程的人都很难发现AI给出的代码中的问题,更不用说高效率地提出精准的问题让AI理解、并快速解答。
从实际作品来看,ChatGPT写出来的游戏属于非常简单的基础版平台游戏,哪怕是最小的游戏研发团队做出来的游戏也要比它复杂很多,更不用说现在的游戏越来越偏向网络化、竞技化,搞定每个游戏的功能模块都需要大量精力,将不同模块串起来做出一款可玩的游戏,至少是短期内无法通过AI实现的。
就像很多人使用生成型AI画图一样,懂美术和设计的人可以通过尝试得到非常高品质的图片,但生成这些美图的指令的单词量往往要到几十个、甚至上百个指令单词,由于对Prompt指令和规则的不了解,很多AI绘图新手则只能复制其他人的指令才能生成令人满意的作品。
当然,如果从工作效率来看,实际上程序员每天能够写的代码也只有100行左右,就像前哈佛计算机系教授所说,“即便是在谷歌这样的到公司,平均而言,程序员每天能够检查和最终提交的代码大约是100行,注意,这还不是写代码,因为你需要复查代码、测试、部署和大量的流程。”
而有了AI的加持后,一位有实际编程经验的程序员的代码产量和效率将急速提升,但对毫无编程经验的用户来说,再强的AI工具如果不理解程序运行的原理、以及系统耦合的逻辑,靠漫无目的提问、不仅工作效率极低、更容易陷入迷茫。
所以现阶段用ChatGPT写代码,ashkeling建议是最好是你自己先学会编程、那么才能真正掌握好AI这个超级编程能力。
如若转载,请注明出处:http://www.ashkeling.com/2023/04/515543