Buenas...
Sigo trabajando, así que a la carga:
Intentemos que queden ya algunas cosas claras como habeis sugerido algunos:
Estas son ya cosas fijas que quiero implementar si mi cabeza hueca me da:
Liga Abierta
Englobará a los tres juegos: CMBO, CMBB y CMAK
Estos dos puntos anteriores son fijos y yo creo que ya no hace falta volver sobre ellos.
Ahora bien, el sistema de puntuación.
Las ideas aportadas son muy interesantes y yo creo que más o menos todos estamos pidiendo lo mismo.
Un sistema lo más justo posible.
El sistema en el que he estado trabajando (y que como ya digo es el mismo que usan los franceses de Appui-Feu) me parece que se adaptará perfectamente a nuestras necesidades.
Es un sistema diría 'Inspirado en el ELO'.
En el que varía mucho el resultado dependiendo de la clase de jugadores que se enfrentan entre si.
Se penaliza al jugador bueno que pierde contra uno de clasificación inferior. Pero la penalización no es muy alta y siempre es bueno que el jugador bueno no se confíe. Le motivará a jugar bien la posible perdida de puntos.
Cuanto más abajo esté el jugador contra el que pierda, más puntos perderá. (luego lo vereis más claro).
Consideraciones previas al sistema que quiero programar y utilizar en la
Liga abierta de Punta de Lanza.
ELO adaptado para CM.
Es más un sistema inspirado en el ELO, que no un sistema ELO.
Será un sistema en el que el factor de corrección es nulo y depende solamente de dos parámetros.
La diferencia de Ranking entre los dos jugadores y el tipo de Victoria obtenida.
La puntuación mínima de un jugador es y será siempre de:
1000 puntos. Nunca se podrá estar por debajo de esa puntuación por mucho que pierda ese jugador.
De esa manera se consiguen dos objetivos:
1)El jugador siempre tiene puntos que ofertar a los posibles oponentes.
2)El jugador siempre está en una situación base desde la que puede subir.
Los jugadores que vayan dejando de jugar se quedarán estancados o al final de la lista. Si llevan meses sin jugar se les podrá eliminar de la tabla sin problemas.
Voy a explicar por pasos y por ejemplos como funciona este sistema.
1er Paso:
Dependiendo de su puntuación en la Liga, ambos jugadores 'apostarán' un número de puntos.
Apuesta del Jugador A= Ranking A / Ranking B * 50
Apuesta del Jugador B= Ranking B / Ranking A * 50
Poniendo un ejemplo:
JugadorA: 1000 Puntos
JugadorB: 2000 Puntos
Si ambos jugadores se enfrentan, podemos calcular los puntos que cada uno apostará:
JugadorA= 1000/2000 * 50 => Jugador A apuesta en esta partida: 25 puntos.
JugadorB= 2000/1000 * 50 => Jugador B apuesta en esta partida: 100 puntos.
2º Paso:
La Apuesta de cada uno de los jugadores es multiplicada por el factor de victoria que depende de la victoria obtenida:
Victoria Total: 1.00
Victoria Mayor: 0.90
Victoria Táctica: 0.75
Victoria Menor: 0.65
Empate: 0.50
Supongamos que el JugadorA machaca al JugadorB. Victoria Mayor.
JugadorA: 25 * 0.90 = 22 (puntos apostados)
JugadorB: 100 * 0.90 = 90 (puntos apostados)
Como se puede apreciar el jugador que está mejor colocado en tabla, apuesta más que el que está peor posicionado.
3º Paso:
El ganador del juego gana la apuesta del perdedor.
Y el perdedor pierde su apuesta.
Si hay un empate, ambas apuestas son cambiadas.
De esa manera queda situado el Ranking:
JugadorA: 1000 + 90=1090
JugadorB: 2000 - 90= 1910
Al perder el JugadorA contra un oponente supuestamente inferior, pierde puntos, pero como podeis ver, no son demasiados.
Varios ejemplos:
1)Dos jugadores inexpertos:
JugadorNovelA: 1000 Puntos.
JugadorNovelB: 1000 Puntos.
Apuestas:
JugadorNovelA= 1000 / 1000 * 50 => JugadorNovelA apuesta: 50 puntos.
JugadorNovelB= 1000 / 1000 * 50 => JugadorNovelB apuesta: 50 puntos.
Resultado de la batalla:
1.1)Jugador A gana a Jugador B por Victoria Menor:
JugadorA = 50* 0.65 = 32.5 => 33 Puntos.
JugadorB= 50 * 0.65 = 32.5 => 33 Puntos.
El jugador A gana la apuesta del Jugador B (que en este caso coinciden ambas).
JugadorA = 1000 + 33 Puntos= 1033 Puntos.
El JugadorB pierde su propia apuesta:
JugadorB = 1000 - 33 = 967.
Como no puede haber puntuaciones por debajo de 1000 puntos, pues:
JugadorB= 1000 puntos.
//
1.2)Empatan:
JugadorA = 50 * 0.5 = 25
JugadorB= 50 * 0.5 = 25
Se intercambian las apuestas (que en este caso coinciden)
JugadorA = 1000 + 25 = 1025
JugadorB = 1000 + 25 = 1025
//
1.3)JugadorA pierde contra el JugadorB. Pongamos igual. Victoria menor.
JugadorA = 50 * 0.65 = 32.5 => 33 Puntos.
JugadorB = 50 * 0.65 = 32.5 => 33 Puntos.
El JugadorA pierde su propia apuesta:
JugadorA = 1000 - 33 = 967 => 1000
El jugadorB Gana la apuesta de su enemigo.
JugadorB = 1000 + 33 = 1033
1.3.1)JugadorA pierde contra el JugadorB. Victoria mayor:
JugadorA = 50 * 0.90 = 45 puntos
JugadorB = 50 * 0.90 = 45 puntos.
El JugadorA, pierde su propia apuesta:
JugadorA = 1000 - 45 = 955 => 1000
El jugadorB gana la apuesta del jugadorA
JugadorB = 1000 + 45 = 1045
Así que podemos ver la fluctuación de resultados dependiendo de la posición que ocupen en las tablas y el tipo de resultado que obtengan.
2)Jugador Nuevo en la Liga contra uno que ha jugado algunas partidas:
JugadorA: 1090 puntos.
JugadorB: 1000 puntos.
Apuestas:
JugadorA: 1090/1000 * 50 =>Apuesta de JugadorA = 54.5 puntos.
JugadorB 1000/1090 * 50 =>Apuesta de JugadorB = 45.87 puntos.
Resultados:
2.1)Gana el JugadorA por victoria táctica:
JugadorA = 54.5 * 0.75 => 40.87 => 41
JugadorB = 45.87 * 0.75 => 34.40 => 34
JugadorA, gana la apuesta del JugadorB
JugadorA = 1090 + 34 =1124
JugadorB, pierde su propia apuesta:
JugadorB = 1000 - 34 = 966 => 1000
//
2.2)Empatan:
JugadorA = 54.5 * 0.50 = 27.25 => 27
JugadorB = 45.87 * 0.50 = 22.93 => 23
Se intercambian las apuestas:
JugadorA = 1090 + 23 = 1113
JugadorB = 1000 + 27 = 1027
//
2.3)El JugadorA pierde por victoria Tactica:
JugadorA = 54.5 * 0.75 => 40.87 => 41
JugadorB = 45.87 * 0.75 => 34.40 => 34
Luego el JugadorA pierde su apuesta:
El jugadorB gana la apuesta del JugadorA
JugadorA = 1090 - 41 = 1049
JugadorB = 1000 + 41 = 1041
3)Un crack con uno de abajo de la tabla:
JugadorA = 2500 puntos
JugadorB = 1010 puntos
Apuestas:
JugadorACrack: 2500 / 1010 * 50 = 123.76
JugadorBNovel: 1010 / 2500 * 50 = 20.2
Resultados:
3.1)Gana el jugador A al jugador B por Victoria Mayor:
(caso más probable)
JugadorACrack: 123.76 * 0.90 = 111.384 => 111
JugadorBNovel: 20.2 * 0.90 = 18.18 => 18
El JugadorACrack gana la apuesta del JugadorBNovel:
JugadorACrack = 2500 + 18 = 2518
El JugadorBNovel pierde su apuesta: 1010 - 18 = 992 => 1000
Como se puede apreciar, el Jugador Crack no gana demasiados puntos por zamparte pezqueñines y el jugador de abajo, ha recibido rapapolvo, pero tampoco pierde demasiados puntos, por lo que es muy factible que quiera retar a la gente de arriba de la tabla.
//
3.2)Empatan
(Situación menos probable, pero factible).
JugadorACrack: 123.76 * 0.50 = 61.88 => 62
JugadorBNovel: 20.2 * 0.50 = 10.1 => 10
Los jugadores intercambian sus apuestas:
JugadorACrack = 2500 + 10 = 2510
JugadorBNovel = 1010 + 62 = 1072
//
3.3)Gana el JugadorBNovel por Victoria Menor
(el caso más improbable).
JugadorACrack: 123.76 * 0.65 = 80.44 => 80
JugadorBNovel: 20.2 * 0.65 = 13.13 => 13
El jugadorACrack pierde su apuesta. El JugadorBNovel gana la apuesta del JugadorACrack:
JugadorACrack= 2500 - 80 = 2420
JugadorBNovel= 1010 + 80 = 1090
Bueno.
Pues este es el sistema que quiero implementar.
Ya estoy trabajando en ello.
Creo que se adapta a nuestros requerimientos y necesidades actuales.
Otros puntos.
Que otras partidas en otros eventos cuenten para este sistema.
Pues si logro implementar este sistema, supongo que no habrá ningún problema....
Pero supongo que solo podrán ser cuando ambos usuarios estén registrados en la Liga Abierta, ya que si no, podría inventarme unos cuantos resultados contra mi amigo invisible.
¿Cuando y como se registran las partidas?
Estoy pensando en crear dos formularios en la Web.
Uno para registro de partidas y otro para envío de resultados.
Lo primero y fundamental será que ambos oponentes se pongan de acuerdo y luego uno de ellos registra la partida en la Web.
Cuando la acaben, la validan y se suben los resultados a las tablas.
Mis puntos y los puntos de mi oponente, ¿antes o despues?.
Para las apuestas se cogerán los puntos que ambos tienen al iniciar el combate.
Ya que si no, uno de los dos podría registrar una partida terminada y el cálculo sería diferente.
se que se me queda alguna cosilla en el tintero, pero de momento teneis para ir pensando y yo para currar a base de bien.
Solo espero que tanto plan tan chulo sea capaz de programarlo...
Aunque tiemblo solo de pensarlo.....
¿No os parece?.
saludos,
