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

随着大模型技术不断进步,它们在游戏中的应用变得越来越广泛和深远。从简单的角色对话到复杂的游戏策略,这些模型正在逐步改变我们对游戏的理解和体验。本文将从技术层面深入探讨大模型如何应用到游戏中。
人类是如何玩游戏的?
在思考如何让大模型玩游戏之前,让我们先来想一想人类是如何玩游戏的。
在游戏的过程中,人类大脑首先将感官信息转化为对游戏世界的感知表征,接着利用这些表征构建关于游戏环境的知识,并基于这些知识做出推理,最后通过行动来实现游戏中的操作。这一系列步骤可以概括为感知、推理和行动的循环过程。
下面我们以经典的游戏《塞尔达传说:旷野之息》为例,看看这个过程是如何展开的。
感知:解析游戏世界
在《旷野之息》中,玩家首先需要通过视觉、听觉等感官信息来感知周围的游戏环境。例如,玩家注意到敌人的位置、道具的分布,以及环境中的天气变化。这些信息会被大脑处理,转化为对游戏世界的理解。早期的游戏可能只要求玩家理解文本指令,而如今,游戏已经发展到需要玩家同时处理多模态信息,比如理解风向对箭矢轨迹的影响,或是辨别不同敌人的攻击模式。

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

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

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

多模态感知:游戏世界更为沉浸
多模态感知是游戏大模型理解和互动的核心能力之一,它通过整合不同类型的信息(如视觉、语义和音频)来构建更具沉浸感的游戏体验。
- 语义感知
语义感知主要涉及对游戏文本元素的理解,如自然语言指令和对话。玩家通过解读这些文本信息来了解游戏中的环境、角色和事件,从而做出相应的决策。
语义感知可以进一步细分为以下几类:
- 简单文本输入:包括用户的简单描述、游戏状态和角色对话。
- 结构化或角色输入:涉及角色属性、故事背景及技能信息。
- 环境和上下文输入:指详细的游戏描述及任务指令,这些信息帮助玩家理解当前场景。
- 多模态输入:整合视觉、听觉和文本数据来做出更复杂的决策,并实现丰富的互动。
- 视觉感知
视觉感知是大模型处理游戏中图像信息的能力。然而,仅依赖将视觉数据转化为文本可能会导致重要信息的丢失,从而影响大模型NPC在游戏中的表现。
为了提升视觉感知能力,使用多模态大语言模型(MLLMs)是一种有效的方法。MLLMs能够整合视觉与其他感官数据,提升大模型NPC对游戏世界的理解和决策能力。
复杂推理与决策:NPC变得更“聪明”
在AI大模型游戏中,NPC的智能化体现在其复杂的推理与决策能力上。为了实现这一点,大模型模型需要具备知识存储和检索、进行推理和做出决策的综合能力。

- 知识存储和检索
为了正确地表示学习到的知识或过去事件,并在推理中使用这些信息,一个NPC需要有效地操作这些"记忆”。这就要求对游戏大模型设计一种高质量的记忆机制,使NPC能够有效存储和检索记忆。
例如,如果一个模型被用于模拟护士NPC的角色,大模型应了解包含医疗常识、病人交流的指南,以及诊断和治疗的标准流程。这使得模型能够在模拟或实际情境中更加有效和适应性地行动。
然而,这些知识可能不总是与特定的游戏场景等应用情境完全一致。因此,当前的研究旨在通过以下方式增强语言模型的常识性理解:
- 通过指令微调将结构化的知识嵌入。
- 使用SOP将常识集成到特定的角色和任务中。
- 使用RAG(检索增强生成)。
- 将详细的角色资料通过prompt输入大模型中。
- 使用知识图谱用于描述实体之间的关系。
- 进行推理和做出决策
大模型NPC的学习推理过程包括解释和整合各种来源的信息,以适应新的游戏场景。学习可以是显式的,通过特定数据集进行微调;也可以是隐式的,通过利用现有知识适应新情况。结合反馈和强化学习,大模型NPC能够通过环境交互优化行为,从而更好地适应游戏世界。
在复杂的游戏环境中,大模型NPC需要做出多层次的决策,这通常包括多跳推理和长期规划。多跳推理要求大模型NPC在做出决策前考虑多层信息和依赖关系,例如预测对手的动作并评估各种行动的潜在结果。长期规划则涉及设定长期目标,并通过一系列策略行动来实现这些目标。
持续行动与反思:NPC越来越“人类”
在游戏中,大模型NPC不仅需要做出即时的反应,还要能够持续行动和反思,以应对复杂的游戏环境,NPC的行为变得更加智能和人性化。

- 行动
在游戏中,NPC的行动空间可以分为三种类型:
- 基于文本互动:NPC通过文本与玩家或环境进行互动,解释和响应玩家的输入。
- 使用API互动:通过API,NPC能够获取或发送信息,控制游戏中的各种元素。
- 通过IO操作直接控制:例如使用键盘、鼠标等设备,直接影响游戏中的行为和操作。
- 反思
反思是指NPC评估和调整自身行为的能力。通过利用外部反馈和不断优化计划,NPC能够在游戏过程中不断改进。特别是在多智能体系统中,NPC需要与其他角色协作,重新评估和调整其决策,以更好地适应游戏环境。
通过持续行动与反思,NPC变得越来越接近人类,使游戏体验更为真实和动态。
大模型游戏未来展望
随着生成式AI和大模型的快速崛起,我们离NPC与游戏世界深度互动的梦想越来越近。《失控玩家》中,NPC逐渐觉醒,拥有了自主意识和情感的设定,为我们描绘了一个充满可能性的未来。虽然目前的技术还存在许多需要改进的地方,但通过引入能够理解和响应玩家的AI大模型,游戏世界将不再是单纯的虚拟场景,而是一个有感知、有情感的交互空间。

展望未来,AI大模型或许会彻底改变游戏产业的格局。它不仅为游戏创造带来了全新的可能性,还可能重新定义游戏与玩家之间的关系。在不久的将来,我们可能会看到一个更加智能化、更加人性化的游戏世界,在这个世界里,玩家不再是孤独的冒险者,而是与“有灵魂”的NPC共同编织梦境的创作者。
相关文章:
AI大模型赋能游戏:更智能、更个性化的NPC
参考论文:https://arxiv.org/abs/2403.10249 在传统游戏中,NPC(非玩家角色)的行为往往是预先设定好的,缺乏灵活性和变化性。然而,基于大模型的NPC可以利用其强大的推理和学习能力,实时生成对话…...
pymysql的上下文管理器:简化数据库操作
pymysql的上下文管理器:简化数据库操作 当我们使用 pymysql 操作数据库时,管理数据库连接和游标的生命周期是一项重要的任务。Python 的上下文管理器提供了一种优雅的方式来处理资源的获取和释放。在本文中,我们将探索如何创建一个简单的 py…...
AI秘境-墨小黑奇遇记 - 修炼成神经(二)
在解开了感知机和门电路的谜题后,墨小黑对人工智能的世界渐渐产生了浓厚的兴趣。他开始意识到,自己不仅是在学习一门复杂的技术,更是在探索一个充满未知与挑战的神秘领域。 入夜,墨小黑一脸无奈地盯着电脑屏幕,思考着自…...
计算机网络之分组交换时延的计算
一.类型 分组交换的时延包括一下几种: 1.1发送时延 发送时延,也叫传输时延,结点将分组的所有比特推向链路所需要的时间,即从发送分组的第一个比特算起,到该分组的最后一个比特发送完为止。 发送时延 分组长度 / 发…...
虚幻5|入门AI行为树,建立敌人
本章分成两块部分一块是第一点的制作一个简单的AI,后面第二点之后是第二部分建立ai行为树。这两个部分是一个衔接,最好不要跳看 一,制作一个简单的AI 1.首先,我们创建一个敌人的角色蓝图,添加一个场景组件widget用于…...
ARM处理架构中的PMU(Performance Monitoring Unit)和 AMU(Activity Monitors Unit)简介
在 ARM 架构中,PMU(Performance Monitoring Unit)和 AMU(Activity Monitors Unit)是用于性能分析和监控的硬件单元,但它们的功能和应用场景有所不同。以下是它们的主要区别: 1. PMU (Performance Monitoring Unit) 功能:PMU 是一种用于监控处理器性能的硬件单元。它可…...
Service服务在Android中的使用
目录 一,Service简介 二,Service的两种启动方式 1,非绑定式启动Service 2,绑定式启动Service 三,Service的生命周期 1,非绑定式Service的生命周期 2,绑定式Service的生命周期 四…...
浅谈C语言位段
1、位段的定义 百度百科中是这样解释位段的: 位段,C语言允许在一个结构体中以位为单位来指定其成员所占内存长度,这种以位为单位的成员称为“位段”或称“位域”( bit field) 。利用位段能够用较少的位数存储数据。 以下,我们均在VS2022的…...
arcgisserver登陆信息不正确
密码明明对,但是登录提示登录信息不正确 Arcgis server 9.3.1 无法登录ArcGIS Manager 提示Incorrect Login Information 操作系统windows 2008 x64server 解决办法: 关闭window防火墙解决。 如果防火墙已经关闭: 通过修改用户口令后就可以重…...
KOLA: CAREFULLY BENCHMARKING WORLD KNOWLEDGE OF LARGE LANGUAGE MODELS
文章目录 题目摘要简介KOLA 基准实验评估结论和未来工作道德声明 题目 KOLA:仔细对大型语言模型的世界知识进行基准测试 论文地址:https://arxiv.org/abs/2306.09296 项目地址:https://github.com/ranahaani/GNews 摘要 大型语言模型 (LLM) 的卓越性能要求评估方法…...
Robot Operating System——机器人关节的角度、速度和力矩
大纲 应用场景定义字段解释 案例 sensor_msgs::msg::JointState 是 ROS (Robot Operating System) 中的一个消息类型,用于表示机器人关节的状态信息。它通常用于传输和处理机器人关节的角度、速度和力矩等信息。 应用场景 机器人控制 关节控制:在机器人…...
一分钟掌握java9新特性
try-with-resources语句 /** * 在处理必须关闭的资源时,使用try-with-resources语句替代try-finally语句。 生成的代码更简洁,更清晰,并且生成的异常更有用 * java9 之前写法 */ public static String readFile1(String fileName){ tr…...
89. UE5 RPG 实现伤害 冷却 消耗技能描述
在上一篇文章里,我们能够通过富文本显示多种格式的文字,并显示技能描述。在这一篇文章里,我们继续优化技能描述,将技能说需要显示的内容显示出来。 实现火球术的基础描述 首先,我们现实现火球术的基础描述࿰…...
el-tree树状控件,定位到选中的节点的位置
效果图 在el-tree 控件加 :render-content"renderContent" 在掉接口的方法中 实际有用的是setTimeout 方法和this.$refs.xxxxxx.setCheckedKeys([industrycodeList]) if(res.data.swindustrylist.length>0){res.data.swindustrylist.forEach(item > {industry…...
YOLO目标检测的单目(多目标测距),使用相机光学模型,支持目标检测模型训练,可输出目标位置和距离信息并可视化
本项目旨在开发一个基于YOLO的目标检测系统,该系统不仅能检测图像中的多个目标,还能利用单目摄像头的图像估计每个目标与摄像头之间的相对距离。系统的核心组成部分包括目标检测、距离估计、模型训练以及结果可视化。 主要功能 目标检测:使用…...
unity简易lua文件迁移工具
一. 了解商业游戏的Lua热更新开发方式 市面上的3种结合Lua热更新的开发方式 1.纯Lua开发(所有的游戏主要逻辑都用Lua实现) 好处:机动性强;坏处:代码效率略差 2.半C#,半Lua开发(核心逻辑C#开发…...
Elasticsearch中的自动补全功能详解与实践
简介 自动补全是现代搜索引擎中的一项重要功能,它能够根据用户的输入提供实时的建议,提高用户体验。Elasticsearch提供了Completion Suggester查询来实现这一功能。本文将详细介绍Elasticsearch中的自动补全功能,并提供详细的配置和查询示例…...
前端如何使用Nginx代理dist网页,代理websocket,代理后端
本文将指导您如何配置Nginx以代理前后端分离的项目,并特别说明了对WebSocket的代理设置。通过本教程,您将能够实现一次性配置,进而使项目能够在任意局域网服务器上部署,并可通过IP地址或域名访问服务。 笔者建议 先速览本文了解大…...
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. 问题解决
问题描述 原来我的服务器docker服务运行正常,但在某次尝试用时, 根据系统的错误提示执行了snap install docker指令之后, 再执行docker ps命令则提示Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running…...
零基础学习Redis(2) -- Redis安装与配置
Redis官方是并不支持Windows系统的,并且现在绝大部分公司都是使用的Linux,所以我们在Linux上进行安装,这里我使用的是Ubuntu 1. 安装步骤 1. 首先使用工具连接到我们的云服务器,然后输入apt指令搜索redis相关的软件包࿱…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词
Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵,其中每行,每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid,其中有多少个 3 3 的 “幻方” 子矩阵&am…...
