如何用AIGC工具5天开发一款模拟经营游戏
csdh11 2024-12-12 11:19 5 浏览
前不久ChatGPT4的发布时,曾演示了用60秒写一款小游戏,让大家进一步发现和利用它的潜力。但是应该还是有不少开发者不知道究竟如何利用ChatGPT的强大功能,以及还需要利用哪些软件来与它配合,完成制作一款游戏。
近日罗斯基在一个海外博客上看到一组文章,作者在文中为大家演示了用哪些以及如何用AIGC工具在五天内制作一款功能齐全的模拟经营农场游戏。
以下是编译内容:
本文将使用AIGC工具在短短5天内开发一款功能齐全的农场游戏,带大家了解如何将各种AI GC工具整合到游戏开发工作中,展示的内容有:美术风格、游戏设计、3D资源、2D资源、故事内容。
注意:本教程适用于熟悉Unity开发和C#的读者。如果您不熟悉这些技术,请在阅读之前查看面向初学者的Unity教程。
第一天:确认美术风格
游戏开发的第一步是确定美术风格,对此我们使用的AIGC工具叫做Stable Diffusion,这是一个基于文本描述生成图像的开源模型。我们将用它为游戏创建视觉风格。
Stable Diffusion有两种运行方式:本地或在线。如果你的设备具有不错的GPU,并且你想使用所有功能,那就推荐本地运行,反之选择在线服务。
本地运行:
本文将使用Automatic1111 WebUI在本地运行Stable Diffusion。下面是在本地运行Stable Diffusion的流程,使用者需要了解一些技术知识。如果你使用的是Windows操作系统,并且拥有至少8g内存的Nvidia GPU,请继续执行下面的说明。否则,请到GitHub的README上寻找其他平台的使用说明,或者可以选择在线服务。
安装在Windows系统设备上:
要求:具有至少8 GB内存的Nvidia GPU。
安装Python 3.10.6。请务必在安装过程中确认“将Python添加到PATH”。
安装git。
通过在“命令提示符”中输入以下内容来克隆存储库:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
下载Stable Diffusion 1.5 weights,存放在克隆存储库的“models”目录中。
通过在克隆的存储库中运行webui-user.bat来运行WebUI。
找到“localhost://7860”以使用WebUI。如果一切运行正常,应该就像下面这样:
在线运行:
如果你不满足本地运行Stable Diffusion的要求,或者更喜欢精简的使用界面,有很多方法可以在线运行Stable Diffusion。博客Hugging Face上有很多免费使用方案,如Stable Diffusion 2.1演示或camemduru web。注意:本篇文章的部分内容将使用image2image等高级功能,这些功能在线服务上可能没有。
生成概念图
下面来生成一些概念图。步骤很简单:
输入所需内容。
单击生成。
但是,如何得到你真正想要的东西呢?输入指令本身就是一门艺术,所以如果你生成的第一张图片不是很好也没关系。有许多资源可以改进指令,比如使用lexica.art之类的资源来查看其他人使用Stable Diffusion生成的内容。寻找与你想要的风格相似的图像,从中获得指令灵感。下面有一些使用Stable Diffusion 1.5生成美术风格的提示:
使用“isometric、simple、solid shapes”等词来限制图片的形式,这种图片风格更容易复现到游戏中。
一些关键字,如“low poly”,虽然切合主题,但往往会产出较低质量的结果,建议找到别的替代字。
使用特定艺术家的名字也是一种有效的方式,可以引导模型采用特定风格并得到更高质量的结果。
输入指令:isometric render of a farm by a river, simple, solid shapes, james gilleard,atey ghailan。结果如下:
应用到Unity中:
下面使用游戏引擎Unity来让这个农场游戏动起来。
使用Unity 2021.9.3f1和Universal Render Pipeline创建Unity项目。
使用基本形状构筑场景。例如,添加立方体,单击右键-> 3D对象->立方体。
使用概念图作为参考来设置Materials。下面使用的是基本内置材质。
设置光照。下面使用的是温暖的阳光(#FFE08C,强度1.25)和柔和的环境照明 (#B3AF91)。
设置相机使用正射投影来匹配美术风格的投影。
加一些水。下面使用的是Unity资源商店中的Stylized Water Shader。
最后进行后期处理,使用了ACES色调映射(tonemapping)和+0.2曝光。
第二天 用ChatGPT设计游戏
基于这款农业游戏向ChatGPT提问:你是一位专业游戏设计师,要设计一款简单的农场游戏。要让它有趣,吸引人,哪些功能最重要?
ChatGPT给出的答案:作物多样化;具有挑战性和奖励的进度系统;动态和交互式环境;社交和多人游戏功能;一个宏大且给人代入感的故事或主题。
本文并不会详细写出如何实现这些内容,因为本系列的重点是如何在游戏开发过程中使用AIGC工具。
另外要说说ChatGPT的局限性,有时候它的答案听起来很有说服力,实际上内容是错误的。以下是一个与游戏开发相关的错误回答:
它的解释虽然听起来很棒,但却是完全错误的。这告诉大家ChatGPT虽然非常有用,但不应该用作知识库。
建议将ChatGPT更多作为头脑风暴和加速开发的工具,而不是用它完全替代开发过程中的步骤。
第三天 获取3D资源
文本转3D的当前状态
如第1步所述,文本转图像工具(如Stable Diffusion)在游戏开发工作中非常有用。文本转3D或根据文本描述生成3D模型领域最近也有许多发展:
DreamFusion使用2D渲染来生成3D资源。
CLIPMatrix和CLIP-Mesh-SMPLX直接生成纹理网格(textured meshes)。
CLIP-Forge使用语言生成像素模型(voxel-based models)。
CLIP-NeRF驱动带有文本和图像的NeRF。
Point-E和Pulsar+CLIP使用语言来生成3D点云(point clouds)。
Dream Textures在Blender中自动应用文本转图像到纹理场景中。
其中许多方法(不包括CLIPMatrix和CLIP-Mesh-SMPLX)都基于视图合成或生成主题的新视图,而不是传统的3D渲染。这就是NeRFs或Neural Radiance Fields的原理,它使用神经网络进行视图合成。
NeRFs
但是目前这项技术还没有达到在游戏开发中使用的程度。
由于NeRF-to-mesh,如摄影测量,目前最适合创建具有大量手动后处理的超高保真资源,因此在5天内创建农场游戏并没有真正的意义,所以这里只使用不同颜色的立方体来表示游戏中的作物。
第四天 生成2D资源
这一步需要使用图像编辑软件,如Photoshop或GIMP(免费)和Stable Diffusion。
以生成玉米为例:
1)绘出一个非常粗糙的玉米图标,旨在设定大致构图。
2)输入以下提示:corn, james gilleard, atey ghailan, pixar concept artists, stardew valley, animal crossing(玉米、詹姆斯·吉利德、阿蒂·盖兰、皮克斯概念艺术家、星露谷、动物之森)。
使用0.8的降噪强度优化图像,多次生成后选择一个喜欢的结果。
3)使用PS修改不喜欢的部分,比如上图的玉米茎。
4)大致绘出要更改的部分,让Stable Diffusion填充细节。将修改后的图像重新上传,使用0.6的去噪强度,得到一个接近完美的图像。
5)再次用PS修改不想要的部分,重新上传Stable Diffusion,并删除背景。
最后在10分钟之内就得到一个完美的图标。
第五天 撰写故事内容
最后一步使用AI创作故事。
1)给ChatGPT提供大量游戏背景,然后让它据此写一个故事摘要。
ChatGPT给出一个与游戏《星露谷物语》的故事极为相似的回答。
(注意:ChatGPT容易复制现有故事,所以只能把它当作工具,而不能代替人类去创造。)
2)对回答进行优化,让它向原创靠拢。
这次回答好很多,但还需要按照自己的游戏内容继续完善,例如要求删除魔法元素,因为游戏不包含魔法。经过几轮来回,最终得出一个满意的描述。
3)生成游戏内的具体内容,对游戏的描述,商店物品的描述。
回答很不错,但它说的有些东西游戏里不会有,比如探险。
4)优化内容。
结果很不错,应用到这个为AIGC教程开发的免费游戏中或许也没有问题,但如果是商业作品可能还有很多事情需要考虑。
鉴于法律、道德、商业方面的限制,最安全的方法可能还是使用ChatGPT等语言模型进行头脑风暴,由人类输出最终内容。
5)扩展内容。继续使用ChatGPT产出商品描述。
结果显示ChatGPT不太适合长篇连贯故事。在为农场游戏生成了一些商品描述后,内容质量也逐渐下降并陷入重复。所以最好是利用ChatGPT构思故事大纲;集思广益;细化内容。
相关推荐
- Micheal Nielsen's神经网络学习之二
-
依然是跟着MichaelNielsen的神经网络学习,基于前一篇的学习,已经大概明白了神经网络的基本结构和BP算法,也能通过神经网络训练数字识别功能,之后我试验了一下使用神经网络训练之前的文本分类,...
- CocoaPods + XCTest进行单元测试 c单元测试工具
-
在使用XCTest进行单元测试时,我们经常会遇到一些CocoaPods中的开源框架的调用,比如“Realm”或“Alamofire”在测试的时候,如果配置不当,会导致“frameworknotfo...
- Java基础知识回顾第四篇 java基础讲解
-
1、&和&&的区别作为逻辑运算符:&(不管左边是什么,右边都参与运算),&&(如果左边为false,右边则不参与运算,短路)另外&可作为位运算符...
- 项目中的流程及类似业务的设计模式总结
-
说到业务流程,可能是我做过的项目中涉及业务最多的一个方面了。除了在流程设计之外,在一些考核系统、产业审批、还有很多地方,都用到相似的设计思路,在此一并总结一下。再说到模式,并不是因为流行才用这个词,而...
- 联想三款显示器首批获得 Eyesafe Certified 2.0 认证
-
IT之家7月31日消息,据外媒报道,三款全新联想显示器是全球首批满足EyesafeCertified2.0的设备。据报道,联想获得EyesafeCertified2.0认证的显...
- maven的生命周期,插件介绍(二) 一个典型的maven构建生命周期
-
1.maven生命周期一个完整的项目构建过程通常包括清理、编译、测试、打包、集成测试、验证、部署等步骤,Maven从中抽取了一套完善的、易扩展的生命周期。Maven的生命周期是抽象的,其中的具体任务都...
- 多线程(3)-基于Object的线程等待与唤醒
-
概述在使用synchronized进行线程同步中介绍了依赖对象锁定线程,本篇文章介绍如何依赖对象协调线程。同synchronized悲观锁一样,线程本身不能等待与唤醒,也是需要对象才能完成等待与唤醒的...
- jquery mobile + 百度地图 + phonegap 写的一个"校园助手"的app
-
1jquerymobile+百度地图+phonegap写的一个"校园助手"的app,使用的是基于Flat-UI的jQueryMobile,请参考:https://github.com/...
- Apache 服务启动不了 apache系统服务启动不了
-
{我是新手,从未遇到此问题,请各位大大勿喷}事由:今天早上上班突然发现公司网站出现问题。经过排查,发现是Apache出现问题。首先检查配置文件没有出问题后,启动服务发现Apache服务能启动,但是没法...
- 健康债和技术债都不能欠 公众号: 我是攻城师(woshigcs)
-
在Solr4.4之后,Solr提供了SolrCloud分布式集群的模式,它带来的主要好处是:(1)大数据量下更高的性能(2)更好扩展性(3)更高的可靠性(4)更简单易用什么时候应该使用Sol...
- Eye Experience怎么用?HTC告诉你 eyebeam怎么用
-
IT之家(www.ithome.com):EyeExperience怎么用?HTC告诉你HTC上周除了发布HTCDesireEYE自拍机和HTCRE管状运动相机之外,还发布了一系列新的智能手机...
- Android系统应用隐藏和应用禁止卸载
-
1、应用隐藏与禁用Android设置中的应用管理器提供了一个功能,就是【应用停用】功能,这是针对某些系统应用的。当应用停用之后,应用的图标会被隐藏,但apk还是存在,不会删除,核心接口就是Packag...
- 计算机软件技术分享--赠人玫瑰,手遗余香
-
一、Netty介绍Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。也就是说,Netty...
- Gecco爬虫框架的线程和队列模型 爬虫通用框架
-
简述爬虫在抓取一个页面后一般有两个任务,一个是解析页面内容,一个是将需要继续抓取的url放入队列继续抓取。因此,当爬取的网页很多的情况下,待抓取url的管理也是爬虫框架需要解决的问题。本文主要说的是g...
- 一点感悟(一) 初识 初读感知的意思
-
时间过得很快,在IT业已从业了两年多。人这一辈子到底需要什么,在路边看着人来人往,大部分人脸上都是很匆忙。上海真是一个魔都,它有魅力,有底蕴,但是一个外地人在这里扎根置业,真的是举全家之力,还贷3...
- 一周热门
-
-
Boston Dynamics Founder to Attend the 2024 T-EDGE Conference
-
IDC机房服务器托管可提供的服务
-
详解PostgreSQL 如何获取当前日期时间
-
新版腾讯QQ更新Windows 9.9.7、Mac 6.9.25、Linux 3.2.5版本
-
一文看懂mysql时间函数now()、current_timestamp() 和sysdate()
-
流星蝴蝶剑:76邵氏精华版,强化了流星,消失了蝴蝶
-
PhotoShop通道
-
查看 CAD文件,电脑上又没装AutoCAD?这款CAD快速看图工具能帮你
-
WildBit Viewer 6.13 快速的图像查看器,具有幻灯片播放和编辑功能
-
光与灯具的专业术语 你知多少?
-
- 最近发表
-
- Micheal Nielsen's神经网络学习之二
- CocoaPods + XCTest进行单元测试 c单元测试工具
- Java基础知识回顾第四篇 java基础讲解
- 项目中的流程及类似业务的设计模式总结
- 联想三款显示器首批获得 Eyesafe Certified 2.0 认证
- maven的生命周期,插件介绍(二) 一个典型的maven构建生命周期
- 多线程(3)-基于Object的线程等待与唤醒
- jquery mobile + 百度地图 + phonegap 写的一个"校园助手"的app
- Apache 服务启动不了 apache系统服务启动不了
- 健康债和技术债都不能欠 公众号: 我是攻城师(woshigcs)
- 标签列表
-
- serv-u 破解版 (19)
- huaweiupdateextractor (27)
- thinkphp6下载 (25)
- mysql 时间索引 (31)
- mydisktest_v298 (34)
- sql 日期比较 (26)
- document.appendchild (35)
- 头像打包下载 (61)
- oppoa5专用解锁工具包 (23)
- acmecadconverter_8.52绿色版 (39)
- oracle timestamp比较大小 (28)
- f12019破解 (20)
- np++ (18)
- 魔兽模型 (18)
- java面试宝典2019pdf (17)
- beamoff下载 (17)
- unity shader入门精要pdf (22)
- word文档批量处理大师破解版 (36)
- pk10牛牛 (22)
- server2016安装密钥 (33)
- mysql 昨天的日期 (37)
- 加密与解密第四版pdf (30)
- pcm文件下载 (23)
- jemeter官网 (31)
- iteye (18)