Las unidades estan en modo defender zona que cubre todo el territorio aliado hasta el rio.
Lógica
Si la unidad está en un punto de curación y su salud no es máxima:
->Nada
Si la unidad está en un punto de curación y su salud es máxima:
->Considerar 3. y 4.
Si la unidad está en fuera del rango del centro del terreno y no tiene GoTo
->GoToPasivo centro del terreno por camino seguro, margen de llegada alto.
-> Defender zona
Si la unidad está en en el rango del centro, no hay enemigos en el territorio y tiene asignado DefendZona:
-> GoToActivo cerca del punto, marge de llegada medio
-> Defender zona
Si la unidad está en el rango del centro, tiene poca vida y no GoTo
-> GoToPasivo camino seguro a punto de recuperar vida con margen pequeño
-> Defender zona con radio muy pequeño
Problemas
1 Todas las unidades es probable que vayan a atacar a la misma al defender la misma zona cogerán la primera que aparezca.
2 Si vienen unidades por el río normalmente no dará tiempo a interceptarlas antes de cruzar.
Posibles soluciones:
1.1 Puede controlarse cuantos aliados van a atacar a un enemigo e intentar solo atacar a aquellas unidades con menos de X aliados que la atacan. Pero esta límitado porque es una tarea, no pueden tomarse decisiones coordinadas.
1.2 La Capa 3 puede ser quien controle que enemigos entran en la zona y sea quien asigna en tiempo real los objetivos de las unidades aliadas.
2 Cuando no haya un objetivo a la vista pueden irse al río para prevenir la llegada de enemigos.
Opción 2
Descripción
Las capa 3 detecta clusters de enemigos y les manda el número apropiado de unidades disponibles como para destruirlo. También predice la llegada de enemigos por el puente y bloquea los puentes.
Métodos
Detección de clusters:
Cluster 1: Se coge un enemigo, se buscan sus vecinos no visitados y se marca enemigo como visitado. Se repite el proceso añadiendo los vecinos no visitados al cluster.
Cluster N: Repetir hasta que no queden enemigos en territorio aliado.
Asiganción de unidades a cluster:
Los clusters se recalculan cada N segundos y se asignan las unidades más cercanas.
N unidades atacar a cluster:
Opcion 1. Cada unidad se le da la orden de atacar a otra unidad del cluster.
Opcion 2. Todas las unidades se les manda un defender zona en el centro del cluster.
Lógica
[Las unidades con poca vida debería ir a curarse]
Obtener lista de clusters
Puntuarlos en función del número de aliados alrededor del cluster, ponderando la cercanía.
Restar a la ponderación el número de unidades del cluster. (para obtener el balance de fuerzas)
Ordenarlos por puntuación
Asignar a cada cluster el número mínimo de unidades para tener una pequeña ventaja.
5.1 Cada cluster coge la unidad más cercana a su centro
5.2 Está unidad se le ordena un atacar+follow al enemigo más cercano del clúster
Si quedan unidades restantes -> Coger el número de enemigos de cada clúster y normalizarlo para que sumen el número de unidades restantes.
6.1 Repetir 5.1
6.2 Si la relación de unidades mandas respecto a enemigos es muy alta -> Dejar de asignar.
Si la lista de clusters es nula o quedan unidades sin asignar
-> Mandar las unidades a algún puente con GoToPasivo
Opción 1
Descripción
Las unidades estan en modo defender zona que cubre todo el territorio aliado hasta el rio.
Lógica
Si la unidad está en un punto de curación y su salud no es máxima: ->Nada
Si la unidad está en un punto de curación y su salud es máxima: ->Considerar 3. y 4.
Si la unidad está en fuera del rango del centro del terreno y no tiene GoTo ->GoToPasivo centro del terreno por camino seguro, margen de llegada alto.
-> Defender zona
Si la unidad está en en el rango del centro, no hay enemigos en el territorio y tiene asignado DefendZona: -> GoToActivo cerca del punto, marge de llegada medio
-> Defender zona
Si la unidad está en el rango del centro, tiene poca vida y no GoTo -> GoToPasivo camino seguro a punto de recuperar vida con margen pequeño
-> Defender zona con radio muy pequeño
Problemas
Posibles soluciones:
Opción 2
Descripción
Las capa 3 detecta clusters de enemigos y les manda el número apropiado de unidades disponibles como para destruirlo. También predice la llegada de enemigos por el puente y bloquea los puentes.
Métodos
Detección de clusters:
Cluster 1: Se coge un enemigo, se buscan sus vecinos no visitados y se marca enemigo como visitado. Se repite el proceso añadiendo los vecinos no visitados al cluster. Cluster N: Repetir hasta que no queden enemigos en territorio aliado.
Asiganción de unidades a cluster:
Los clusters se recalculan cada N segundos y se asignan las unidades más cercanas.
N unidades atacar a cluster:
Lógica
[Las unidades con poca vida debería ir a curarse]
Si la lista de clusters es nula o quedan unidades sin asignar -> Mandar las unidades a algún puente con GoToPasivo
->poner en defender zona