Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Enhancement] 想新增一个评分的功能 #537

Open
1 task done
sczzr opened this issue Nov 27, 2024 · 7 comments
Open
1 task done

[Enhancement] 想新增一个评分的功能 #537

sczzr opened this issue Nov 27, 2024 · 7 comments
Labels
enhancement New feature or request

Comments

@sczzr
Copy link

sczzr commented Nov 27, 2024

功能描述

背景

个人感觉 wegame 的评分规则很抽象, 在和朋友开黑的时候玩辅助风评总是被害, 所以想要搞一个符合自己心意的评分。

想法

每个人的评分规则应该是不一致的, 当前软件上只用到 kda 相关的数据。 所以有一个想法, 使用更加详细的游戏数据, 然后弄一个可配置文件, 配置文件用于描述评分的规则, 然后软件读取这个配置文件对当局表现进行评分。用户有需求的话可以自定义这个评分规则的配置文件。

讨论

这个软件可以加上这种功能吗?如果可以的话我可以尝试去开发这个功能

在提交之前,请您确认

  • 我已经查看了之前(包括已经关闭)的 issues,其中并没有与我相同的想法
@sczzr sczzr added the enhancement New feature or request label Nov 27, 2024
@Zzaphkiel
Copy link
Owner

Zzaphkiel commented Nov 27, 2024

挺有趣的想法,而且感觉基本上把 #488 cover 了。

我有几个额外的想法:

  1. 目前软件里显示的是 KDA 的计算结果,如果要实现用户自定义配置,可以让用户在设置中选择是使用现在原有的 KDA 计算还是用户自己的计算方式。
  2. 关于用户配置,我觉得可能需要软件内提供设置选项,因为手动修改配置文件对于大部分用户可能存在一定门槛。
  3. 关于配置文件中如何编码计算方式,以及如何让用户(在软件内较为简单地)自行设置计算公式,我暂时没有好的想法,比如我想实现和现在一样的计算方式: value = { k + a , d = 0 ;   ( k + a ) / d , 其他 . 配置文件以及用户自定义设置该如何表示呢?
  4. 上述公式中提到了对边界条件(d 为 0)时的特殊处理,但用户自定义时可能不会考虑这些边界条件,我们该如何处理这些问题?

@sczzr
Copy link
Author

sczzr commented Nov 27, 2024

我的初步想法是这样的, 配置文件那边是能够配置参与评分的项目权重,并且能够为每个位置配置他独立的评分表。如下表:

辅助:

项目得分 是否使能 权重
KDA Y 2
推塔数 Y 1
视野分 Y 2
远古资源控制数 Y 2
一血参与 Y 1
一血塔参与 Y 1
有效控制 Y 2

单人路:

项目得分 是否使能 权重
伤害 Y 2
KDA Y 2
推塔数 Y 2
一血参与 Y 2
伤害占比 Y 2
伤转比 Y 2
等级 Y 2

项目得分这个我预想是在软件内部计算出来, 但会存在以下 2 个难点:

  • 每个项目的评分的标准是什么?

选手在对局中 10 个人的排名?还是对位比较?还是对比某个段位的平均数据?

  • 如何将每个项目的数字转变为评分,比如 KDA 可能只有 2.3, 伤害占比是 23%, 等级是 16 ,每个项目的计量单位是不一致的,最后需要变成一个统一的评分,这种有点难搞

@Zzaphkiel
Copy link
Owner

Zzaphkiel commented Nov 27, 2024

感谢回复,我明白您的意思

  1. 关于 “不同位置采取不同评分规则”,这个恐怕难以实现,因为牵扯到位置的游戏模式仅有排位模式一种,且并不是所有人都主要玩排位模式;何况我们甚至目前无法获取玩家在某局排位模式下准确的位置信息。
  2. 关于您所提到的计算方式,我注意到它们仅支持用户自定义各种因素指标的线性组合,而不能进行其他更 "复杂" 的计算(如除法,平方或开平方等)方式。这是否足够将所谓的 “自定义评分” 功能(从用户自定义配置的门槛到实现效果)做得好可能还需要再讨论一下?
  3. 如何将不同维度的数据归一化也是一个值得讨论的话题,甚至如何将这些数据归一化是否也可以开放用户自定义设置呢?比如游戏内排名到某一特定值的映射 ?(这同时也牵扯到门槛的问题 😆)

@asd2422313947
Copy link

我觉得当前的KDA已经很准确了,因为我也是辅助玩家,我觉得除了KDA,其他评分方式不准,因为我之前用过NPhoenix,这个项目他就计算了KDA+视野+参团等等很多维度的数据,但是这些数据往往都不准确,给我的感受他就是不准确,不如KDA来的直观准确,因为我是单排辅助玩家,需要的是一个获知队友对手哪个是大爹,谁可能C,谁玩得好,而不是其他权重的东西,而且我觉得低分段受众才是最多的玩家,高分段占比都太少了,而且高分段大差不差,这些权重维度数据基本都一样的,所以对于大部分玩家而言,化繁为简,返璞归真,坚持当前的KDA才是最正确的选择

@Zzaphkiel
Copy link
Owner

@asd2422313947 你好。

正如我一开始提到的,我们会支持用户选项自行选择使用原本的 KDA 计算方式还是自定义方式,实现用户自定义配置评分功能并不会改变希望继续使用简单 KDA 计算方式的用户的使用。

我们作为开源项目,渴望听取各种有趣的想法,想要尽可能照顾各种拥有合理需求的玩家。

@sczzr
Copy link
Author

sczzr commented Nov 28, 2024

reply #537 (comment)
@Zzaphkiel

1.确实,除了召唤师峡谷的征召和匹配模式外,其它的都没有位置的概念。不同的模式的评分模板也不一致了,这样最低就需要三种模板了:召唤师峡谷、大乱斗、特殊模式。

2.关于位置, 我查到的可以通过这个 API https://developer.riotgames.com/apis#match-v5/GET_getMatch 去获取 teamPosition 的内容, teamPosition 按描述是在一场游戏中存在分路实时的情况下, riot 猜测一个玩家的具体位置。

3.针对 #537 (comment) 里面的内容我个人的想法是傻瓜式的配置,能够做到在界面上勾选也能自定义, 确实损失了很多灵活性。或许可以在设计的时候保留用户复杂配置的可能性,也能够以简便直观的方式呈现给用户进行配置。(因为自定义配置这个主要是给人使用的,我个人认为给人使用的门槛越低越好, 当然增加可配置性会更完美。)

@Zzaphkiel
Copy link
Owner

Zzaphkiel commented Nov 29, 2024

#537 (comment) @sczzr

  1. 关于 https://developer.riotgames.com/apis#match-v5/GET_getMatch 它是 riot api, 需要 key(而且就算有 key 腾讯服务器也用不了),我们没有,调不了的。
  2. 感觉 “在用户操作界面能支持勾选形式的自定义各指标的线性组合,以实现自定义评分功能,同时也保留自定义更复杂的计算方式的可能” 比较合理,但具体实现出来的效果以及实现方式可能还需要再讨论一下,这个有点复杂 😰

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants