Glicko 2

      No Comments on Glicko 2

Como dicen los de SoyGeek, me encuentro inmerso en un proyecto de Modding de mi propia casa, por lo que he tenido que dejar de lado mis inventos durante una temporada. Este post me viene gracias a unos ajustes que estamos realizando en el servidor de juegos que usamos en Zinkia para nuestros proyectos multijugador.

Hace ya unos cuantos años encontré, como solución para adjudicar un ranking, o mejor dicho, una potencia de juego, a los jugadores de un determinado juego en el que intervengan 2 o mas jugadores, el sistema Glicko. En su día escribí un post bastante extenso sobre el tema.
El mismo Glickman hizo posteriormente unas mejoras sobre su sistema y sacó el Glicko-2, pero mientras el Glicko era de acceso libre y sus fórmulas estaban publicadas, la versión 2 la registró y cobraba royalties por su aplicación en juegos, en un intento de rentabilizar sus investigaciones matemáticas, supongo.

Al final lo ha liberado y se ha creado un equipo de desarrollo que con su beneplácito han elaborado una libreria en java, la JRS (Java Ranking Service), implementando dicho sistema de rankings.

Esta libreria no se parece demasiado a la clase Glicko que desarrollé yo en su dia para implementar este sistema, es un poco mas compleja y elaborada, por eso no creo que la implantemos en nuestro servidor de juegos ya que implica ciertos cambios estructurales y pocas mejoras, eso sin contar con que está en versión Beta aún.

Lo que yo resolví en una sola clase ellos lo han extendido a 10, incluyendo un interfaz. Lo que no me gusta de esta libreria es que, aunque no obliga, en cierto modo te anima a que mantengas una representación en memoria de TODOS los jugadores que participan en tu juego para en cualquier momento poder cambiar su ranking o calcular uno nuevo con respecto a otro jugador. Eso para un juego con 200 o 300 jugadores no es problema, pero si tienes 25000 registrados, estas jodido. Primero por el tiempo que te lleva inicializar la clase RankingService insertando y reponiendo los valores de ranking sacados de la base de datos para todos los usuarios registrados cada vez que tienes que reiniciar el servidor. Luego por la cantidad de memoria que ocupan todos esos datos que la mayor parte del tiempo no van a servir para nada ya que solo una pequeña parte de todos los usuarios registrados estarán jugando en un momento dado.

Leave a Reply

Your email address will not be published. Required fields are marked *