Aplicação para criar rankings de energia através do algoritmo Glicko-2.
A idéia básica deste aplicativo é criar rankings de energia. Originalmente destinada ao Competitivo Super Smash Bros. Melee para o Nintendo Gamecube, o GGSCore é capaz de criar PRs para todas as disciplinas competitivas nas quais dois lados competem entre si. As classificações são criadas através do algoritmo Glicko-2.
Uma compilação pronta para uso pode ser encontrada neste Dropbox.
A idéia geral de usar essa ferramenta é importando torneios do Challonge.com. Para isso, você precisará de uma chave de API do desenvolvedor da sua conta Challonge. Em seguida, os nomes/aliases dos jogadores dos sets do torneio devem estar associados aos jogadores. Você pode associar um pseudônimo a um jogador existente ou criar um novo (ao importar o primeiro torneio, você terá que criar todos os novos jogadores, é claro). Os resultados, consistindo no vencedor, perdedor e data da partida, serão adicionados à tabela no "Relatório da Match" -TAB e podem ser removidos manualmente (ou adicionados), se necessário. Depois de importar seus resultados, você deve inserir um período de classificação. O algoritmo só levará em consideração os resultados que ocorreram dentro de um período de classificação. Recomenda-se permitir que um jogador tenha pelo menos 10 a 15 jogos em um período de classificação para tornar a classificação precisa (especialmente para o primeiro período de classificação). Se o "Relatório de Match" for muito agrupado, você poderá usar as "classificações finalizadas"-opção nos "períodos de classificação" -TAB (onde o PR real também é mostrado) para limpar as tabelas que exibem os resultados e os períodos de classificação. Isso também significa que você não poderá remover/adicionar resultados dos períodos de classificação existentes antes de finalizar (finalizando assim as classificações até esse ponto). No entanto, você pode adicionar/remover e importar resultados como antes.
Lembre -se de que apenas os resultados dentro de um período de classificação serão usados para calcular uma classificação. Além disso, todos os resultados dentro de um período de classificação são vistos como acontecendo de uma só vez (pela definição do algoritmo Glicko-2). Isso significa que, se você criar todos os jogadores com os mesmos valores iniciais (uso pretendido), haverá apenas correspondências de pessoas com exatamente os mesmos valores. Portanto, se houver um PR como este com apenas um período de classificação atualmente e todos os jogadores começaram com 1500 pontos de classificação e você entra no resultado de um jogador (atualmente) com classificação de 1000 vencendo contra um jogador (atualmente) de 2000, todo o cálculo para esse período será repetido e esse resultado é considerado um jogador com classificação de 1500 com 1500 anos. Portanto, o primeiro período é mais sobre obter uma idéia geral dos valores e perturbações da classificação terão menos influência. Esse é provavelmente um comportamento bastante comum para um algoritmo de classificação. Para evitar isso, você teria que fornecer valores iniciais precisos, mas o usuário médio provavelmente não deveria (eu não faria).
Este aplicativo consiste em dois módulos: a API Glicko-2, que fornece o algoritmo Glicko-2 e a GUI que fornece ao usuário meios para usar a API e visualizar os resultados dos cálculos. Ele também associa os IDs dos jogadores de Glicko a seus pseudônimos.
A API Glicko-2 consiste em várias classes para estabelecer as condições necessárias para aplicar o algoritmo e, claro, o algoritmo em si:
A GUI implementa significa que o usuário use a API e exiba os resultados do algoritmo. Ele também gerencia os pseudônimos dos jogadores, associando-os à identificação de sua contratempo glicko. Além disso, ele cria todos os resultados (usando a classe Glicko-Result) e os salva juntamente com a data em que foram inseridos para ter ocorrido.
A API do Glicko-2 apenas aplica o algoritmo aos jogadores existentes com os resultados passados. Portanto, os períodos de classificação também são implementados aqui para agrupar os resultados e entregá -los ao algoritmo.
Continua...
Se você criar o aplicativo como está a partir deste repo, o formato de data será dd.mm.yyyy, que pode ser alterado no arquivo globalvars.h. O "DefaultFormatString" pode ser alterado usando os especificadores mostrados aqui. O formato padrão de data dos EUA será "%m/%d/%y" e uma compilação pode ser encontrada no Dropbox.
Alterar o formato da data pode ser feito sem se preocupar com os arquivos de salvamento (principalmente resultados.json, sendo a única datas de economia). As datas são sempre salvas no formato ISO 8601 e exibidas apenas conforme descrito pelo Valor DefaultFormatString.
Este aplicativo usa algumas APIs que deverão ser construídas e vinculadas antes que você possa construir este projeto. As APIs necessárias são WxWidgets, JSONCPP e LIBCURL (7.62.0 usados, mas outros devem funcionar, é claro, mas você precisará alterar o caminho no arquivo de projeto fornecido, se quiser usá -lo). Os arquivos de projeto do Visual Studio fornecidos exigem a seguinte estrutura de pastas para criar com êxito o aplicativo:
└── ┐
├── GGScore
│ └── .git
│ └── PR Tool
├── wxWidget
│ ├── lib
│ └── include
├── jsoncpp-master
│ └── dist
└── curl-7.62.0
├── include
└── lib
Essas APIs estão estaticamente ligadas, apenas a API do Glicko-2 está ligada dinamicamente (novamente, apenas falando pelo arquivo de projeto fornecido).