Unity物品系统设计与实现——3.物品栏设计与物品管理

文章讨论了游戏物品栏设计的复杂性,包括物品顺序处理、特殊位置如装备和设备槽、综合信息如重量和空间限制、以及物品整理算法和AI管理需求。重点提到《Minecraft》和《巫师3》等游戏的不同物品排列规则和性能挑战。

前面我们设计的物品栏和物品引用信息,其中,利用物品引用信息,也即物品条目,我们可以建立物品栏。物品栏不仅包括玩家的背包,还包括了各种箱子、储具、生产设施等一切存储物品条目(而非实体)的实体

然而,物品栏不是物品条目的简单堆砌,它还需要包括:

 1.物品顺序信息,对于有些游戏,物品的排列可以是不连续的,如《minecraft》和《饥荒》,这些项目允许不同物品栏中间出现空位;而像《上古卷轴》等游戏的物品栏中是不允许出现空位的,也就数说,每次物品条目发生改变,物品栏内部就需要重新填补空缺;对于一些更复杂的系统,出于UI的美观或者资源管理玩法上的调整,物品可能还会占用不同的二维格子,例如《Kenshi》以及《巫师3》。对于第一种来说对玩家体验要提起重视;第二种当物品栏中条目过多时,由于涉及UI刷新、数组长度变更等可能影响性能的操作会比较需要考虑;并且这类游戏往往只针对物品的重量,而不是物品所占空间进行一维的限制,容易造成玩家出现“屯屯鼠综合征”;第三种则可能会造成UI杂乱、存储算法复杂,以及需要使用动态规划算法进行物品栏整理。这里我们着重考虑第二种

2.特殊的物品位置:例如,玩家装备的物品;生产设备的输入以及输出,这些位置只能存放个别物品,对于物品的存储和取出也有要求。《上古卷轴》等游戏中,“装备物品”这一动作是改变了特定的物品ID,例如装备了第9号槽位的斧头,换成装备第3号位的剑;这一装备过程中,物品的排列信息没有改变;有些例如《巫师3》,它的装备操作是将物品栏中的物品与特定槽位的物品进行了交换;有些是不同场合使用不同方式,例如《minecraft》中的工具和盔甲,还有些是一种“先选,后换”的混合式物品栏,例如《艾尔登法环》中的武器魔法的选择

2.1.快捷栏:游戏过程中,为了快速地使用药水等物品,我们会需要把物品放进一些比较显眼的、数量相对有限的栏位中;在有些游戏中,这些栏位中的物品不能随意更换(如黑魂中的魔法)。快捷栏的实现接近一般武器装备的实现

3.物品的综合信息:物品的总重量,占用空间等限制会改变玩家对道具取舍的策略;当涉及的物品项目过多时,如果我们能事先获知某些(类,个)物品存在与否、数量多少(例如剩余食物的量,是否存在远程武器等),并动态地修改和提供这些数据,不仅可以

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值