Open stelar7 opened 4 years ago
This is a concern that I brought up in the valorant-dev discord.
I was planning to wait until I had a full list of potentially missing data before writing up an issue but seen as it's here already I'll fill in what I have spotted as "missing" after a brief look through of the schema.
So taking from what Gene said here: https://www.twitch.tv/videos/675696166?t=0h26m14s (Think this deserves a bigger discussion by the community than being hidden away in our API application.)
This is what we need.
The highest concern has to be the absense of any ability events.
We need events for every ability cast/usage with the ability specific contexual metadata.
Maybe to live in roundResults.playerStats.abilityCasts
List[AbilityCastDTO]
Brimstone SkySmoke example:
Name | Data Type | Description |
---|---|---|
abilityId | string|int | id of brimstone skysmoke ability |
castTimeMillis | int | millis since match start |
castingPlayerLocation | LocationDto | |
gameObjects | List[GameObjectDto] | list of game objects relating to this ability cast (up to 3 in this case of Brimstone SkySmoke) - yes I know this is bad terminology |
Name | Data Type | Description |
---|---|---|
id | string|int | unique id for this game object |
worldLocation | LocationDto | |
affectedPlayers | List[PlayerEffectDto] |
Name | Data Type | Description |
---|---|---|
puuid | string | puuid |
effect | string | blind/blocked/healed/decay/vision etc |
duration | int | seconds |
I need to know if a player skysmoke cast/usage was effective or not based on how many players were affected by the ability usage, and for how long they were affected.
We need this information for all abilities and the effects they can cause...
This is my second biggest concern with what looks like data being aggregated on riots side rather than providing the raw granular data.
Name | Data Type | Description |
---|---|---|
receiver | string | |
damage | int | |
legshots | int | |
bodyshots | int | |
headshots | int |
This looks like aggregate damage per round, per player, per recieving player Meaning that damage done to a player with different weapons/abilities is grouped into one DamageDTO?
We need damage as granular as can be
In the case of ability, we need to know which instance of an ability caused this damage.
e.g
I need to be able to know if this was
or
Name | Data Type | Description |
---|---|---|
receiver | string | |
damageTimeMillis | int | millis since match start |
weaponId | string|int|null | |
abilityId | string|int|null | id of phoenix "hot hands" ability |
GameObjectId | string|int|null | The unique ID given to a GameObject above (an instance of hot hands ability) |
damage | int | |
legshot | bool | |
bodyshot | bool | |
headshot | bool | |
other | bool |
or
Name | Data Type | Description |
---|---|---|
receiver | string | |
damageTimeMillis | int | millis since match start |
weaponId | string | int|null |
abilityId | string|int|null | id of brimstone skysmoke ability |
GameObjectId | string|int|null | The unique ID given to a GameObject above |
damage | int | |
hitbox | string|int | legs/body/head/other |
So a player causing damage to a single player via
Also on the topic of DamageDTO - teamDamage would be nice
Name | Data Type |
---|---|
teamDamage | bool |
This one is desired by most developers
How else do we know if Jett is getting kills while airbourne?
competitiveTier | int
Assuming this is rank?
Which team was ATK / DEF for this round?
Name | Data Type | Description |
---|---|---|
loadoutValue | int | |
weapon | string | |
armor | string | |
remaining | int | |
spent | int |
Events for players performing actions like
As I mentioned, the ability cast and damage representation issues listed at the top of this comment are the main issues I have.
And it all boils down to being able to calculate:
These are huge insights into a player performance and can be used to help players grow.
In no way do I expect/require these data schema changes exactly like this. The example Dto's I have given are just for demonstration.
Lets get this discussion started.
From a post in the discord;
Ability usage
Economy