上周说目标是建立起情感变化相关机制,让NPC能围绕情感做出不一样的ai决策,然而刚开始做就发现之前欠的帐有点多,很多地方都在开发时被做了短路处理,而情感相关机制的设计是需要为数不少的行为作为支撑的,于是一整周都在还债。
主要实现了:
角色间的交易功能——现在NPC会将自己用不到的物品列入待出售列表,大家可以根据各自的需求互通有无了;
角色信息面板——其实更多是为了DEBUG查看方便,点开角色头像可以查看角色持有物品的情况、想要什么物品,以及愿意出售什么物品;
其中遇到的一个坑点是,自己之前实现物品类的时候,没有将逻辑与表现区分开来,在内部存储的物品数据里也带有堆叠信息,比如持有95个叠加上限为10的道具A,在背包数据中就会有10个A对象,其中9个的堆叠数为10,还有1个堆叠数为5。这给查询和增删道具都带来了极大的麻烦。于是将道具改造为了基于uid索引的方式,背包中只通过一个Dic<long,int>记录各uid的道具的持有数量,只在背包界面等前端展示情景中才将这些数据临时计算生成出堆叠情况,这样改完之后感觉逻辑终于清爽了起来。
感觉距离能开展大批量的配置工作还有很长的路要走,不过至少目前已经跑通了“NPC为了变强,会尝试去打造装备,碰到还没解锁的打造配方,会尝试去打怪攒材料或者从其他人那买材料回来通过打造尝试解锁,最终打造出想要的装备”这条流程,还是挺欣慰的。
下面是目前主城部分的综合交互情况:
暂无关于此日志的评论。