Variadito de Febrero


Os dejo otra tanda de tareas que he ido haciendo de esta semana. Añado tambien algunas que se han hecho semanas atras pero que con lo de la caida del servidor se perdieron. Es probable que se mezclen porque no tengo la fecha en que se realizó cada cosa. Tampoco es importante. Igual alguna la repito por este motivo. Sorry.

* Integración de la pantalla de tácticas

No ha cambiado nada en la forma, ya que todavía está muy básica. Ahora mismo se pueden situar los jugadores en sus posiciones defensiva y ofensiva y tambien por cada zona del campo , Réplica de relojes omega podemos especificar un monton de directrices y ordenarlas por la prioridad que queramos darle.

Esto no es nuevo, porque ya lo hacía estos meses atras, pero solo estaba programada la parte que codificaba la tactica creada y la preparaba para mandarla al simulador para poder ir haciendo pruebas de enfrentamiento de sistemas tácticos.

Bien, estos dias, he programado la parte que permite cargar dichos codigos de directrices y posicionamiento de los jugadores en el flash que constituirá la pantalla de tácticas. Es decir, antes solo podía generar la tactica y leerla desde el simulador, pero no podia guardarla. Ahora podemos cargar externamente cualquier tactica creada con este mismo flash.

Ni que decir tiene la cantidad de tiempo que me va a ahorrar esto para hacer los cientos de miles de pruebas que tienen que ir pasandose.

* Solucionando errores

-Cuando el defensa cedía el balón a su portero erroneamente lo estaba contando como una ocasión del rival, incluso el público decía UY!. No estaba detectando que era de su propia equipo.

* Mas inteligencia en ataque

Hablaré mucho sobre mejoras de este tipo en adelante. Me he dado cuenta que los jugadores hacían excesivos pases estando en zonas de mediapunta y en ocasiones retrasaban el balón, cuando lo mas lógico sería encarar al portero si tiene espacio para progresar. De modo que si un jugador recibe un pase en posición favorable, ya no devuelve la pared que se había iniciado sino que se da la vuelta y avanza hacia la portería.
Nota: Lo de que se da la vuelta os lo teneis que imaginar un poco, porque no hay recurso gráfico para hacer ese tipo de cosas.

* Efecto imán

Se ha mejorado el movimiento de los jugadores de un mismo equipo. Digamos que ahora se repelen un poco entre si para no ocupar las mismas posiciones y evitar esa sensación de apelotonamiento tan tipica hace un par de meses.

* Error en saque de portería

El saque poltergeist del otro dia venía generado por otro error encubierto, que tambien producía que al sacar, sacase de portería a portería.

* Desajuste de goles

Creo que esto lo comenté o en parte el ultimo dia. Como consecuencia del desajuste que había en la actualización de las estadisticas, los marcadores no se actualizaban correctamente por ejemplo al marcarse un gol, sino que tardaba un rato en hacerlo.
Se mejoran tambien algunos códigos que se generan que faltaban por hacer, de modo que podria darse el caso de que un jugador metiese dos goles con un tiro. Eso si que es matar dos pájaros de un tiro

* Mas mejoras en robo

La enésima y nunca última mejora en este sentido. Cuando uno la roba, circula con el balón un poco para dar limpieza a las jugadas, blablabla. Ya lo he comentado varias veces, pero hay que seguir actualizando y mejorando este punto.

* Extremo sin ordenes

No funcionaba del todo bien. Esto si era un error, no es que estuviese pendiente de hacerse, como casi todo lo que escribo. Tenía defectos y por eso el extremo no hacía lo que se le indicaba en todos los casos. Por ejemplo en la directriz "Enviar el pase al area chica", no lo hacia y por defecto se me iba a la linea de fondo.

* Mejoras varias en la IA

Mas mejoras en la velocidad de reproducción, análisis de riesgo y estado de las jugadas, inteligencia para saber cuando retroceder estando en minoría,etc. Un poco mas de lo mismo.

* Error laterales

Los centrales cuando les indicaba abrir el juego a las bandas, lo hacian casi siempre hacia el lado derecho.

* Mejora interfaz de desarrollo
replica watches
Hace tiempo añadí una mejora en la interfaz que nos permitirá desactivar el pintado de las matrices que contienen las zonas de influencia de cada jugador. Esto en la herramienta que simula los partidos paso a paso , era un poco pesado, si tenias que avanzar hacia adelante en el partido. Ahora con esto, va mucho mas rapido y podemos procesar paso por paso mas comodamente.

Se incluyen tambien comentarios punto por punto de todas las acciones y estados y en el orden en que se suceden. Cada segundo que veis de partido está procesando internamente 20 pasos diferentes, comprobaciones y acciones de todo tipo, que para el que desarrolla el juego, se hace necesaria una forma de poder ver comodamente como se van desarrollando dichos pasos para que al finalizar ese segundo de partido, todo esté en su punto y todos los jugadores y eventos del partido se hayan desarrollado correctamente.

* Numero de acciones por segundo

Cada segundo, se tienen que generar un numero de sucesos diferentes y ordenados. Habia un limite reducido de acciones que se podian hacer. Como el juego se va haciendo mas complejo, he tenido que ampliar ese numero maximo de acciones. No se ha notado en el rendimiento y tampoco ha sido significativo en el tamaño de los archivos de los partidos.

* Calculo sobre areas

Creo que ya lo comenté pero no se si se perdió. Hay algunos cálculos que se hacen al calcular cada partido, pero hay otros que son comunes a todos los partidos por lo que valdria con calcularlos una sola vez. Bien , este es el caso de todos los calculos de inicio de cada partido sobre las areas. Al ser comunes, los he sacado fuera de cada partido y eso que nos ahorramos.

* Propiedad de equipo

Es un tema de código con escaso interes, pero lo comento porque es un tiempo invertido en ello. El tema ha sido añadir la propiedad campo al objeto Equipo. No son estas palabras pero para que se entienda. Es algo que tenia que haber hecho mucho tiempo antes, pero por pereza lo he ido dejando hasta que ya he visto que estaba siendo usado incorrectamente en mas de 100 puntos del código y he claudicado a mi mismo, poniendolo como debe estar. Con una propiedad facil de acceder, y no enrevesado dando mil vueltas para hacer lo mismo.

* Funciones de posición relativa

SIguiendo con tareas de codigo. Las pongo aqui abajo porque no son interesantes y no creo que mucha gente haya leido hasta aquí. He creado unas funciones que detectan y/o devuelven posiciones relativas a un punto dado en una dirección dada. Asi puedo saber rapidamente si Cristiano está delante de Abidal en el sentido del ataque de Cristiano. Tambien hay funciones para las demas direcciones.

* PAse de la muerte

Esto lo programé hace un mes, pero era un fragmento de código dentro de las acciones del delantero. Ahora lo he extraido como una función independiente. Mas limpito.

* Error en pase doble

Se daba el caso en que un jugador daba un pase y en el mismo segundo daba otro segundo pase a otro lado, anulando el primero. Un problema en el control de flujo de las acciones del partido.

* Problema autogol

Solucionado un caso en que cuando un defensa entraba en duda y no sabía como reaccionar porque ninguna de las directices del usuario eran válidas, retrasaba el balón al portero a veces metiendo autogol. No es que se deban prohibir los autogoles, pero es que tal como quedaban representado, era muy feo , muy feo. Asi que fuera.

* Mejoras en la recolocación

Mas mejoras para evitar que un jugador se desmadre excesivamente de su posición sin estar involucrado en la jugada.

* Mas acciones desde atras

Desde la franja defensiva central y zona MCD, ya se pueden indicar al jugador que juegue el balón hacia adelante. No estaba habilitado aun.

* Mejoras matriz ocupación

Es una matriz que indica la posición y zonas de influencia de cada jugador. Ahora se evalua de otra forma y mas regularmente. Hace que tarde un poco mas la simulación, pero es que si no, pueden darse jugadas raras porque no se detecten ciertos movimientos.
Tambien arreglo un error que tenia, donde me mandaba jugadores fuera de banda.

* Estados de partido

Se añadieron hace tiempo nuevos estados de partido y evaluación de situaciones de riesgo. Ahora detectan mejor si tienen un nivel de presión rival en zona defensiva propia alto o bajo y modifica el tipo de juego y las precauciones a tomar. Por ejemplo. UN central solo, con todos sus compañeros por delante y siendo presionado por varios rivales, no se pone a lanzar paredes o pases cortos sino que la manda a la porra hacia adelante y se quita de problemas.

* Mas código

Ya esto es inexplicable. Hay que hacer tareas de funciones internas. Hay muchas pero comento alguna suelta como una función que me devuelve la posición de un jugador pero vista desde el punto de vista del contrario. Es decir, si el Nº4 esta en la zona central del equipo que ataca, estará en la zona de ataque del equipo que defiende.
De estas hay muchas. Es lo que mas, y no son muy contables. Me puedo tirar como hoy media noche escribiendo post y casi será mejor que me vuelva al editor de desarrollo y siga haciendo le juego.



Espero no haberos aburrido demasiado. En proximas entregas, ya irán los post mas cortitos. Aqui habia cosas pendientes de mediados de Enero. Saludos a todos