Aplikasi untuk membuat peringkat daya melalui algoritma Glicko-2.
Gagasan dasar aplikasi ini adalah membuat peringkat daya. Awalnya dimaksudkan untuk jarak dekat Super Smash Bros. Kompetitif untuk Nintendo GameCube, GGScore mampu membuat PRS untuk setiap disiplin kompetitif di mana dua pihak bersaing satu sama lain. Peringkat dibuat melalui algoritma Glicko-2.
Build yang siap digunakan dapat ditemukan di dropbox ini.
Gagasan umum untuk menggunakan alat ini adalah dengan mengimpor turnamen dari Challonge.com. Untuk ini Anda akan memerlukan kunci API pengembang dari penantang challonge Anda. Kemudian nama/alias para pemain dari set turnamen harus dikaitkan dengan pemain. Anda dapat mengaitkan alias dengan pemain yang sudah ada atau membuat yang baru (saat mengimpor turnamen pertama Anda harus membuat semua pemain baru tentu saja). Hasilnya, yang terdiri dari pemenang, pecundang dan tanggal pertandingan, akan ditambahkan ke tabel dalam "Laporan Pertandingan" -tab dan dapat dihapus secara manual (atau ditambahkan), jika diperlukan. Setelah Anda mengimpor hasil Anda, Anda harus memasuki periode peringkat. Algoritma hanya akan memperhitungkan hasil yang terjadi dalam periode peringkat. Disarankan untuk membiarkan pemain memiliki setidaknya 10-15 game dalam periode peringkat untuk membuat peringkat akurat (terutama untuk periode peringkat pertama). Jika "Laporan Pertandingan" terlalu berkerumun, Anda dapat menggunakan option "Finalisasi Peringkat" dalam "periode peringkat" -tab (di mana PR aktual juga ditampilkan) untuk menghapus tabel yang menampilkan hasil dan periode peringkat. Ini juga berarti bahwa Anda tidak akan dapat menghapus/menambahkan hasil dari periode peringkat yang ada sebelum menyelesaikannya (dengan demikian menyelesaikan peringkat hingga titik itu). Namun, Anda dapat menambah/menghapus dan mengimpor hasil seperti sebelumnya.
Perlu diingat bahwa hanya hasil dalam periode peringkat yang akan digunakan untuk menghitung peringkat. Juga semua hasil dalam periode peringkat dipandang terjadi sekaligus (menurut definisi algoritma Glicko-2). Itu berarti jika Anda membuat semua pemain dengan nilai awal yang sama (penggunaan yang dimaksudkan) hanya akan ada kecocokan orang dengan nilai yang persis sama. Jadi, jika ada PR seperti ini dengan hanya satu periode peringkat saat ini dan semua pemain dimulai dengan 1500 poin peringkat dan Anda memasukkan hasil dari (saat ini) pemain peringkat 1000 yang menang melawan pemain (saat ini) 2000-berperingkat, seluruh perhitungan untuk periode itu akan diulang dan hasilnya diperhitungkan sebagai pemain berperingkat 1500 yang menang melawan pemain bernilai 1500. Jadi periode pertama lebih banyak tentang mendapatkan gagasan umum tentang nilai -nilai peringkat dan gangguan akan memiliki pengaruh yang lebih sedikit. Ini mungkin perilaku yang cukup umum untuk algoritma peringkat. Untuk menghindari ini, Anda harus menyediakan nilai awal yang akurat, tetapi rata -rata pengguna mungkin tidak boleh (saya tidak akan).
Aplikasi ini terdiri dari dua modul: Glicko-2 API, yang memasok algoritma Glicko-2 dan GUI yang memasok pengguna dengan cara menggunakan API dan memvisualisasikan hasil perhitungan. Ini juga mengaitkan ID dari pemain glicko dengan alias mereka.
API Glicko-2 terdiri dari berbagai kelas untuk mengatur kondisi yang dibutuhkan untuk menerapkan algoritma dan tentu saja algoritma itu sendiri:
GUI mengimplementasikan berarti bagi pengguna untuk menggunakan API dan menampilkan hasil algoritma. Itu juga mengelola alias para pemain, mengaitkannya dengan ID dari Glicko-counterpart mereka. Selain itu, itu menciptakan semua hasil (menggunakan kelas Glicko-Result) dan menyimpannya bersama dengan tanggal mereka dimasukkan untuk terjadi.
API Glicko-2 hanya menerapkan algoritma untuk pemain yang ada dengan hasil apa pun yang diteruskan ke sana. Jadi periode peringkat diimplementasikan di sini juga untuk menggabungkan hasil dan memberikannya pada algoritma.
Untuk dilanjutkan ...
Jika Anda membangun aplikasi seperti dari repo ini, format tanggal adalah dd.mm.yyyy, yang dapat diubah dalam file globalvars.h. "DefaultFormatString" dapat diubah menggunakan spesifikasi yang ditampilkan di sini. Format tanggal standar AS adalah "%m/%d/%y" dan bangunan dapat ditemukan di dropbox.
Mengubah format tanggal dapat dilakukan tanpa mengkhawatirkan file save (terutama hasil.json, menjadi satu-satunya tanggal penghematan). Tanggal selalu disimpan dalam format ISO 8601 dan hanya ditampilkan seperti yang dijelaskan oleh nilai-format yang default.
Aplikasi ini menggunakan beberapa API yang harus dibangun dan ditautkan sebelum Anda dapat membangun proyek ini. API yang dibutuhkan adalah WXWIDGETS, JSONCPP dan LIBCURL (7.62.0 digunakan, tetapi orang lain harus bekerja tentu saja, tetapi Anda harus mengubah jalur dalam file proyek yang disediakan, jika Anda ingin menggunakannya). File Proyek Visual Studio yang disediakan memerlukan struktur folder berikut untuk berhasil membangun aplikasi:
└── ┐
├── GGScore
│ └── .git
│ └── PR Tool
├── wxWidget
│ ├── lib
│ └── include
├── jsoncpp-master
│ └── dist
└── curl-7.62.0
├── include
└── lib
API ini terkait secara statis, hanya API Glicko-2 yang terkait secara dinamis (sekali lagi, hanya berbicara untuk file proyek yang disediakan).