NPC如何主动进行交互
NPC的任何行为都可以根据需求来驱动。
一
大部分叙事场景都可以通过自身需求驱动来完成叙事场景,
比如 买东西,点餐,物品交易,打劫,等等。
都可以通过需求驱动来展开叙事场景。
二。
还有很多叙事场景需要NPC主动交互来完成,
比如感谢,打招呼,等,这些都是根据外部环境的变化
而产生的叙事场景。
1.看到了某个熟悉的人,主动打招呼进行交互
2.主动感谢。有人帮你脱离危险后主动感谢。
3.看热闹,有人打架,凑个热闹,询问一下谁和谁在打,因为什么打架,产生一个叙事场景。
4.发现天材地宝,展开叙事场景。
比如,大哥,左边有一个5级灵药,旁边有一只5级守护灵兽,
右边有一个6级灵药,有两只5级守护灵兽,我们好像都打不过,咋办。
比如
点餐叙事场景,你只要检查到你饿了,你就可以向决策系统发送信息
来驱动该行为从而展开叙事场景。
再比如
打劫叙事场景,触发打劫的场景比较多,当你是土匪的时候,打劫就是一种工作,
发现目标,且目标容易被欺负,条件合理,就可以告诉决策系统我要打劫了。
当你不是土匪的时候,目标的回报大于当前付出的代价,就可以剑走偏锋,
当然最终结果要结合,人格,社会地位,人际关系,当前状态,等等,
获得一个是否满足打劫的权重。
如何让NPC知道自己被帮助了,从而产生感谢的叙事场景。
战斗场景
开始战斗后记录所有参战人员的信息,主要包含,阵营,强弱程度,
我方阵营强弱程度,敌方阵营强弱程度.
强弱程度随着战局的变化而变化
-----------------------------------------------------------
战斗停止后,对所有己方帮忙的人员根据社会地位进行排序
对社会地位高的人根据不同势力分别表达感谢。
(比如武当和少林都有人帮你,战斗结束后分别对武当和少林的领头人物表达感谢)
如何判断胜利和失败:
胜利:把欺负你的人全部打成丧失战斗力,逃跑也算失去战斗力
失败:欺负你的人把你和帮你的人打到丧失战斗力。
战斗胜利:
战斗失败:
战斗被调停: 主要是有影响力的人出面调停
战斗被强制停止:通过实力强制双方停手,比如境界压制。
--------------------------------------------------
最后生成对应事件信息到决策系统,驱动决策系统做出合理的行为。
判断阵营胜利或失败,因为胜利或失败产生的叙事文字不一样。
比如,胜利后:感谢少侠出手相助,大恩大德没齿难忘。
失败后:感谢少侠,不顾危险,挺身相助,以后有什么需要的地方,万死不辞。
------------------------------------------------------------------
通过以上信息,NPC应该知道自己被帮助了 。
欺男霸女场景
不一定触发战斗,把欺负当事人的坏人赶走是最核心的,
也就是当当事人感知不到危险后,触发感谢信息到决策系统。
受伤救助场景
当事人感受到的危险是自身受伤严重,长时间得不到帮助,有生命危险。
小姑娘糖葫芦被坏人弄到地上了,小姑娘哭了,帮小姑娘又买了一个,小姑娘很开心。
如果按照传统的开发方式实现这些场景,其工作量之大非人力可为。
这些场景描述不单指这一个场景,就受伤救助来说分很多种,
比如,
自己修炼功法走火入魔
被别人打伤,挂了debuff,无法自我修复
当和别人对波的时候,眼看顶不住了,千钧一发出手相助。
爷爷采灵药的时候被守护灵兽 挂了debuff,受长期折磨,孙女外出采药碰到高人,解决问题,佳人倾心。
还需要更抽象的分类,比如,有感到危险的,有失去重要之物的等,
NPC是通过什么感受到了危险,又是谁帮NPC解决了这次危险,决策系统可以根据危险难度的等级和重要程度
做出合理行为。
其实我也不知道怎么做,还没有找到更合理的解决方案。