-
Notifications
You must be signed in to change notification settings - Fork 15
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
How to format queues.json
file?
#1
Comments
TODO list:
|
After rethinking the purpose of
That is why I think The As one of the workaround could be |
The date of queue releaseRegarding to #1 (comment) I can suggest a field that correspond to the when a queue was released. The value of the field should be patch name. The consumer could retrieve the additional values from
We can find a better name for this field. Examples
|
Rotating queueAs we know there are 2 types of queue:
I suggest a field that would describe this queue property. Something like Why it is not related to the game mode?For instance, let's look at Like mentioned in #1 (comment) the property is kind of immutable. |
Teams Identities (WIP)
The value is related to a queue because it describes the general game rule. Also, the value is immutable because a change has huge impact on old games that related to a queue. Each team has UsageWith Riot API wip... |
The story about QueueID and zero valueLet's recap, there are 3 types of games:
TL;DR no matchmaking - no queue. Why QueueID 0 means the Custom Games?Like I said before ConclusionThere is no queue with ID 0. It's zero value for Restructuring
|
We want to provide a file with information about queues so that developers can automatically update their queues data without modifying code.
Below is the current idea for the format. In this issue I will try to summarize the discussion we've had about the format.
Other relevant files might include:
gameModes.json
,gameTypes.json
,seasons.json
, and maybe a newmaps.json
file with additional information. Note that there are only three game types that Riot uses:CUSTOM_GAME
,TUTORIAL_GAME
, andMATCHED_GAME
.Notes about Queues:
The goal is to provide queue information to developers so they can automatically update their application using a request. We will provide a
queues.json
file via an API endpoint in CDragon.We need to find the correct balance between providing enough information and being able to easily maintain that information. We have decided to provide a minimum amount of information to the consumer, but enough that is useful for the majority of use cases.
It's much easier to add information than it is to remove it. If we remove information in a file, it will break applications; if we add information, all consumers benefit.
The format for all files, including
queues.json
needs to be future-proof, meaning that it should be simple enough that expected changes to Riot's Queue data shouldn't break the format of the json data we provide.We have opted for the naming scheme "Coop vs. AI" rather than "PvE"/"PvP" because very few game modes are truly player-vs.-environment. Coop vs. AI therefore captures the "competitive" vs. "non-competitive" natures of the different queues.
The "Coop vs. AI" vs. "Matched" naming schemes need to be applied to Queues rather than Game Modes because the game mode
CLASSIC
has queues that are both ranked and coop vs. AI. However, the rules of the game are properties of Game Modes rather than Queues.We decided not to correlate deprecated queues with the new queues for a few reasons: 1) Some queues do not get replaced, and it's unclear where the line is for a "replaced" queue (for example, was Dominion replaced with Definitely Not Dominion, or is that a new queue? what about Ascension? The answer to these questions depends on the application.); 2) Because of (1), the syntax for parsing this information will not be obvious to the consumer; 3) The goal of this data would be to allow consumers to construct a list of queues that are all similar. It would be much simpler for us to just provide that information (a list of similar queues) rather than provide the "replaced with" logic, and it better supports the consumers' use case.
On that note, we will provide fields for each Queue that will allow the user to find ranked queues, 5v5 ranked queues, etc. We may also provide a separate endpoint with a list of queue ids for different categories of game modes (e.g. Ranked, Dominion, ARAM, etc).
Some APIs (including the Riot API) do not serve data that is equal to the default value. For example,
0
s orFalse
ornull
are often omitted to save on bandwidth. For this file (and for similar files), we prefer not to omit this type of "base" data because it makes the data harder to understand. For example, a consumer might wonder if a piece of data is omitted because it doesn't exist rather than because the value is zero.The names that Riot assigns to their queues are not unique. We may come up with a better naming scheme ourselves. This is an excellent example of the tradeoff between maintainability and providing useful data. Hopefully any new naming scheme we develop can be generated from the fields of a Queue.
Below in a snippet from one of Pupix's gists that contains information about what Riot considers part of a Queue:
minLevel
-- it's just too much information to keep track of without an automated way to extract it, and it isn't all that useful to consumers creating, for example, a web app.We will try to maintain a TODO list in the comments.
The text was updated successfully, but these errors were encountered: