Buscar
Social
Ofertas laborales ES

Foro de la JavaCup > Resultados de la liguilla

Bueno amigos,

Escribo este post con ciertos sentimientos encontrados, ya que en el fondo sabía que tenía un equipo para dar mucho mas...

Lastima que las cosas no se dieron.

A continuación dejo los resultados de la liguilla previa al torneo (La pueden encontrar en la clase Torneo del nuevo proyecto )

TacticaRomedalusTeam,//32 puntos.
Masia,//32 puntos.
HortalezaBlamers,//31 puntos.
ChimuelosTactic,//28 puntos.
Sistemitas,//28 puntos.
Chelsea,//28 puntos. (descalificado por ser copia identica del campeon 2011)
Millos,//26 puntos. (descalificado por ser copia identica del campeon 2011)
Iria,//25 puntos.
TacticaPulgarcitos,//24 puntos.
tactica.TacticaTiquiTacaTeam,//23 puntos.
Frioleros,//23 puntos.
Team2312,//22 puntos.
Tactica,//21 puntos.
TElResultaoDaIgual,//20 puntos.
SanMarinoEvolution,//18 puntos.
NewTeam,//18 puntos.
LosJavatos,//17 puntos.
Mijarojos,//17 puntos.
MoleTeam,//13 puntos.
Tactica,//13 puntos.
SRH,//12 puntos.
Arsenal4,//11 puntos.
RealVencedoresJuego,//11 puntos.
Pringaos2012,//11 puntos.
Manada,//11 puntos.
Junior,//8 puntos.
Artenara,//7 puntos.
lacras,//7 puntos.
RChavarriaTactic,//7 puntos.
Petardos,//5 puntos.
Pequeo,//4 puntos.
Sotilezos,//3 puntos.
Celta,//3 puntos.
tomates,//2 puntos.


Att,

Romedalus Team DT

marzo 27, 2012 | Unregistered CommenterRoland

Buenas, gracias Ronald xD... efectivamente ese el resultado de la liguilla previa. Suerte para la próxima...

En la sección de downloads están actualizados los enlaces para descargar la ultima versión incluidas las tácticas 2012.

Saludos.

marzo 28, 2012 | Registered Commenterfabnun

Hola, esa versión incluye los cambios comentados en el foro (cansancio y fuera de juego)?

Bueno, al menos no hubo sorpresas con los premiados, fueron los cuatro primeros de la Liguilla...
Saludos.

marzo 28, 2012 | Unregistered Commenterosorio

Hola Karel, esta versión es la que se ocupo para ejecutar el torneo, no tiene los cambios que esta implementando Victor, quien me ha comentado que ya están casi listos:

Los cambios realizados son los siguientes:
* Implementación del fuera de juego.
* Mantener una distancia mínima de separación durante los saques.
* Aceleración que influye en la velocidad del jugador. La aceleración varia cuando el jugador cambia su dirección, siendo más pronunciada su variación cuando varía en el eje Y.
* Energía de los jugadores que influye en la velocidad, potencia de disparo y error del jugador, la cual se decrementa cada vez que el jugador ejecuta un comando, limitandola a 0.5 para evitar que el juego se ralentice demasiado.
* Posibilidad de sprintar de modo que un jugador incremente su velocidad a costa de un consumo de energía mayor. Para poder sprintar es necesario tener un mínimo de energía.

Saludos.

marzo 28, 2012 | Registered Commenterfabnun

Hola Fabián, me parecen muy bien todos estos cambios aunque creo que ahora veremos muchos goles en los partidos.

He realizado algunas simulaciones de disparos a puerta con resultados sorprendentes:

Distancia V.Max P. Gol P.Gol(mod)
52.5--------1.4695--------0.2099--------0.0424
47.5--------1.4833--------0.2119--------0.0457
42.5--------1.5568--------0.2224--------0.0673
37.5--------1.6106--------0.23 --------0.0884
32.5--------1.6716--------0.2388--------0.1191
27.5--------1.7514--------0.2502--------0.1729
22.5--------1.7923--------0.256 --------0.208
17.5--------1.7938--------0.2562--------0.2094
12.5--------1.8607--------0.2658--------0.2806
7.5-------- 1.924 --------0.2748--------0.3667
2.5-------- 1.9677--------0.2811--------0.4389

La primera columna es la distancia a puerta del disparo, la segunda es la velocidad máxima con que llega el disparo a la puerta (consideré 60 ángulos verticales), la tercera es la probabilidad de gol, asumiendo que solo el portero puede atrapar el balón (en la última iteración antes del gol) y la cuarta columna es también la probabilidad de gol pero usando una fórmula diferente a la actual (luego explicaré).

Resulta sorprendente como al diferencia entre la velocidad que se logra disparando desde 52.5 metros (centro del campo) no difiere tanto (al menos no como la lógica indica) de la que se obtiene desde 2.5 metros. Consecuentemente tampoco hay mucha diferencia entre la probabilidad de gol, entonces ¿para qué intentar llegar al área si tengo casi la misma probabilidad de gol disparando desde 40 metros que desde 10 metros?

Quizás una solución simple, sería modificar la forma en que se calcula la probabilidad de golpear el balón, la que actual es (7d - speed) / 7d, y lo que propongo es algo así como: 1 - 0.5*Math.pow(Math.min(speed/2d, 1), 8). La cuarta columna muestra la probabilidad de gol usando esta fórmula, así se premiarían los disparos más cercanos a puerta con una mayor probabilidad de gol. En general cualquier fórmula que ayude a lograr esto podría servir....

Saludos.

marzo 28, 2012 | Unregistered Commenterosorio

Yo directamente eliminaría la probabilidad del portero, al menos por ejemplo cuando pases unas 2 iteraciones desde el golpeo.

Cuando se vean los cambios efectuados por el efecto de la aceleración, se podría implementar un comando tirarse para los porteros y limitar el movimiento de estos si se desplazan perpendicularmente al sentido al que están mirando. De esta forma un portero dentro de la portería no llegaría de un palo a otro con mucha velocidad a no ser que se tire

marzo 28, 2012 | Unregistered CommenterChr

Buenas, de acuerdo con las modificaciones sugeridas, de alguna manera hay que disminuir la probabilidad de gol en tiros desde lejos. Pero, hay que probar que efecto tendría, porque así tal vez los jugadores que no tienen mucha potencia de remate disminuyen mucho sus posibilidades de anotar gol.

Saludos.

marzo 28, 2012 | Registered Commenterfabnun

Sí, es cierto, el análisis que hice fue solo para jugadores de potencia de remate igual a 1. Seguiré pensando otras variantes...
Saludos.

marzo 29, 2012 | Unregistered Commenterosorio

Tal vez bastaría con aumentar el error del portero en relación a dos factores:
- La velocidad.
- La distancia.

Ahora mismo solo se tiene en cuenta la velocidad, pero se puede añadir un factor distanciaDisparo al calculo de la probabilidad del portero. Creo que con eso ya bastaría para conseguir lo propuesto por osorio.

La verdad que fastidia mucho cuando llegas a puerta 7 veces y no consigues marcar gol, y el contrario desde el medio campo dispara y te hace gol estando tu portero bien situado :(. Supongo que todos hemos sufrido esa decepción más de una vez. ;D

De paso aprovecho para comunicaros que ya tengo los cambios listos, ya solo queda que entre todos hagamos las pruebas necesarias para comprobar que todo funciona correctamente y opinar sobre qué valores asignarles a las constantes siguientes:

/**Tasa de incremento y decremento de la energia de un jugador**/
public static final double ENERGIA_DIFF = 0.00001;

/**Nivel minimo al que puede bajar la energia de un jugador**/
public static final double ENERGIA_MIN = 0.55;

/**Aceleración minima de un jugador al hacer un cambio de direccion en el eje Y**/
public static final double ACELERACION_MINIMA_Y = 0.70;

/**Aceleración minima de un jugador al hacer un cambio de direccion en el eje X**/
public static final double ACELERACION_MINIMA_X = 0.9;

/**Incremento de la aceleracion en cada iteraccion si no se cambia de direccion**/
public static final double ACELERACION_INCR = 0.04;

/**Incremento de la velocidad en sprint**/
public static final double SPRINT_ACEL = 1.2;

/**Energia minima para poder ir en sprint**/
public static final double SPRINT_ENERGIA_MIN = 0.8;

/**Energia extra consumida por ir en sprint**/
public static final double SPRINT_ENERGIA_EXTRA = 0.002;

Os recomiendo que bajeis algunos ceros más la ENERGIA_DIFF para que el cansancio no afecte a los jugadores y así podáis jugar con la Aceleración.

Una vez que estéis conforme con los valores de aceleración probad con la energía. Tenéis que recordar que para que vuestros jugadores recuperen energía no deben ejecutar ningún comando en la iteracción.

Y finalmente probad el sprint. Para ejecutar el sprint he creado un nuevo constructor para el CommanMoveTo al que se le añade como tercer argumento un boolean sprint. True significa que el jugador ejecutará el sprint en esa iteracción con lo que consumira más energía y aumentará su velocidad.

Otra idea que se me ocurre sería modificar el error de los jugadores según lo siguiente if ((tacticaDetalle.getTacticName() == "La Masia") || (tacticaDetalle.getTacticName() =="Los Pulgarcitos") error = 100%. :D

A ver si así los demás podemos hacer algo el año que viene ;)

Ah, se me olvidaba, hay veces que los partidos se me han quedado bloqueados, la verdad es que es algo que sucede rara vez y no logro que se repita para comprobar a que se debe, si a alguno le pasa fijaros en que condiciones sucede, para ver si así podemos subsanar el error.

Saludos.

marzo 29, 2012 | Unregistered CommenterVictor

Ah, se me olvido decir que todavía no están subidos al servidor pero ya os avisaré cuando estén listos para la descarga.

marzo 29, 2012 | Unregistered CommenterVictor