有什么游戏的npc的行为模式是non-scripted 的么。
- 三俗怪人今天重温了老滚5制作人Todd Howard的经典语录。发现他曾经提到过老滚5的npc ai是 non-scripted。 具体定义为npc有一定的需求例如吃饭社交睡觉,然后这个需求会驱使ai做一定的行为。 但是制作组在测试这个系统时发现会导致游戏进行不下去,比如说ai想要吃饭的时候会从最近的地方找食物, 但是如果食物的所有人不是自己(比如食物在别人的房间里,货架上或者身上),拿不属于自己食物就会导致npc进行偷窃从而被群殴致死。
于是这个non-scripted最后就没有做出来。(私下觉得做出来了对游戏的提升也很小)
好奇的问一下目前有游戏是使用这种non-scripted ai来控制npc么?也许模拟人生是这种的? (突然意识到s--lab里面有个做s--需求的mod,npc需求到达阈值就会去运动甚至rape其他npc或者操纵角色。) - Lunamos严格说来人类编写的各种马尔可夫决策过程,比如启发式的状态机,事件驱动行为树都是一种script。你可能需要深度强化学习,Alpha Zero打星际那种吧。
- frosta纯non script的感觉一票模拟游戏都是吧,模拟人生,,环世界。都是角色想到啥就去干啥
根据随机需求生成script的倒是有一个,看门狗军团,动态根据npc背景生成脚本
— from samsung SM-G981U1, Android 11 ofS1 Next Goosev2.4.4 - AlerHugues
- johnwick模拟人生那种AI也是一大串If Then,所有RPG的AI都是基于有限状态机,都是脚本化的。
有可能If Then太多给了你这不是脚本的错觉。 - zhangqq_008你说的这个我想起来老滚5刚出的时候戏弄npc的搞笑视频
玩家在酒馆里几条大汉面前扔了几个圆白菜,然后这几个大汉为了抢归属权就互砍起来了
—— 来自 OnePlus KB2000, Android 11上的S1Next-鹅版v2.4.4 - 茛菪老滚4啊。这玩意当初就是滚4的卖点,成品里阉割了不少,但是往兄弟会目标桌子上放毒苹果等他饿了吃掉自杀这种操作还是能做到的。NPC对话也是类似的方式由双方的关系数值、身份随机生成,所以有很多牛头不对马嘴的尬聊。
- jy000129太吾应该算,每个角色都有各自的性格和行动方式,会和其他角色以及玩家自行发展关系(交友,感情,结拜,收徒等),也会因为玩家对其关联角色的行为产生新的关系(亲近或结仇),并有产生的关系带来一系列行动(青睐,赠礼,攻击,下毒,雇凶等),江湖事件也会影响NPC行动(比如去某门派学艺发现掌门人在XX,O到失联,一直见不到
)
—— 来自 HUAWEI WLZ-AL10, Android 10上的S1Next-鹅版v2.4.4 - 矩形冰块老滚5这个我觉得不是做不出来,而是做出来没意义,对游戏体验毫无帮助,大概就是老滚5的蚂蚁一样拿出来感叹下就完了,而且还可能附带大量潜在bug。像现在这样npc随机从身上变出一个面包啃两口实现起来简单的多。
- 三俗怪人
- 多多天下RPG应该没有,也没啥意义。模拟类很多,模拟人生啦,矮人要塞以及DFlike的一众啦
- GuardHei
- 三俗怪人
- 三俗怪人
- dumplingpro策略游戏都这样,因为是从棋类游戏发展起来的,基础就是参与游戏的人用一套规则博弈推演。
最接近除了模拟人生,就是十字军之王系列这样,NPC基于自己的利益和兴趣爱好进行生活社交或者战争,所以玩家能看到一堆奇葩,也可以瞎搞。 - Samak矮人要塞啊
- 北卡厨王其实你看他自己举的例子,做这个不光是ai部门的事,ai真实了,这整个世界的设计方方面面都得跟上。比如每个npc的活动范围内都得布置一个他有权限的进食点等等等等
- Ichihatsu
模拟人生那洁癖属性死神 来了一趟把小人的妈和家里的垃圾一起收走了
- dumplingpro矮人要塞+1
- 真实之影如果要在3A里找,大概最好的是魔戒暗影摩多和战争之影了
- 塔奇克马
太好笑了吧
- Dublin其实我觉得未来的动森挺适合这么做的……
- moeful我就说那个经常从南到北走的那个npc,有时候会坐在bruma的旅店里的那个暗精灵有时候蹲在桌前在干啥呢,原来是想偷面包。我一直以为那些npc只有特定的人有设定会小偷小摸,原来是tm的系统啊!
- busherRadiant AI
- mhfdt简单的说就是算法驱动呗,虽然严格意义上也是scripted, 不过相对自由,也可以看作是AI学习的前置版
通过自身的状态值和周围环境决定下一步的行为,在机器性能足够负担的前提下应该可以实现。
以unity为例,每个角色给一个无碰撞体积的collider trigger,然后再每个行为准备阶段,检测所有collider内的,假定为EnvironmentItem类的物品,并加入一个临时List
然后通过角色状态和一个事先设计好的需求List对照,优先级自高到低,每个需求遍历一遍上述的EnvironmentItem List,确认是否有能满足需求的物品,有则进行互动,没有查看下一个需求
如果没有物品能满足需求,则进入漫步,移动一段距离后,重复检测步骤,更新EnvironmentItem类List,再对照需求。
做当然都能做,问就是性能,优化,以及整体项目下多数角色共同执行时可能的bug之类的问题
(第一万帖纪念,不是撕B帖可太好了 - 未平真人