转跳到内容

关于游戏 AI 的思考


推荐贴

每次玩 RPG 的时候,总是会觉得重复固定话语和固定动作的 NPC 过于刻板

也并不是不能理解,因为,为每一位 NPC 赋予 “不必要的生命” 会大大增加游戏开发的成本和负担

现有的 RM 系列引擎做出来的 RPG 即使存在与 NPC 的有效交互,那也是开发人员费心费力为这个 NPC 写了很多分支事件的结果(致敬这个开发人员)

 

其实我在思考有没有或者是可以不可以写一个AI系统 ,这个系统可以将游戏世界的 NPC 统筹起来

玩家的一举一动都将会影响周围的 NPC,进而影响这个世界的进程

当然,这个只是一种猜想,实际情况下,起码现有的条件下,碍于普通计算机的算力,是无法实现的

就算可以实现,应该也不会首先用在游戏领域(哈...)

 

另一种思考方式,那可以不可以做一个 伪 AI

将 NPC 的姓名、年龄、性别、性格......等信息输入,就可以自动为这个 NPC 生成足够多的分支事件,多到可以让玩家在不经意间以为这个 NPC 是真实的

这种方式是否是一种可行的方式呢?

 

换言之,可不可以有一种 伪 AI 系统是这样的架构

最上层   NPC               (也就是这一层与玩家交互)

中间层   NPC生成系统(基于下一层生成的事件和输入的 NPC 属性,生成 NPC )

下一层   事件生成系统(基于特定规则组装事件)

最底层   事件组装规则(名词、形容词、副词等之间该如何组装成一个不突兀的事件)

 

期待大家有意思的讨论。

:mx029:

 

(事实证明这人一闲下来,就是容易胡思乱想......)

链接到点评

第一眼感觉:不明觉厉

但是仔细看看的话,你的想法很有趣,随机性和未知性拉满,但是相对的,游戏代码会非常难写的,而且很有可能会出bug。

再仔细想想这就是个哲学问题了,是蝴蝶效应还是平行宇宙:mx040:

注:我不是游戏专业的,也不会写代码QAQ

littlemaster收和谐资源时被小萝莉围观良心发现失去-3节操

链接到点评
16 分钟前, littlemaster 说道:

第一眼感觉:不明觉厉

但是仔细看看的话,你的想法很有趣,随机性和未知性拉满,但是相对的,游戏代码会非常难写的,而且很有可能会出bug。

再仔细想想这就是个哲学问题了,是蝴蝶效应还是平行宇宙:mx040:

注:我不是游戏专业的,也不会写代码QAQ

哈哈,我也不是游戏专业的,只是突发奇想而已

确实,这个东西光想想就觉得很难写,非常难写

其实,也是有一个和这个想法有点相似的游戏的,叫 《Elona》

完全的开放世界,没有主线任务,事件随机性很大

之前玩的时候,觉得这个画风太劝退了,就没有再继续玩下去

有兴趣可以看看

:mx060:

链接到点评
54 分钟前, Androidson 说道:

哈哈,我也不是游戏专业的,只是突发奇想而已

确实,这个东西光想想就觉得很难写,非常难写

其实,也是有一个和这个想法有点相似的游戏的,叫 《Elona》

完全的开放世界,没有主线任务,事件随机性很大

之前玩的时候,觉得这个画风太劝退了,就没有再继续玩下去

有兴趣可以看看

:mx060:

你这么说我就感兴趣了啊,考虑入个手了

链接到点评

楼主的想法类似把程序化生成( Procedural content generation)用在NPC和事件的生成上吧。现在程序化生成一般用在roguelike游戏的场景和敌人生成上,基于给定规则生成出随机房间内容啥的。不过程序化生成想要做到和人工制作相近的质量,在规则设计上可能需要花费大量精力,还是挺难的。感觉以后的大型开放世界游戏可以尝试一下,真实性和复杂度超高的虚拟世界还是挺吸引人的:chigua:

链接到点评

PCG也要靠堆料,随机组合靠人力堆怎么也会被玩家穷尽。许多Era的文本都是在角色素质/能力的基础上配合随机数生成出来的,有让你感觉生动而不刻板吗?

也有靠炼丹的路子。如果没玩过,可以体验一下AI地牢。偶尔演出效果不错,但真玩起来各种古怪别扭,不自己脑内加戏可玩不下去。

见过初创公司在做混沌盒生成剧情,这个思路倒是适合辅助3A游戏堆料,算是能接受的优化。

链接到点评
15 小时前, Neru厨 说道:

楼主的想法类似把程序化生成( Procedural content generation)用在NPC和事件的生成上吧。现在程序化生成一般用在roguelike游戏的场景和敌人生成上,基于给定规则生成出随机房间内容啥的。不过程序化生成想要做到和人工制作相近的质量,在规则设计上可能需要花费大量精力,还是挺难的。感觉以后的大型开放世界游戏可以尝试一下,真实性和复杂度超高的虚拟世界还是挺吸引人的:chigua:

原来如此,学到了有意思的东西,之前一直以为游戏中的房间和内容都是真实世界的参考建模来着,哈哈

还有 PCG 这种便利的东西

其实我的想法重点倒不止于程序化生成 NPC

而是 NPC 之间以及 NPC 与玩家之间如何可以进行有效交互 

不过,要是之后有类似的游戏的话,那确实算得上里程碑式的开放世界游戏了

:mx040:

链接到点评
11 小时前, Flare 说道:

PCG也要靠堆料,随机组合靠人力堆怎么也会被玩家穷尽。许多Era的文本都是在角色素质/能力的基础上配合随机数生成出来的,有让你感觉生动而不刻板吗?

也有靠炼丹的路子。如果没玩过,可以体验一下AI地牢。偶尔演出效果不错,但真玩起来各种古怪别扭,不自己脑内加戏可玩不下去。

见过初创公司在做混沌盒生成剧情,这个思路倒是适合辅助3A游戏堆料,算是能接受的优化。

看了层主的见解,Era 我确实没有接触过,然后去了解了一下 Era 系列

看着挺新奇的,有时间玩玩

:mx021:

 

然后是去体验了一下 AI Dungeon 2

确实最开始的时候玩着没什么大问题,但是越往后玩问题就越突出,倒还不只是需要脑补的问题,问题在更根本的地方

这个游戏确实可以识别动词、代词、名词等,而且也还可以进行有记忆和有逻辑地多段对话,但是在长时间的剧情上并不具有连续性

举个例子:

上一回合,我还孤身一人在森林中绝地求生

下一回合,我就成了有房一族,衣食无忧

但是把这个机制引入单个 NPC,每一个 NPC 就是一个 “AI Dungeon”

我感觉还是挺有意思的

:mx079:

 

最后是去查了一下 混沌系统,这个理论挺专业化的,需要在理解 非线性动态系统 的基础上看

说人话就是,具体理论我也看得一头雾水

但是关于它所描述的问题我理解了一些,就是

引用

“失之毫厘,谬之千里”

系统初始状态的微小差别会导致迥然不同的状态发展变化

例:人类文明的发展变化是混沌的,不同的初始资源点会发展成迥然不同的文明形态

这样的话,挺期待层主所说的那个初创公司的作品的

:mx040:

 

学到了好多有意思的新东西。

:mx029:

链接到点评
10 小时前, Androidson 说道:

看了层主的见解,Era 我确实没有接触过,然后去了解了一下 Era 系列

看着挺新奇的,有时间玩玩

:mx021:

 

然后是去体验了一下 AI Dungeon 2

确实最开始的时候玩着没什么大问题,但是越往后玩问题就越突出,倒还不只是需要脑补的问题,问题在更根本的地方

这个游戏确实可以识别动词、代词、名词等,而且也还可以进行有记忆和有逻辑地多段对话,但是在长时间的剧情上并不具有连续性

举个例子:

上一回合,我还孤身一人在森林中绝地求生

下一回合,我就成了有房一族,衣食无忧

但是把这个机制引入单个 NPC,每一个 NPC 就是一个 “AI Dungeon”

我感觉还是挺有意思的

:mx079:

 

最后是去查了一下 混沌系统,这个理论挺专业化的,需要在理解 非线性动态系统 的基础上看

说人话就是,具体理论我也看得一头雾水

但是关于它所描述的问题我理解了一些,就是

这样的话,挺期待层主所说的那个初创公司的作品的

:mx040:

 

学到了好多有意思的新东西。

:mx029:

AI地牢这个问题在肉眼可见的未来里没太大突破希望,只能说人为加限制,套在特定领域里。

回忆了一下,那个初创公司叫 rct studio ,不是自己做游戏的,只骗到了风投,没听说有什么客户。它的方案看起来更适合辅助流水线编剧。

Flare在语音区一展歌喉时,遇到了路过的管家星探123,受邀加入歌姬团并获得了9节操的打赏。

链接到点评
28 分钟前, Flare 说道:

AI地牢这个问题在肉眼可见的未来里没太大突破希望,只能说人为加限制,套在特定领域里。

回忆了一下,那个初创公司叫 rct studio ,不是自己做游戏的,只骗到了风投,没听说有什么客户。它的方案看起来更适合辅助流水线编剧。

刚去查了一下 Rct Studio,他们在做的东西叫 Chaos Box

按他们官网的话来说

引用

An AI engine that uses the Chaos Box algorithm to analyze real-time player inputs and dynamically generate NPC responses and new storylines based on Deep Reinforcement Learning. It can support massively emergent behaviors for AIs and NPCs in games without even a single script.

一个使用混沌盒算法分析实时玩家输入,并基于深度强化学习动态生成 NPC 响应和新故事情节的 AI 引擎。 它甚至可以在没有单个脚本的情况下支持游戏中的AI和NPC的大规模突发行为。

他们说的还厉害的,就是不知道实际情况是怎么样了。

Androidson在主题公园被可爱的布偶兔子招待,临走时兔子掏出 4节操 作为赠礼.

链接到点评
8 小时前, chen1607 说道:

不就是聊天机器人么,这种model需要大量数据训练,对于游戏来说现在硬件跟不上

不仅是聊天机器人,举个例子

玩家把道具店的老板杀了,然后,之后几天甚至几个月这家道具店都会关闭,老板的家中会举办葬礼

可能这里的道具店就永远关闭了

可能老板的子嗣会继承店面

这两种情况哪种发生,取决于老板自身的性格、对家人的态度 和 老板家人的性格、对老板的态度  以及 这个地方对于道具店的需求程度

也有可能第三种情况发生,别的某个人新开了一家道具店

 

重要的是,不论哪种情况发生,发生这种情况一定是合理的,举个例子:

第二天,老板又复活了

这种情况就不合理,因为 “人死无法复生”

 

这类情况下技术上的难点,主要在于如何大规模得做 “行为到世界状态的映射”

起码来说,应该做到 行为到当地状态的映射

 

嘛,不管怎么说,现在的硬件跟不上这么庞大的计算是确凿的事实...

:mx060:

链接到点评
10 分钟前, Androidson 说道:

不仅是聊天机器人,举个例子

玩家把道具店的老板杀了,然后,之后几天甚至几个月这家道具店都会关闭,老板的家中会举办葬礼

可能这里的道具店就永远关闭了

可能老板的子嗣会继承店面

这两种情况哪种发生,取决于老板自身的性格、对家人的态度 和 老板家人的性格、对老板的态度  以及 这个地方对于道具店的需求程度

也有可能第三种情况发生,别的某个人新开了一家道具店

 

重要的是,不论哪种情况发生,发生这种情况一定是合理的,举个例子:

第二天,老板又复活了

这种情况就不合理,因为 “人死无法复生”

 

这类情况下技术上的难点,主要在于如何大规模得做 “行为到世界状态的映射”

起码来说,应该做到 行为到当地状态的映射

 

嘛,不管怎么说,现在的硬件跟不上这么庞大的计算是确凿的事实...

:mx060:

那ai不可能实现这种。你说的这种还是得靠人编,比如p社游戏

chen1607抓到了盗链的熊孩子,受到了环姐的嘉奖8节操。

链接到点评
2 小时前, zxc778844 说道:

metagame的未来可能就是这样,但是现在来说这样的AI难度太大了,其实场景上也有类似的创意了,但是现在看来依然不够完善

去搜了一下 Metagame,像《心跳文学社》、《史丹利公寓》这种 “游戏知道自己是游戏,游戏知道你在玩游戏” 的游戏啊

听着挺有意思的,有空去玩一玩

:mx029:

链接到点评
于 2021/1/18 于 PM2点06分, Androidson 说道:

每次玩 RPG 的时候,总是会觉得重复固定话语和固定动作的 NPC 过于刻板

也并不是不能理解,因为,为每一位 NPC 赋予 “不必要的生命” 会大大增加游戏开发的成本和负担

现有的 RM 系列引擎做出来的 RPG 即使存在与 NPC 的有效交互,那也是开发人员费心费力为这个 NPC 写了很多分支事件的结果(致敬这个开发人员)

 

其实我在思考有没有或者是可以不可以写一个AI系统 ,这个系统可以将游戏世界的 NPC 统筹起来

玩家的一举一动都将会影响周围的 NPC,进而影响这个世界的进程

当然,这个只是一种猜想,实际情况下,起码现有的条件下,碍于普通计算机的算力,是无法实现的

就算可以实现,应该也不会首先用在游戏领域(哈...)

 

另一种思考方式,那可以不可以做一个 伪 AI

将 NPC 的姓名、年龄、性别、性格......等信息输入,就可以自动为这个 NPC 生成足够多的分支事件,多到可以让玩家在不经意间以为这个 NPC 是真实的

这种方式是否是一种可行的方式呢?

 

换言之,可不可以有一种 伪 AI 系统是这样的架构

最上层   NPC               (也就是这一层与玩家交互)

中间层   NPC生成系统(基于下一层生成的事件和输入的 NPC 属性,生成 NPC )

下一层   事件生成系统(基于特定规则组装事件)

最底层   事件组装规则(名词、形容词、副词等之间该如何组装成一个不突兀的事件)

 

期待大家有意思的讨论。

:mx029:

 

(事实证明这人一闲下来,就是容易胡思乱想......)

有一说一·即便按照这种架构来做出来的NPC·虽然味道不太对但是有些许活着的感觉

链接到点评

创建帐号或登入才能点评

您必须成为用户才能点评

创建帐号

在我们社区注册个新的帐号。非常简单!

注册新帐号

登入

已有帐号? 登入

现在登入
×
×
  • 新建...

重要消息

为使您更好地使用该站点,请仔细阅读以下内容: 使用条款