V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Game Engines
Unreal Engine
MyCryENGINE
edis0n0
V2EX  ›  游戏开发

游戏里的“AI”是不是都是一堆 if+random 的假 AI?

  •  
  •   edis0n0 · 2022-09-04 15:18:35 +08:00 · 6504 次点击
    这是一个创建于 840 天前的主题,其中的信息可能已经有所发展或是发生改变。
    36 条回复    2022-09-05 19:44:16 +08:00
    28Sv0ngQfIE7Yloe
        1
    28Sv0ngQfIE7Yloe  
       2022-09-04 15:20:13 +08:00
    你是指游戏中匹配到「机器人」的情况吗?
    datou
        2
    datou  
       2022-09-04 15:26:14 +08:00
    那叫 bot ,不叫 AI
    DTCPSS
        3
    DTCPSS  
       2022-09-04 15:30:46 +08:00
    这,神经网络也不怎么“真”吧(
    oldshensheep
        4
    oldshensheep  
       2022-09-04 15:39:41 +08:00
    你觉得你就不是假 AI 吗
    现代的游戏的 AI 有些是用了神经网络了的。
    Unity 就提供了一个容易使用的 AI 训练工具 https://unity.com/products/machine-learning-agents
    frankies
        5
    frankies  
       2022-09-04 15:45:25 +08:00 via Android
    别侮辱 AI 了,什么都大数据、智能。。。
    麻了。
    paramagnetic
        6
    paramagnetic  
       2022-09-04 15:45:33 +08:00   ❤️ 2
    个人知道的范围内,基本上是的,因为游戏 AI 的任务是让游戏变得好玩,而不一定是打败玩家。很多时候,给玩家造成一个意外但是有解的场景,比起尽最大努力打败玩家,会让游戏更好玩。
    基于神经网络能够创造出一个很强的 AI ,但是你很难让 AI 学习如何让自己变得更有趣。我估计未来的趋势是 if-else 决策树和神经网络 AI 共同起作用。
    参考油管视频:Game AI - Funtelligence - Extra Credits ,注册时长不够,就不发链接了
    ShinichiYao
        7
    ShinichiYao  
       2022-09-04 15:51:59 +08:00 via Android
    训练它永远只赢你一点点,偶尔放个水,遇强则强,你就觉得好玩了
    kindjeff
        8
    kindjeff  
       2022-09-04 16:01:25 +08:00
    印象中机器学习流行之前很多年大家就是把游戏里的这些 if else 叫 AI 的捏😑现在说它不够 AI 会不会有一种超时空打击的感觉
    churchill
        9
    churchill  
       2022-09-04 16:13:30 +08:00   ❤️ 1
    意思是 Search-based 不能算 AI ,只有 ML 才能算吗?
    如果说游戏里面笨笨的机器人不能算 AI 的话,那么 PCG(procedural content generation) 应该符合 AI 的定义吧
    murmur
        10
    murmur  
       2022-09-04 16:24:00 +08:00
    太高级的 AI 会打击玩家的,人和人对抗就是因为人不是完美的,会露出破绽
    winglight2016
        11
    winglight2016  
       2022-09-04 16:25:31 +08:00
    如果人类做决策,也是基于 ifelse ,那么算不算智能呢?
    ziseyinzi
        12
    ziseyinzi  
       2022-09-04 16:33:11 +08:00
    你该不会以为神经网络就是真 AI 了
    h272377502
        13
    h272377502  
       2022-09-04 16:34:11 +08:00 via Android
    强化学习了解一下,王者里面的 ai 就是监督学习或者强化学习整的。
    jaggle
        14
    jaggle  
       2022-09-04 16:36:13 +08:00 via iPhone
    这些 ifelse 如果是人类训练出来的呢?比如你放 a 技能,机器普遍放 b 技能就能躲避伤害,则这个 ifelse 就自动生成了
    7gugu
        15
    7gugu  
       2022-09-04 16:55:08 +08:00
    就算 ML 的底层逻辑也还是 ifelse 呀😂
    kennir
        16
    kennir  
       2022-09-04 17:00:57 +08:00
    现代引擎一般都会提供行为树管理 NPC 的行为,不过理解为一堆 if else 也可以
    jmc891205
        17
    jmc891205  
       2022-09-04 17:11:41 +08:00
    rule-based 和 model-based 的区别
    a1033894877
        18
    a1033894877  
       2022-09-04 17:12:47 +08:00
    cs 的残暴机器人枪枪爆头毫无体验
    weak
        19
    weak  
       2022-09-04 17:48:26 +08:00 via iPhone
    很多 npc 就是设定一个范围,你在范围内他就会出来攻击你,你在范围外,他就不攻击你,你在一个地方老躺着,就生成人机来打你
    licoycn
        20
    licoycn  
       2022-09-04 18:12:32 +08:00
    一般是通过行为树来做 AI 决策,要归根到底层的话那就是 if-else ,要用神经网络做游戏 AI 这计算量和实时性怕是不太好弄~
    nieyujiang
        21
    nieyujiang  
       2022-09-04 18:55:04 +08:00
    npc 整得太强,把玩家打跑了.怕是要一键关服了.
    moen
        22
    moen  
       2022-09-04 18:57:43 +08:00
    已知 RA3 的 AI 是可以学习玩家的出兵方式和使用的战术
    GreatAuk
        23
    GreatAuk  
       2022-09-04 19:03:11 +08:00
    状态机
    timethinker
        24
    timethinker  
       2022-09-04 19:21:15 +08:00 via iPhone
    是的,游戏里面的 AI 简单一点的直接用状态机来做,稍微复杂一点的用行为树,说白了还是状态机。为了达到预期效果,流程的建模都是有意设计的,再加入一些基于权重的概率随机。
    Building
        25
    Building  
       2022-09-04 19:31:30 +08:00   ❤️ 3
    难道你以为你玩游戏的时候,你的脑子就不是决策树吗?可能大 boss 也觉得你这个玩家不怎么 intelligence 呢
    teenight
        26
    teenight  
       2022-09-04 19:36:53 +08:00 via Android
    人脑也是一堆 if else
    levelworm
        27
    levelworm  
       2022-09-04 19:48:24 +08:00
    @Building 25
    还真是这样。。。可能唯一比 AI 复杂的地方在于人能学习,但是游戏这种非常有限的东西里,可能能够穷举。
    muzuiget
        28
    muzuiget  
       2022-09-04 20:44:47 +08:00
    叫 if else 就不够档次了,要叫 behavior tree 。
    wu67
        29
    wu67  
       2022-09-04 21:21:44 +08:00
    是一组 if else, 逻辑技能组是这样, 另一种是概率组, 通常应该是分开的, 也可以结合一起使用. 如果放过于强力的模型组合上去, 很可能会把玩家打自闭, 然后退游.

    以我玩的阴阳师为例, 角色都是有固定的技能使用逻辑的, 甚至这个逻辑也是角色强度的一部分, 甚至有些逻辑结合技能组造成了非常恶心的 pvp pve 体验, 然后被喷到调整 /削弱. 当然更多的是 ch 自己作死
    leimao
        30
    leimao  
       2022-09-04 22:06:57 +08:00 via iPhone
    你去问问阿尔法狗?
    abcbuzhiming
        31
    abcbuzhiming  
       2022-09-04 23:44:34 +08:00
    绝大部分游戏不会上真 AI ,能上到行为树就不错了,你上真 AI ,玩家打不过了怎么办?
    em70
        32
    em70  
       2022-09-05 00:28:25 +08:00
    是,作弊+随机就足够陪玩家玩了,能产生乐趣就行,要那么真干嘛
    Zhengqing
        33
    Zhengqing  
       2022-09-05 00:50:08 +08:00 via iPhone
    @jmc891205 我觉得只有你正确诠释了楼主的问题
    tfdetang
        34
    tfdetang  
       2022-09-05 10:50:23 +08:00
    @paramagnetic 我感觉你说的最有道理; 如果游戏开发者需要通过精心设计来让玩家达到心流就必须让所有场景可控,即使玩家看来的惊喜与意外也都是经过精心设计的,那么显然基于规则比基于 ML 算法可控很多。

    @churchill 其实最关键的点可能不在于是否查表,比如强化学习中 Q-learning 本质上也是查表,但依然是一个 AI 。

    理论上游戏环境本身是人创造的一个已知环境,包括 PCG 。 只要我知道所有的状态和变量,只要明确目标求出下一步并不是不能做到; 难得地方是对玩家进行建模,最终的目标不是战胜玩家而是让他玩下去, 那这就是一个 model-free 的问题了
    flynaj
        35
    flynaj  
       2022-09-05 16:26:17 +08:00 via Android
    真 ai ,就是像 《西部世界》里面一样。
    jtsr
        36
    jtsr  
       2022-09-05 19:44:16 +08:00
    其实你自己的大脑就是一个应答机
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   885 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 20:20 · PVG 04:20 · LAX 12:20 · JFK 15:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.