Foro especializado en Warcraft III y su editor
 
BuscarEntrar al ChatboxPortal del foroÍndiceSpellsRegistrarseConectarse
Eventos Actuales
¡ Bienvenido Invitado !

Editar Perfil

Tus temas
Tus Mensajes ()

Enlaces rápidos








Comparte
 

 Ai andar en grupo

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Kurookami
Soldado
Kurookami


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 61
Reputación Reputación : 0
Monedas de oro : 191
Monedas de Platino : 0 Ai andar en grupo Empty

Inventario :
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10

Ai andar en grupo Empty
Mensaje(#) Tema: Ai andar en grupo Ai andar en grupo Clock10Lun Jun 24, 2019 2:43 pm

Buenas, como dice la descripción, estoy en proceso de crear una Ai con detonadores (Aos) pero aún es muy estúpida xd va y se lanza a la torre, cuando tiene poca vida regresa a la base pero en el proceso la torre ya le quitó mucha vida y en muchas ocaciones hasta mata al pobre Ai, entonces tengo claro lo que quiero que haga, que no vaya a atacar sola (detecte en un rango si tiene unidades o héroes aliados pero solo si es de nivel bajo porque en nivel 25 destruye cualquier torre sin morir) y que si es de nivel bajo y lo ataca la torre enemiga, que salga del rango de la torre. Agradecería mucho que me dieran alguna base, solo unas pistas, y yo haré lo demás, gracias de antemano.
Volver arriba Ir abajo
Marcos_M

Marcos_M


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 3307
Reputación Reputación : 588
Monedas de oro : 10302
Monedas de Platino : 0 Ai andar en grupo Empty

Inventario :
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10

Ai andar en grupo Empty
Mensaje(#) Tema: Re: Ai andar en grupo Ai andar en grupo Clock10Lun Jun 24, 2019 4:45 pm

Tienes un detonador bucle desde el cual tu AI toma sus decisiones?
Volver arriba Ir abajo
Kurookami
Soldado
Kurookami


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 61
Reputación Reputación : 0
Monedas de oro : 191
Monedas de Platino : 0 Ai andar en grupo Empty

Inventario :
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10

Ai andar en grupo Empty
Mensaje(#) Tema: Re: Ai andar en grupo Ai andar en grupo Clock10Lun Jun 24, 2019 5:46 pm

Si, pero no es tan eficiente ya que a veces se traba porque uso el mismo temporizador para las diferentes acciones, cómo podría mejorarlo?
Volver arriba Ir abajo
Marcos_M

Marcos_M


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 3307
Reputación Reputación : 588
Monedas de oro : 10302
Monedas de Platino : 0 Ai andar en grupo Empty

Inventario :
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10

Ai andar en grupo Empty
Mensaje(#) Tema: Re: Ai andar en grupo Ai andar en grupo Clock10Lun Jun 24, 2019 6:13 pm

Si no lo veo, no te puedo marcar los cambios que deberias hacer
Volver arriba Ir abajo
Kurookami
Soldado
Kurookami


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 61
Reputación Reputación : 0
Monedas de oro : 191
Monedas de Platino : 0 Ai andar en grupo Empty

Inventario :
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10

Ai andar en grupo Empty
Mensaje(#) Tema: Re: Ai andar en grupo Ai andar en grupo Clock10Mar Jun 25, 2019 1:29 am

Mi lap no tiene internet así que solo podré enviar la info por fotos
Volver arriba Ir abajo
Kurookami
Soldado
Kurookami


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 61
Reputación Reputación : 0
Monedas de oro : 191
Monedas de Platino : 0 Ai andar en grupo Empty

Inventario :
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10

Ai andar en grupo Empty
Mensaje(#) Tema: Re: Ai andar en grupo Ai andar en grupo Clock10Mar Jun 25, 2019 1:32 am

Ai andar en grupo 20190610
Ai andar en grupo 20190611
Volver arriba Ir abajo
Marcos_M

Marcos_M


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 3307
Reputación Reputación : 588
Monedas de oro : 10302
Monedas de Platino : 0 Ai andar en grupo Empty

Inventario :
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10

Ai andar en grupo Empty
Mensaje(#) Tema: Re: Ai andar en grupo Ai andar en grupo Clock10Mar Jun 25, 2019 12:02 pm

Podrías pasar un archivo de texto de tu laptop a tu celular con los detonadores así copies el texto directamente. (Si no sabes copiar un detonador como texto, debes ir al nombre del detonador que está arriba de "Acontecimientos", hacer click derecho y luego la opción copiar como texto)

Pero ya sé como lo tienes al menos, y lo mejor para una AI es trabajar todas las decisiones desde un mismo detonador, así te aseguras que no hay 2 detonadores al mismo tiempo diciendole que hacer a la AI, y controlas mejor las ordenes, porque como ya sabes, si tiras ordenes muy rápido, el héroe se empieza a volver loco.

Un arbol de decisiones se ve algo así:
[gui]AI DECISION TREE
   Acontecimientos
   Condiciones
   Acciones
       Custom script:   local real x
       Custom script:   local real y
       Set Entero = (Point-value of Heroes[ID])
       Set Punto = (Position of Heroes[ID])
       Set Punto2 = (Position of Vagoneta)
       -------- AI_DECISION = 0 ==> Fase inicial del juego --------
       -------- Los atacantes priorizan empezar a mover la carga --------
       -------- Los defensores priorizan mantenerse juntos --------
       -------- AI_DECISION = 1 ==> Pelear --------
       -------- AI_DECISION = 2 ==> Reagrupar --------
       -------- AI_DECISION = 3 ==> Retirada --------
       -------- AI_DECISION = 4 ==> "Idle" --------
       -------- ----------------------------------------------------------------- --------
       -------- Valor de Punto: Lo uso para determinar el posicionamiento general del héroe --------
       -------- 1 = Frontline, prioriza capturar el objetivo --------
       -------- 2 = Melé, prioriza el objetivo pero evita pelear contra los números --------
       -------- 3 = Rango ofensivo, prioriza estar a rango máximo del enemigo más cercano --------
       -------- 4 = Rango defensivo, prioriza usar sus hechizos sobre aliados --------
       Set GrupoAtacante = (Units within 1200.00 of Punto matching ((((Matching unit) is Un héroe) Igual a (==) True) and (((Matching unit) belongs to an enemy of (Player(ID))) Igual a (==) True)))
       Set GrupoDefensor = (Units within 1200.00 of Punto matching ((((Matching unit) is Un héroe) Igual a (==) True) and (((Matching unit) belongs to an enemy of (Player(ID))) Igual a (==) False)))
       Grupo de unidad - Remove Heroes[ID] from GrupoDefensor
       Set Real = 999999.00
       Set Real2 = 999999.00
       Set Real3 = (Distance between Punto and Punto2)
       Grupo de unidad - Pick every unit in GrupoAtacante and do (Actions)
           Bucle: Acciones
               Set Punto3 = (Position of (Picked unit))
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       (Distance between Punto and Punto2) Menor que (<) Real
                   Entonces: Acciones
                       Set Real = (Distance between Punto and Punto2)
                       Set EnemigoCercano = (Picked unit)
                   Otros: Acciones
               Custom script:   call RemoveLocation(udg_Punto3)
       Grupo de unidad - Pick every unit in GrupoDefensor and do (Actions)
           Bucle: Acciones
               Set Punto3 = (Position of (Picked unit))
                Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                   Si: Condiciones
                       (Distance between Punto and Punto3) Menor que (<) Real2
                   Entonces: Acciones
                       Set Real2 = (Distance between Punto and Punto3)
                       Set AliadoCercano = (Picked unit)
                   Otros: Acciones
               Custom script:   call RemoveLocation(udg_Punto3)
            Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
               Si: Condiciones
                   (Abs(((Number of units in GrupoAtacante) - (Number of units in GrupoDefensor)))) Menor que (<) 1
               Entonces: Acciones
                    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                       Si: Condiciones
                           Real3 Menor que (<) 1200.00
                           Real3 Mayor que (>) 500.00
                       Entonces: Acciones
                           Set AI_Decision[ID] = 0
                           Set AI_WaitDecission[ID] = 2.50
                       Otros: Acciones
                            Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                               Si: Condiciones
                                   Real3 Mayor que (>) 1200.00
                               Entonces: Acciones
                                   Set AI_Decision[ID] = 2
                                   Set AI_WaitDecission[ID] = 3.00
                               Otros: Acciones
                                   Set AI_Decision[ID] = 1
                                   Set AI_WaitDecission[ID] = 6.00
               Otros: Acciones
                    Multiple FunctionsIf (All Conditions are True) then do (Then Actions) else do (Else Actions)
                       Si: Condiciones
                           (Number of units in GrupoDefensor) Menor que (<) 1
                       Entonces: Acciones
                           Set AI_Decision[ID] = 2
                           Set AI_WaitDecission[ID] = 3.00
                           Set AI_PriorisizedUnit[ID] = AliadoCercano
                       Otros: Acciones
                           Set AI_Decision[ID] = 0
                           Set AI_WaitDecission[ID] = 6.00
       Custom script:   call DestroyGroup(udg_GrupoAtacante)
       Custom script:   call DestroyGroup(udg_GrupoDefensor)[/gui]

Este detonador no contiene ninguna acción real para la AI, solamente es su siguiente decisión, pero igualmente puedes colocar acciones ahí en vez de mis Set AI_Decision[ID]

En mi detonador el objetivo de esta AI es cubrir el objetivo que es "Punto", y la variable Real3 me indica la distancia entre el punto objetivo y el bot par ordenarle acorde, mi bot tratará de ir al objetivo siempre que esté cerca de un aliado, y evitará las peleas en desventaja, y una vez esté sin aliados cercanos, buscará el aliado más cercano sin importar su lejanía y se agrupará con el.
Volver arriba Ir abajo
Kurookami
Soldado
Kurookami


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 61
Reputación Reputación : 0
Monedas de oro : 191
Monedas de Platino : 0 Ai andar en grupo Empty

Inventario :
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10

Ai andar en grupo Empty
Mensaje(#) Tema: Re: Ai andar en grupo Ai andar en grupo Clock10Jue Jun 27, 2019 4:46 pm

Gracias marcos ya tengo una base, pero es la primera vez que veo point-value, para qué sirve?
Volver arriba Ir abajo
Marcos_M

Marcos_M


Barra de Salud : Su salud está al 100% - Este usuario no ha recibido infracciones

Mensajes Mensajes : 3307
Reputación Reputación : 588
Monedas de oro : 10302
Monedas de Platino : 0 Ai andar en grupo Empty

Inventario :
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10
Ai andar en grupo Empysl10 Ai andar en grupo Empysl10 Ai andar en grupo Empysl10

Ai andar en grupo Empty
Mensaje(#) Tema: Re: Ai andar en grupo Ai andar en grupo Clock10Vie Jun 28, 2019 11:05 am

Ohh, eso. Me olvidé de quitarlo para el ejemplo. En mi AI uso el point value para determinar el rol de la unidad, así dependiendo del point value, la AI hace diferentes decisiones.

El point value se configura desde el editor de objetos en Estadísticas - Valor de punto
Es un numerito que puedes modificar si alguna vez necesitas
Volver arriba Ir abajo
Contenido patrocinado




Ai andar en grupo Empty
Mensaje(#) Tema: Re: Ai andar en grupo Ai andar en grupo Clock10

Volver arriba Ir abajo
 

Ai andar en grupo

Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.

 Temas similares

-
» ¿por qué lo de ANDAR DESCALZA POR LA CALLE TIENE EL SIGNIFICADO FAMOSO DE QUE ESTAS PIDIENDO PROMESAS?
» ¡Grupo Montañero!
» Heifervescent
» Xros Loader
» Presentación Congreso Septiembre-Octubre 2012 (Ley de Compromiso de los Congresistas)

Permisos de este foro:No puedes responder a temas en este foro.
Warcraft III - WorldEditor :: Zona de Aprendizaje(Dudas) :: General-