temo
2020-11-29T15:30:00+00:00
[s:ac:呆]ck里每个角色对其他角色都有好感度,而且都有自己的独立ai决策,在满速状态下还能高速运转,对比着看太吾官方的那个视频,感觉p社的技术有点恐怖哦……
我猜的,首先根据好感度和是否与玩家发生联系分级,比方说与玩家有关第一优先级,好感度偏离第二优先级,偏离度越高优先级越高,然后每轮选取优先级最高的一百个事件发生,未发生事件的等待时间变长优先级也会上升,然后一些重要事件做单独的判定条件以某一概率发生,这样就会感觉所有人都在动,主要的人特别闹腾,偶尔发生点黑幕这样
[quote][pid=474293813,24513356,1]Reply[/pid] Post by [uid=18574424]绿色子龙[/uid] (2020-12-06 23:37):
不然干嘛祖宗之法不可变,一个引擎用十年[/quote]和b社一样[s:ac:瞎]
[quote][pid=474294785,24513356,1]Reply[/pid] Post by [uid=60528645]vaguewind[/uid] (2020-12-06 23:41):
我猜的,首先根据好感度和是否与玩家发生联系分级,比方说与玩家有关第一优先级,好感度偏离第二优先级,偏离度越高优先级越高,然后每轮选取优先级最高的一百个事件发生,未发生事件的等待时间变长优先级也会上升,然后一些重要事件做单独的判定条件以某一概率发生,这样就会感觉所有人都在动,主要的人特别闹腾,偶尔发生点黑幕这样[/quote]ai决策可能是这样,但是好感度似乎都是实时计算的[s:ac:惊]
我当年沉迷钢2时自己也写了很多事件之类,基本是条件判定
好感度方面都是明牌,比如你的某个特性对特定人群好感加减之类,如野心勃勃对野心勃勃互相减好感,然后某些事件会加临时效果,比如谋杀了某人的血亲,会有个严重惩罚
总之系统完全不管这些东西,就直接把所有特性加完就得到所有人之间的彼此好感了
AI决策是提前写好的,基本上就是无特殊flag时,AI在某个事件上分别有ABC选项,选择概率分别是30%,50%,20%
然后下面会有补充调整,会根据全局flag或者人物特性增加AI选择某个特定选项的几率
比如CK2里找铁匠打造宝物的事件,所有铁匠都有可能吞了打造出的物品然后跑路,但是默认几率很低。但是铁匠假如有贪婪特性则会极大提高跑路几率,同时打造出的宝物等级每提高一级又提高了这个选项的概率
于是玩家就觉得,选个贪婪的铁匠来负责这个事情是真的有不小的风险
所有角色和事件都基于预设的条件判定,而非人工写出来的专用AI之类
因此系统运行这些东西花费很小,因为花费小就能轻易负担几千几万个AI角色的行动判定
[quote][pid=474295705,24513356,1]Reply[/pid] Post by [uid=61240582]hongzu117[/uid] (2020-12-06 23:45):
ai决策可能是这样,但是好感度似乎都是实时计算的[s:ac:惊][/quote]好感度可以直接写在事件属性里然后每个人设个比值乘一下这样,比遍历决策简单多了[s:ac:哭笑]但是这么一想的话每个人都要维护一个好感度表的话数据量也很爆炸[s:ac:哭笑]
想要一下子计算所有人的好感度当然会卡啦,但是滚动计算,充分利用玩家的操作时间去计算他们看不到的东西就能节约时间了
也就前期不卡,做769-1453成就的时候,后期卡到1秒1天,过十几分钟还会整个游戏假死半分钟,根本玩不了。