游戏中心

游戏机制笔记:多项目标进度为何由最慢一项决定——需求[8, 5, 6]的瓶颈进度(例22)

2026-10-24

一个关卡同时要求完成几类目标时,可以把整体进度定义为各项完成比例中的最小值。这个读数强调当前最落后的部分,不等于把所有完成数量相加后再求比例。

下面使用一组独立练习数据,说明输入、规则、处理顺序和输出之间的关系。建议先遮住结果自己推演,再逐步对照;如果出现差异,应先定位第一处不同,并检查边界条件,不要只把最后的答案改成一样。

规则和数据

本例只有三项要求,超过目标的分项按百分之百处理。整体取三个比例的最小值,界面只显示向下取整的整数百分比。它是一种明确的界面设计规则,并非所有游戏都这样显示进度。

目标编号0、1、2,对应需求[8, 5, 6] [[7, 4, 8], [10, 1, 4], [8, 1, 2], [11, 5, 9], [7, 2, 2], [4, 8, 7], [3, 2, 1], [10, 7, 6], [9, 5, 7], [0, 3, 2]]

逐步推演

完成量[7, 4, 8],三个比例['7/8', '4/5', '1'];最小比例4/5,瓶颈编号[1],显示80%。

完成量[10, 1, 4],三个比例['1', '1/5', '2/3'];最小比例1/5,瓶颈编号[1],显示20%。

完成量[8, 1, 2],三个比例['1', '1/5', '1/3'];最小比例1/5,瓶颈编号[1],显示20%。

完成量[11, 5, 9],三个比例['1', '1', '1'];最小比例1,瓶颈编号[0, 1, 2],显示100%。

完成量[7, 2, 2],三个比例['7/8', '2/5', '1/3'];最小比例1/3,瓶颈编号[2],显示33%。

完成量[4, 8, 7],三个比例['1/2', '1', '1'];最小比例1/2,瓶颈编号[0],显示50%。

完成量[3, 2, 1],三个比例['3/8', '2/5', '1/6'];最小比例1/6,瓶颈编号[2],显示16%。

完成量[10, 7, 6],三个比例['1', '1', '1'];最小比例1,瓶颈编号[0, 1, 2],显示100%。

完成量[9, 5, 7],三个比例['1', '1', '1'];最小比例1,瓶颈编号[0, 1, 2],显示100%。

完成量[0, 3, 2],三个比例['0', '3/5', '1/3'];最小比例0,瓶颈编号[0],显示0%。

十次独立快照的显示值为[80, 20, 20, 100, 33, 50, 16, 100, 100, 0]%。

如何复核与应用

枚举零至一百的整数百分数,找到三个分项都至少达到的最大整数,应与界面值一致。若最小比例并列,所有并列项都是当前瓶颈,不能只报告列表中的第一项。

这十组是彼此独立的快照,不要求后一组完成量比前一组更大。一个分项超额完成也不能补足另一项的欠缺;如果希望允许互相替代,应设计总量规则,而不是沿用最小分项规则。

这是一套明确限定的教学模型,实际作品可能采用其他约定。记录实验时,保留原始输入、每步状态以及规则版本;调整一个条件后重新演算,并检查起点、终点、重复输入和刚好位于边界的情况,才能知道差异来自设计还是计算。