当前位置: 首页 > news >正文

AI游戏革命!谷歌推出GameNGen,实时生成游戏画面,每秒20帧实时模拟

未来, AI会取代传统游戏引擎吗?

谷歌的研究人员发表论文称,他们创建了一个名为GameNGen的AI神经网络,直接用AI生成了整个《Doom》游戏!

最令人惊讶的是,他们并没有使用传统的游戏引擎,而是在单张张量处理单元Google Cloud TPU(谷歌定制的AI加速器芯片)上,运行GameNGen。

由扩散模型预测生成所有游戏帧,以超高效率处理3D环境和动作模拟,成功以每秒20帧的速度创造出《Doom》的游戏内容。

这是人工智能领域的一项重要的里程碑,标志着人工智能首次完全模拟出一款复杂的互动式游戏。

研究人员在论文中表示:“这是第一个完全由神经模型驱动的游戏引擎,能够在长轨迹上,以高质量与复杂环境进行实时交互。”

论文地址:https://arxiv.org/abs/2408.14837

自1993年发布以来,很多玩家把《Doom》玩出了花,尝试在各种设备上游玩《Doom》:如电视、摄像机,甚至还有人在微波炉上运行。

这次,GameNGen直接带来了突破式的进展。

不依赖编码软件来管理游戏状态,不需要传统游戏引擎来渲染视觉效果,GameNGen使用AI生成扩散模型,成功自动模拟《Doom》整个游戏内容。

要知道,计算机上的游戏,是需要围绕以下循环,手动制作的软件系统:

  • (1)识别玩家操作的内容;

  • (2)更新游戏状态;

  • (3)将其渲染到屏幕上。

游戏需要高帧率运行上述的循环,以创造互动式的虚拟世界的效果。

研究人员的灵感,来源于最近一年多模态AI的盛行,如Stable Diffusion、Dall-E、Runway等AI生成模型,在多模态图像和视频方面取得了重大进展。谷歌的研究人员设想,或许可以利用视频生成模型,直接完成互动式游戏的制作。

然而,互动式游戏不仅仅需要非常快速的视频生成。在游戏的复杂性、模拟速度、长时间稳定性,以及视觉质量方面都有极高的要求。

所以,实时运行的神经模型能否高质量地生成复杂的游戏?

谷歌的研究人员给出了肯定的答案,他们在研究中,成功在神经网络GameNGen上,自动生成游戏内容,实时运行《Doom》,并达到了与原本游戏内容相同的视觉质量。

与2018年World Models生成的画面相比,这六年间的进步可以说是日新月异:

为了实现这种效果,研究人员针对GameNGen进行了两个阶段训练:

  • 利用代理模型“玩游戏”,观测游戏操作并记录学习;

  • 训练扩散模型预测下一帧,实现稳定的自回归生成帧。

研究人员首先采用了Stable Diffusion v1.4模型,训练了一个生成式代理智能体,对游戏内容进行记录,并生成训练数据集。

第二阶段,研究人员重新利用了Stable Diffusion v1.4,使用教师强制与自回归采样两种方法,对模型进行训练。 同时,为了避免误差,研究人员还加入了高斯噪声来优化输出质量,以达到训练效果。

经训练,图像质量方面,GameNGen长线的模拟质量,能与原始游戏质量相当。

在视频质量上,通过自回归评估,预测帧的轨迹在内容和图像质量上也能与实际游戏相仿:

而在人类评价方面,研究人员准备了130个1.6秒和3.2秒的模拟短片,提供给10名评估人员。研究人员将模拟内容和原游戏内容一并播放,请评估员判断,哪个才是原游戏内容。

1.6秒项目中,正确率为58%;3.2秒项目中,正确率为60%。

根本分不清,到底哪个才是AI制作的啊!

此外,如何有效的训练神经游戏引擎;以及如何进行微调优化,这些是研究潜在的问题。但无论如何,这种新的范式已经足以令人兴奋了。

从传统游戏引擎到GameNGen,人工智能可能会导致游戏产业大换血。消除手动编程游戏逻辑的需要,AI可能会成为减少开发时间和成本的代名词。

但《Doom》的游戏质量已经不能代表21世纪大型游戏的质量了。对于图形密集程度、精细度更高的现代游戏,想实现AI模拟,可能需要更大的计算能力支持。但在小型游戏方面,这种技术转变可以降低游戏创作的门槛,使更多小作坊能够创造出以前难以想象的复杂游戏内容。

除了节省成本和时间之外,AI游戏引擎还可以为各种其他领域打开新的大门,这项创新可能会重塑虚拟世界格局,为我们提供对未来世界的一瞥:更加多样化的虚拟生态系统。

参考资料

 [1]https://venturebeat.com/ai/googles-gamengen-ai-breaks-new-ground-by-simulating-doom-without-a-game-engine/ 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 浅谈通信协议设计
  • 线性约束最小方差准则(LCMV)波束形成算法及MATLAB深入仿真分析
  • 9.1写论文
  • JavaSE-递归法解决二分查找、快速排序
  • Qt:玩转QPainter后转之太极图
  • 蓝色炫酷碎粒子HTML5导航源码
  • go to + 名词 - go to the + 名词
  • shell了解和问答机制
  • C#通过OpenCL调用显卡GPU做高效并行运算
  • c++ 原型模式
  • tornado获取请求参数
  • Qt中的父窗口子窗口和父类子类的区别
  • Nginx: 负载均衡基础配置, 加权轮序, hash算法, ip_hash算法, least_conn算法
  • 单一职责原则介绍
  • wordpress 页面URL自动跳转到图片地址?
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • gf框架之分页模块(五) - 自定义分页
  • JavaScript服务器推送技术之 WebSocket
  • js中forEach回调同异步问题
  • Just for fun——迅速写完快速排序
  • PhantomJS 安装
  • Vue2.0 实现互斥
  • vue-cli3搭建项目
  • vue--为什么data属性必须是一个函数
  • 安卓应用性能调试和优化经验分享
  • 初探 Vue 生命周期和钩子函数
  • 记一次删除Git记录中的大文件的过程
  • 记一次用 NodeJs 实现模拟登录的思路
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 入门级的git使用指北
  • 写给高年级小学生看的《Bash 指南》
  • 在Docker Swarm上部署Apache Storm:第1部分
  • 2017年360最后一道编程题
  • hi-nginx-1.3.4编译安装
  • 第二十章:异步和文件I/O.(二十三)
  • ​2020 年大前端技术趋势解读
  • #1015 : KMP算法
  • #Datawhale X 李宏毅苹果书 AI夏令营#3.13.2局部极小值与鞍点批量和动量
  • (4)事件处理——(7)简单事件(Simple events)
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (四)c52学习之旅-流水LED灯
  • (推荐)叮当——中文语音对话机器人
  • (五)关系数据库标准语言SQL
  • ***通过什么方式***网吧
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .Family_物联网
  • .NET Core 中插件式开发实现
  • .NetCore发布到IIS
  • /3GB和/USERVA开关
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • [ C++ ] STL---string类的使用指南
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——