Primera idea: portentaje de partidas ganadas ponderadas con el número de partidas jugadas.
- Porcentaje de partidas ganadas (entre 0 y 1) (PG)
- Número de partidas jugadas (entre 0 y n), experiencia (E)
Se puede hacer una corrección en función del número de partidas jugadas:
E entre 01 y 05: PG x 0.10
E entre 06 y 10: PG x 0.25
E entre 11 y 20: PG x 0.50
E entre 21 y 50: PG x 0.75
E más de 50: PG x 1.00
De esta forma el porcentaje vale más cuantas más partidas hayas jugado.
----------------------------------------------------------------------------------------------
Segunda idea: cada partida otorga puntos entre 0 y 100 en función de la posición final. De esta forma quedar segundo es mejor que quedar último. Y ganar una partida de ocho es mejor que ganar una partida de 3. Aunque ganar una partida de 3 es mejor que quedar tercero en una de ocho (por ejemplo).
jugadores| puntos a repartir
3 jugadores: 00 37 75
4 jugadores: 00 26 53 80
5 jugadores: 00 21 42 63 85
6 jugadores: 00 18 36 54 72 90
7 jugadores: 00 16 32 47 64 79 95
8 jugadores: 00 14 28 42 57 71 86 100
Con un sistema como este creo que el ranking estaría más distribuido (dejando de haber esos picos en torno a la mitad de la tabla).
En la tabla anterior están los números redondeados, en rigor serían:
puntos = PM * [(NJ - PF) / (NJ-1)]
teniendo en cuenta que según la tabla PM = 60 + (5 * NJ)
puntos = (60 + (5 * NJ)) * [(NJ - PF) / (NJ-1)] == [5 / (NJ -1)] * [NJ^2 - (NJ*PF) + (12*NJ) - (12*PF)]
siendo
PM --> puntuación máxima dada para ese número de jugadores
NJ --> número de jugadores
PF --> posición del jugador al final de la partida
Luego para ver el ranking habría que hacer la media de las puntuaciones de todas tus partidas, aplicando también una corrección como en la primera idea. Todos los jugadores tendrían en el ranking un número entre 0 (haber perdido todas) y 100 (haber ganado todas y que fueran de 8 jugadores).
PD: en caso de empate entre jugadores en cualquier posición, todos obtendrían los puntos correspondientes a la posición más baja. Ejemplo: empate en la 4ª posición entre tres jugadores --> todos obtendrían los puntos de la 6ª posición.
----------------------------------------------------------------------------------------------
Tercera idea: cada partida otorga una serie de puntos basado en los parámetros del juego. Los puntos estarían entre 1 y 100 y la media de todos los puntos a lo largo de todas tus partidas te darán la posición en el ranking. Sería como la segunda idea pero algo más elaborada.
Elementos que podrían tenerse en cuenta a la hora de dar esos puntos:
a) Porcentaje/número de partidas ganadas (entre 0 y 1).
b) Experiencia, número de partidas jugadas (entre 0 y n). Para hacer corrección, como en la primera idea.
c) Número de jugadores en cada partida (entre 3 y 8). Factor de dificultad, como en la segunda idea.
d) Posición en las partidas (entre 1 y 8). Como en la segunda idea.
e) Puntuación en cada partida (en general entre 0 y n). Para valorar los puntos de cada partida.
f) Número de distritos a construir (entre 4 y 12). Factor de dificultad.
g) Posición en el ranking de los demás jugadores (hándicap).
Hay que tener cuidado con no premiar o castigar dos veces por el mismo concepto. Ejemplos:
Más puntos al final de la partida (resto de conceptos constante) --> Mejor posición al final de la partida
Más distritos a construir (resto de conceptos constante) --> Más puntos al final de la partida
e) y f) son complicados de introducir.
Para e) habría que tener alguna métrica para determinar si los puntos conseguidos en una partida son muchos o pocos, lo que en parte depende de los personajes. Por ejemplo, si está el Diplomático habrá más puntos sobre la mesa -en general- que si está el Condotiero. Lo mismo para Bruja en vez de Asesino y para Hechicero en vez de Mago. Aunque por otra parte, como estos personajes hacen las partidas más cortas, quizás no esté tan claro cuál es el efecto en los puntos con los que los jugadores acaban las partidas.
f) indica el grado de aleatoriedad. A mayor número de distritos, más estrategia, y el factor suerte se hace menos determinante. 12 distritos se puede considerar aleatoriedad nula.
Esto podría ser un bonus o una penalización a la puntuación final.
Poca aleatoriedad -> sin impacto
Mucha aleatoriedad -> penalización por arriba, bonus por abajo. De forma que las puntuaciones finales estén comprendidas en un intervalo más estrecho. Es lógico que los buenos jugadores no quieran jugar con mucha aleatoriedad, sino que quieran demostrar su habilidad. Y que un mal jugador no pueda conseguir grandes puntuaciones a base de suerte.
12 distritos -> aleatoriedad 0 --> sin impacto
11 distritos -> aleatoriedad +1 --> reducción intervalo de puntos en 01 %
10 distritos -> aleatoriedad +2 --> reducción intervalo de puntos en 02 %
09 distritos -> aleatoriedad +3 --> reducción intervalo de puntos en 04 %
08 distritos -> aleatoriedad +4 --> reducción intervalo de puntos en 06 %
07 distritos -> aleatoriedad +5 --> reducción intervalo de puntos en 08 %
06 distritos -> aleatoriedad +6 --> reducción intervalo de puntos en 10 %
05 distritos -> aleatoriedad +7 --> reducción intervalo de puntos en 12 %
04 distritos -> aleatoriedad +8 --> reducción intervalo de puntos en 14 %
Es decir, para 8 distritos (por ejemplo), las puntuaciones estarían entre 3 y 97 puntos en lugar de entre 0 y 100. Para 4 distritos estarían entre 7 y 93 puntos.
De todas formas no me convence del todo, así que lo dejo ahí como idea. Ya he visto que Achiles tiene un sistema parecido, con el 0 en el 8 y acotando el intervalo para menos distritos y ampliándolo para más.
De esta forma, lo único que quedaría por meter sería g).
Hándicap (H): entre 0 y 7, es el número de jugadores de la partida que están por encima de ti en el ranking. De esta forma si eres el mejor será 0. Si tienes dos por encima será 2, ya sea la partida de 3 jugadores o de 8. Al final de la partida se contrasta el número de jugadores por encima con el hándicap, dando un diferencial. Jugadores por encima 3 (posición final 4) con handicap 5: diferencial +2. El diferencial de hándicap (DH) podrá tener por tanto un valor entre -7 y +7. Al final de la partida los puntos se verán corregidos a favor o en contra en función del DH. No debería repercutir mucho, sólo algo (de hecho casi lo pongo porque el sistema actual lo utiliza). Puede ser simplemente el porcentaje de puntos extra o penalizados. DH=+7 -> +7% puntos. DH=-3 --> -3% puntos. Así, si eres el peor situado en el ranking de los 8 jugadores de la partida y al final ganas, tienes un +7% bonus. Y si eres el mejor situado y al final quedas el último tienes un -7% penalización.
Retomando la segunda idea,
puntos = (1 + (DH / 100)) * (60 + (5 * NJ)) * [(NJ - PF) / (NJ-1)]
(al final sólo 3 factores determinan los puntos asignados en la partida: DH, NJ, PF)
Como en anteriores ideas, la posición en el ranking vendría dada por la media de puntos de todas las partidas corregida en base a la experiencia.
----------------------------------------------------------------------------------------------
Epílogo: esto no es el resultado de semanas de trabajo sino de un rato que me he puesto a darle al coco. Seguro que he pasado por alto cosas y que las ideas propuestas son mejorables. Aquí las dejo por si le pueden servir a alguien para algo.
agh