HarmonyOS 游戏 × Agent:NPC首次拥有自主意识

大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等方向。在移动端开发、鸿蒙开发、物联网、嵌入式、云原生、开源等领域有深厚造诣。
图书作者:《ESP32-C3 物联网工程开发实战》
图书作者:《SwiftUI 入门,进阶与实战》
超级个体:COC上海社区主理人
特约讲师:大学讲师,谷歌亚马逊分享嘉宾
科技博主:华为HDE/HDG
我的博客内容涵盖广泛,主要分享技术教程、Bug解决方案、开发工具使用、前沿科技资讯、产品评测与使用体验。我特别关注云服务产品评测、AI 产品对比、开发板性能测试以及技术报告,同时也会提供产品优缺点分析、横向对比,并分享技术沙龙与行业大会的参会体验。我的目标是为读者提供有深度、有实用价值的技术洞察与分析。
展菲:您的前沿技术领航员
👋 大家好,我是展菲!
📱 全网搜索“展菲”,即可纵览我在各大平台的知识足迹。
每周定时推送干货满满的技术长文,从新兴框架的剖析到运维实战的复盘,助您技术进阶之路畅通无阻。
文章目录
引言
过去二十多年里,游戏 NPC 本质上都属于同一种东西:
状态机
无论是:
传奇
魔兽世界
英雄联盟
原神
还是绝大多数手游,NPC 的运行逻辑几乎都是:
状态
↓
规则
↓
行为
例如:
if (playerNear) {
attack()
}
if (hp < 30) {
escape()
}
或者:
switch(state) {
case PATROL:
patrol()
case ATTACK:
attack()
}
这种模式有一个巨大优势:
稳定
可控
性能高
但也有一个明显缺陷:
NPC 永远是写死的
无论玩家玩多少次:
同一句台词
同一个动作
同一种决策
最终都会变成:
可预测
而 Agent 的出现,第一次让游戏开发者看到了另一种可能:
NPC 不再执行脚本,而是开始思考。
这意味着:
State Machine
↓
Behavior Tree
↓
AISystem
↓
Agent System
游戏 AI 正在进入新的阶段。
一、传统 NPC 为什么越来越难做?
先看一个常见需求,设计一个村庄 NPC。
产品希望它具备:
白天巡逻
晚上回家
玩家靠近聊天
玩家攻击反击
天气变化改变行为
传统写法:
if (isMorning) patrol()
if (isNight) goHome()
if (playerNear) talk()
if (attacked) fight()
随着需求增加:
好感度
职业
情绪
天气
任务状态
代码会迅速变成:
几百个if
几千行逻辑
最终:
难维护
难扩展
难调试
很多大型游戏后期最大的成本,其实不是:
渲染
而是:
NPC行为维护
二、Agent 与传统AI的区别
很多开发者第一次接触 Agent 时会疑惑:
Agent
=
高级AI?
其实不完全对,传统 AI:
输入
↓
规则
↓
输出
例如:
hp < 30
↓
逃跑
结果是固定的。
而 Agent:
观察环境
↓
理解目标
↓
规划行为
↓
执行动作
↓
持续反馈
例如:
观察:
玩家进入村庄
目标:
保护村民
思考:
是否需要警告玩家?
行动:
主动对话
这已经不是:
规则执行
而是:
行为生成
三、Agent NPC 的核心架构
如果放到 HarmonyOS 游戏中,Agent Runtime 通常包含:
Perception
(感知)
Planning
(规划)
Memory
(记忆)
Action
(行动)
架构:
World State
│
┌───────────▼───────────┐
│ Agent Runtime │
└───────────┬───────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
Memory Planning Action
│
▼
AISystem
│
▼
Game Store
这里:
Store
负责世界状态。
Agent
负责行为决策。
四、NPC首次拥有记忆能力
传统 NPC 最大的问题:
不会记住玩家
例如:
玩家偷过东西
NPC下一秒就忘了
Agent 不一样,可以引入:
interface Memory {
playerName: string
reputation: number
history: string[]
}
例如:
玩家帮助过村庄
记忆写入:
memory.history.push(
"帮助村民击退野狼"
)
以后再次见面:
NPC主动感谢玩家
这就是:
长期记忆
五、Agent如何做决策?
传统 AI:
条件
↓
结果
Agent:
目标
↓
推理
↓
行为
例如,NPC目标:
保护村庄
环境:
玩家进入
天气恶劣
村民恐慌
Agent推理:
先安抚村民
再观察玩家
最后决定是否接触
输出:
{
action: "TALK"
}
而不是:
{
action: "ATTACK"
}
六、HarmonyOS中的Agent Runtime
在鸿蒙游戏中,推荐将 Agent 独立成系统。而不是 BattleSystem 的一部分。
例如:
class AgentSystem {
update(store: WorldStore) {
}
}
执行流程:
Store
↓
AgentSystem
↓
Action
↓
Engine
↓
Store
形成完整闭环。
七、World Model开始出现
真正重要的变化来了,传统游戏:
Store
记录的是:
数据
例如:
player.hp
player.level
但 Agent 需要的是:
世界认知
因此:
Store
↓
World State
↓
World Model
开始出现,例如:
interface WorldModel {
players
npcs
regions
weather
economy
}
Agent读取:
worldModel
而不是:
playerStore
八、HarmonyOS 多设备与 Agent
鸿蒙最大的优势之一:
分布式能力
例如:
Phone
Pad
PC
TV
共享同一个:
World State
此时:
Agent
可以运行在:
主设备
然后同步结果:
Agent Decision
↓
Distributed Data
↓
Other Devices
形成:
统一世界状态
九、未来游戏会变成什么样?
过去:
开发者设计剧情
未来:
Agent生成剧情
过去:
NPC固定行为
未来:
NPC自主成长
过去:
任务系统
未来:
Agent动态生成任务
整个游戏架构会演化为:
World Model
│
┌────────────────┼────────────────┐
▼ ▼ ▼
NPC Agent Quest Agent Story Agent
│
▼
AISystem
│
▼
Store
│
▼
HarmonyOS
十、Agent游戏架构正在形成
过去几年,游戏架构的发展路线其实非常清晰:
MVC
↓
MVVM
↓
Store
↓
Runtime
↓
AISystem
↓
Agent Runtime
↓
World Model
以前:
代码驱动世界
未来:
Agent驱动世界
以前:
开发者定义行为
未来:
Agent生成行为
这也是 AI 游戏与传统游戏最大的区别。
总结
很多开发者认为:
Agent
=
更聪明的NPC
实际上远不止如此,从架构角度看:
AISystem
解决行为决策
而:
Agent System
开始构建数字生命
对于 HarmonyOS 游戏来说,真正值得关注的并不是:
如何让 NPC 更强。
而是:
如何让 NPC 拥有持续感知、长期记忆、自主决策和动态成长能力。
因为当 Agent 真正进入游戏世界以后,NPC 将第一次从:
脚本角色
进化为:
数字生命体。
更多推荐



所有评论(0)