Apex 为一款笔者近期最喜欢的竞技游戏,想藉着分析的名义,趁机推广一下这款大逃杀游戏。由於此游戏一开始就是以竞技类别推出,他本身的牌位系统,很适合延续我们讨论到的牌位与配对设计,且游戏人数基数够多,势必必须考量到配对速度的系统问题,最後就让我们来看看想达到这样的设计,需要在配对系统上进行的设计有哪些。
简单介绍一下游戏机制,游戏由玩家组成三人小队,与另外 19组队伍相杀,直到剩下最後一组小队时,该小队即为冠军小队。游玩模式有分成,休闲玩家的一般模式,以及玩家间竞技的阶级模式。目前公开配对资讯如下:
这边是我个人猜测可能用到的资讯,这些资讯用来体现一个玩家游戏能力,符合先前提到 Skill system
计算出的级分与相关资讯,可用协助我们找到实力更为相近的对手或队友。
显而易见的,上述这些条件
将被我们於 create ticket 时,事先将玩家过往对战纪录
,与当前游戏选择(角色、服务器、指定队友)
统一放到我们的 ticket 里。回过头来看一下 Ticket 里的 StringArgs
与 DoubleArgs
,虽然在结构设计上,仅是提供我们带入不同型态的参数,但如果加上资料的理解,可以发现 StringArgs 放的参数偏向硬性条件,像是游戏模式与使用的服务器地区,而 DoubleArgs 则是一个会被 MatchProfile 条件区间包含的参数,并且考量到 overlapping 的使用方式,我们在设计 MMF 处理 DoubleArgs 时,会给予每个 DoubleArgs[xxx] 不同的权重,以方便计算出唯一的 quality value 提供 evaulator 评估。
Example ticket
t := &pb.Ticket{
SearchFields: &pb.SearchFields{
StringArgs: map[string]string{
"mode": "3v3_normal_battle_royale", // or 3v3_rank_battle_royale
"server": "Taiwan_GCE2",
"role": "Valk",
"user_name": "wesley",
"user_id": "123456789",
"team_member": `["23456789"]`,
"black_list": `["11009837"]`,
},
DoubleArgs: map[string]float64{
"level": 154,
"rank": 3, // 0~7 the higher better
"team_member_count": 2,
"score": 2880,
"avg_dmg": 312,
"win_streak": 1,
"avg_kd": 0.87,
},
},
}
<<: Day35 ( 游戏设计 ) 猜数字 ( 几 A 几 B )
>>: [Day27] swift & kotlin 上架篇!(1) 小鸡BB-游戏上架流程-swift
请问有没有人跟我一样,没有念大学,想成为软件工程师 ...
本篇文章同步发表在 HKT 线上教室 部落格,线上影音教学课程已上架至 Udemy 和 Youtu...
现在我们会使用基本的伪类选择器做效果了,但看到变化过程一闪而过、冷冰冰的,想增添更多渐变效果,让动...
影片继续看下去 选择 Rotate 底下的 Direction 就是顺时钟还是逆时钟旋转。 我们选择...
在丛集管理方面,kubernetes 将 cluster 中的机器划分为一个 master 节点以及...