AI大模型赋能游戏:更智能、更个性化的NPC

参考论文:https://arxiv.org/abs/2403.10249

在传统游戏中,NPC(非玩家角色)的行为往往是预先设定好的,缺乏灵活性和变化性。然而,基于大模型的NPC可以利用其强大的推理和学习能力,实时生成对话和行为,使其看起来更加真实和多样化。

随着大模型技术不断进步,它们在游戏中的应用变得越来越广泛和深远。从简单的角色对话到复杂的游戏策略,这些模型正在逐步改变我们对游戏的理解和体验。本文将从技术层面深入探讨大模型如何应用到游戏中。

人类是如何玩游戏的?

在思考如何让大模型玩游戏之前,让我们先来想一想人类是如何玩游戏的。

在游戏的过程中,人类大脑首先将感官信息转化为对游戏世界的感知表征,接着利用这些表征构建关于游戏环境的知识,并基于这些知识做出推理,最后通过行动来实现游戏中的操作。这一系列步骤可以概括为感知、推理和行动的循环过程。

下面我们以经典的游戏《塞尔达传说:旷野之息》为例,看看这个过程是如何展开的。

感知:解析游戏世界

在《旷野之息》中,玩家首先需要通过视觉、听觉等感官信息来感知周围的游戏环境。例如,玩家注意到敌人的位置、道具的分布,以及环境中的天气变化。这些信息会被大脑处理,转化为对游戏世界的理解。早期的游戏可能只要求玩家理解文本指令,而如今,游戏已经发展到需要玩家同时处理多模态信息,比如理解风向对箭矢轨迹的影响,或是辨别不同敌人的攻击模式。

推理:制定最佳策略

推理的过程涉及多个步骤,包括记忆、学习、推理、反思和决策。例如,玩家需要记住之前遇到的敌人行为模式,学习如何有效地避开攻击或寻找弱点。推理则帮助玩家在面对复杂情况时做出最佳决策,比如在敌人围攻时,玩家可能会评估使用炸弹、剑攻击还是躲避的最佳时机。而这些推理往往不是单线的,而是多跳推理——玩家需要同时考虑敌人的位置、自己的生命值、环境因素等多个变量,才能制定出最佳的战斗策略。

行动:执行与反馈循环

在推理之后,玩家会根据自己的判断采取行动,比如决定用剑击打敌人、在悬崖边使用滑翔伞逃脱,或者在寒冷的山峰穿上御寒衣物。在《旷野之息》中,行动的反馈直接影响玩家的下一步决策,比如敌人的反击、天气变化或是玩家体力的消耗,都需要玩家及时调整策略。

AI大模型如何玩游戏?

在理解了人类如何玩游戏之后,我们来探讨一下AI大模型是如何玩游戏的。AI大模型的游戏过程同样可以抽象为agent智能体的迭代过程:感知、推理和行动

多模态感知:游戏世界更为沉浸

多模态感知是游戏大模型理解和互动的核心能力之一,它通过整合不同类型的信息(如视觉、语义和音频)来构建更具沉浸感的游戏体验。

  1. 语义感知

语义感知主要涉及对游戏文本元素的理解,如自然语言指令和对话。玩家通过解读这些文本信息来了解游戏中的环境、角色和事件,从而做出相应的决策。

语义感知可以进一步细分为以下几类:

  • 简单文本输入:包括用户的简单描述、游戏状态和角色对话。
  • 结构化或角色输入:涉及角色属性、故事背景及技能信息。
  • 环境和上下文输入:指详细的游戏描述及任务指令,这些信息帮助玩家理解当前场景。
  • 多模态输入:整合视觉、听觉和文本数据来做出更复杂的决策,并实现丰富的互动。
  1. 视觉感知

视觉感知是大模型处理游戏中图像信息的能力。然而,仅依赖将视觉数据转化为文本可能会导致重要信息的丢失,从而影响大模型NPC在游戏中的表现。

为了提升视觉感知能力,使用多模态大语言模型(MLLMs)是一种有效的方法。MLLMs能够整合视觉与其他感官数据,提升大模型NPC对游戏世界的理解和决策能力。

复杂推理与决策:NPC变得更“聪明”

在AI大模型游戏中,NPC的智能化体现在其复杂的推理与决策能力上。为了实现这一点,大模型模型需要具备知识存储和检索、进行推理和做出决策的综合能力。

  1. 知识存储和检索

为了正确地表示学习到的知识或过去事件,并在推理中使用这些信息,一个NPC需要有效地操作这些"记忆”。这就要求对游戏大模型设计一种高质量的记忆机制,使NPC能够有效存储和检索记忆。

例如,如果一个模型被用于模拟护士NPC的角色,大模型应了解包含医疗常识、病人交流的指南,以及诊断和治疗的标准流程。这使得模型能够在模拟或实际情境中更加有效和适应性地行动。

然而,这些知识可能不总是与特定的游戏场景等应用情境完全一致。因此,当前的研究旨在通过以下方式增强语言模型的常识性理解:

  • 通过指令微调将结构化的知识嵌入。
  • 使用SOP将常识集成到特定的角色和任务中。
  • 使用RAG(检索增强生成)。
  • 将详细的角色资料通过prompt输入大模型中。
  • 使用知识图谱用于描述实体之间的关系。
  1. 进行推理和做出决策

大模型NPC的学习推理过程包括解释和整合各种来源的信息,以适应新的游戏场景。学习可以是显式的,通过特定数据集进行微调;也可以是隐式的,通过利用现有知识适应新情况。结合反馈和强化学习,大模型NPC能够通过环境交互优化行为,从而更好地适应游戏世界。

在复杂的游戏环境中,大模型NPC需要做出多层次的决策,这通常包括多跳推理和长期规划。多跳推理要求大模型NPC在做出决策前考虑多层信息和依赖关系,例如预测对手的动作并评估各种行动的潜在结果。长期规划则涉及设定长期目标,并通过一系列策略行动来实现这些目标。

持续行动与反思:NPC越来越“人类”

在游戏中,大模型NPC不仅需要做出即时的反应,还要能够持续行动和反思,以应对复杂的游戏环境,NPC的行为变得更加智能和人性化。

  1. 行动

在游戏中,NPC的行动空间可以分为三种类型:

  • 基于文本互动:NPC通过文本与玩家或环境进行互动,解释和响应玩家的输入。
  • 使用API互动:通过API,NPC能够获取或发送信息,控制游戏中的各种元素。
  • 通过IO操作直接控制:例如使用键盘、鼠标等设备,直接影响游戏中的行为和操作。
  1. 反思

反思是指NPC评估和调整自身行为的能力。通过利用外部反馈和不断优化计划,NPC能够在游戏过程中不断改进。特别是在多智能体系统中,NPC需要与其他角色协作,重新评估和调整其决策,以更好地适应游戏环境。

通过持续行动与反思,NPC变得越来越接近人类,使游戏体验更为真实和动态。

大模型游戏未来展望

随着生成式AI和大模型的快速崛起,我们离NPC与游戏世界深度互动的梦想越来越近。《失控玩家》中,NPC逐渐觉醒,拥有了自主意识和情感的设定,为我们描绘了一个充满可能性的未来。虽然目前的技术还存在许多需要改进的地方,但通过引入能够理解和响应玩家的AI大模型,游戏世界将不再是单纯的虚拟场景,而是一个有感知、有情感的交互空间。

展望未来,AI大模型或许会彻底改变游戏产业的格局。它不仅为游戏创造带来了全新的可能性,还可能重新定义游戏与玩家之间的关系。在不久的将来,我们可能会看到一个更加智能化、更加人性化的游戏世界,在这个世界里,玩家不再是孤独的冒险者,而是与“有灵魂”的NPC共同编织梦境的创作者。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/399962.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

汇编语言指令 jmp:jmp short、jmp near ptr、jmp far ptr

引言: 在8086CPU中,可以修改IP(Instruction Pointer ,指令指针寄存器)或同时修改CS(Code Segment,代码段寄存器)和IP的指令称为转移指令,更通俗的说,转移指令…

React H5设置企业级v6版本路由的配置

路由配置是项目开发的必要一环,尤其是目前流行SPA,下面看看如何使用v6版本路由进行合理的H5路由配置 一、基本页面结构(目录根据开发要求建,下面仅用于展示配置路由) 二、具体文件实现 1. index.tsx import React f…

用python的manim库实现表格格式操作【table 下】

1.Table 是 Manim 中用于创建一个包含文本或其他 数学符号的表格的类 Table 是 Manim 中用于创建一个包含文本或其他 数学符号的表格的类它能够帮助你在场景中清晰地展示数据或信息。 参数解释 table: 一个二维数组或列表,表示表格中的内容。每个子列表代表表格的…

Spring Web MVC

1. Spring Web MVC Spring Web MVC是⼀个Web框架 1.1 MVC 举个例子理解: Controller相当于前台,接送请求,传给相关部门,部门派人处理,此时这就是Model MVC是一种思想,Spring进行了实现,称为Spring MVC Spring Boot是创建Spring MVC项目的一种方式而已 1.2 Spring MVC 而…

(第二十七天)

上午 核心:内核中的 ipvs , ipvsadm 1 、安装 ipvsadm [rootnat ~] # yum -y install ipvsadm 2 、配置规则 查看所有的规则,如果已经配置好规则,重启之后也就没有了 [rootnat ~] # ipvsadm -L -n 1 、配置 vip 网卡 &…

如何用Python进行数据可视化、科技图表绘制?

目录 写在前面 推荐图书 推荐理由 写在最后 写在前面 有了它,科技图表绘制、数据可视化真的毫无难度! 推荐图书 《Python数据可视化:科技图表绘制》(芯智)【摘要 书评 试读】- 京东图书 图书简介 《Python数据可视化:科技图表绘制》结…

生成式人工智能(大语言模型)上线备案材料

材料总体一览 生成式人工智能(大语言模型)上线备案,除申请表外还需要提交五份材料: 《生成式人工智能 (大语言模型)上线备案申请表》 《附件1:安全自评估报告》 《附件2:模型服务协议…

Python(TensorFlow)衍射光学层卷积算法模拟(英伟达GPU)

🎯要点 🎯衍射光学卷积算法模拟 | 🎯模拟或数字电子计算之前加入一层光学计算 | 🎯前馈卷积神经网络计算成像系统对输入图像进行分类 | 🎯相位掩模利用线性空间不变成像系统执行固有卷积 📜用例 Python非…

大语言模型与多模态大模型loss计算

文章目录 前言一、大语言模型loss计算1、loss计算代码解读2、构建模型输入内容与label标签3、input_ids与labels格式 二、多模态大模型loss计算方法1、多模态loss计算代码解读2、多模态输入内容2、大语言模型输入内容3、图像embending如何嵌入文本embeding 前言 如果看了我前面…

MySQL学习[4] ——MySQL锁

四、MySQL锁 4.1 MySQL有哪些锁? 4.1.1 全局锁 全局锁就是**对整个数据库实例加锁,主要用于全库逻辑备份**等场景。 flush tables with read lock # 加全局锁unlock tables # 解锁加上全局(读)锁后,整个数据库都…

css实现水滴效果图

效果图&#xff1a; <template><div style"width: 100%;height:500px;padding:20px;"><div class"water"></div></div> </template> <script> export default {data() {return {};},watch: {},created() {},me…

spring mvc工作流程

Spring MVC 是基于模型-视图-控制器&#xff08;MVC&#xff09;设计模式的 Web 框架&#xff0c;它简化了开发 Web 应用程序的流程。下面是 Spring MVC 的工作流程详细介绍&#xff1a; 客户端请求 --> DispatcherServlet --> HandlerMapping --> Controller --&…

Win10 创建新的桌面2,并实现桌面切换

1. Win10 创建新的桌面2 Win - Tab 2. Win10 桌面切换 Ctrl - Win - ←/→ 我们下期见&#xff0c;拜拜&#xff01;

【大模型从入门到精通14】openAI API 构建和评估大型语言模型(LLM)应用2

这里写目录标题 评估大型语言模型&#xff08;LLM&#xff09;输出的方法构建评估标准实施评估协议利用专家比较案例研究评估客户服务聊天机器人学术文本摘要高级评估技术 评估大型语言模型&#xff08;LLM&#xff09;输出的方法 评估大型语言模型&#xff08;LLM&#xff09…

开源免费的表单收集系统TDuck

TDuck&#xff08;填鸭表单&#xff09;是一款开源免费的表单收集系统&#xff0c;它基于Apache 2.0协议开源&#xff0c;用户可以随时下载源码&#xff0c;自由修改和定制&#xff0c;也可以参与到项目的贡献和反馈中。TDuck表单系统不仅支持私有化部署&#xff0c;还提供了丰…

快排/堆排/归并/冒泡/

常见的内排序算法 插入排序 直接插入排序 原理&#xff1a;相当于扑克牌变成有序&#xff0c;先拿第一张&#xff0c;把他调节成有序&#xff0c;再拿第二张&#xff0c;与第一张相比找到第二张的位置&#xff0c;再继续拿第三张&#xff0c;以此类推。 void InsertSort(in…

【C++二分查找 贪心】792. 匹配子序列的单词数

本文涉及的基础知识点 C二分查找 贪心 LeetCode792. 匹配子序列的单词数 给定字符串 s 和字符串数组 words, 返回 words[i] 中是s的子序列的单词个数 。 字符串的 子序列 是从原始字符串中生成的新字符串&#xff0c;可以从中删去一些字符(可以是none)&#xff0c;而不改变其…

关于Vue项目npm快捷键,点击run启动报错,及npm i也报错的解决办法

1.配置idea的npm 2.点击运行按钮 3.结果 分析原因及问题&#xff1a; npm i npm run dev 由于是刚刚从gitlab新拉的前端代码&#xff0c;可能没有用命令install过类似于没有编译过&#xff0c;所以执行一下上面的命令 结果报错如下&#xff1a; F:\tbyf\qjyy\hip-manager-ui&…

密探 -- 渗透测试工具 v1.14 版

1.如何运行 在jdk8环境下&#xff08;在jdk8以上的高版本请参考常见问题1的处理方案&#xff09;运行以下语句运行: java -jar mitan-jar-with-dependencies.jar 若不想输入这么长太长语句&#xff0c;可以通过以下脚本的方式启动&#xff1a; Mac/Linux 环境下&#xff0c;…

计算机网络——HTTP协议详解(上)

一、HTTP协议简单介绍 1.1 什么是HTTP协议 HTTP&#xff08;超文本传输协议&#xff09;是一种用于在Web浏览器和Web服务器之间传输数据的应用层协议。它是一种无状态协议&#xff0c;即服务器不会保留与客户端的任何连接状态信息&#xff0c;每个请求都被视为一个独立的事务。…