|
|
| Inteligencia Artificial Simulada o “Los perros de Pavlov” | |
| | Autor | Mensaje |
---|
ErichZann Moderador
Reputación : 334 Mensajes enviados : 1414 Premios :
| Tema: Inteligencia Artificial Simulada o “Los perros de Pavlov” Lun Ago 29, 2011 5:45 pm | |
| Gracias a una duda que me soluciono elpupas7, pude terminar un experimento que estaba haciendo.
Acá les dejo el resultado:
Es una forma de inteligencia artificial, o mejor dicho, de simularla… Los enemigos no son muy “brillantes” que digamos, pero siguen una suerte de “Estímulo-Respuesta” o “Reflejo Condicionado”, o sea, más que enemigos son una especie de “Perros de Pavlov”.
Bueno, dejo de divagar, para que los enemigos (copias de un mismo Active) no hagan lo mismo, al mismo tiempo, uso un “Alterable Value” que toma 2 valores posibles al azar y dos “Alterable String”, uno que cambia según la distancia y otro donde indico la acción a realizar (Respuesta), según sean el “Alterable Value” al azar y el otro “Alterable String” (Estímulo).
Ejemplo I.A./E-R
Es bastante fácil de seguirlo y está comentado, Bueno, me dicen que les parece…. Saludos!!
| |
| | | elpupas7 Administrador
Reputación : 1243 Mensajes enviados : 3982 Premios :
| Tema: Re: Inteligencia Artificial Simulada o “Los perros de Pavlov” Lun Ago 29, 2011 10:22 pm | |
| Me lo he bajado, pero hoy no lo veré, pues es demasiado tarde. Pero te pongo esto a modo de previo. ------- Cuando se dota a un objeto de una cierta "inteligencia", esta "inteligencia" es siempre simulada. Por eso hablamos de "inteligencia artificial". En muchas ocasiones se hace a través de condiciones y respuestas a esas condiciones, por lo que es bastante correcto lo que dices.
En tu ejemplo hay demasiados enemigos que impiden ver su comportamiento ... Pero ... esto es sólo una primera impresión ... | |
| | | ErichZann Moderador
Reputación : 334 Mensajes enviados : 1414 Premios :
| Tema: Re: Inteligencia Artificial Simulada o “Los perros de Pavlov” Lun Ago 29, 2011 10:32 pm | |
| Si, claro, tenés razón, es que no quería sonar muy pretencioso y de paso hacer un chiste, pero como ves….. El humor no es lo mío. Lo de los enemigos, lo había notado, en el frame 2 solo crea hasta 6 y podés destruirlos al azar con la tecla “M”. También podés cambiar ese 6, en los eventos, para que sean menos. Bueno, gracias por verlo y comentar, espero más feedback de tu parte cuando tengas tiempo de revisar el código…
Saludos!! | |
| | | elpupas7 Administrador
Reputación : 1243 Mensajes enviados : 3982 Premios :
| Tema: Re: Inteligencia Artificial Simulada o “Los perros de Pavlov” Lun Ago 29, 2011 11:51 pm | |
| Lo acabé viendo ... a las 4:40 de la mañana !!! ----------- En cuanto al funcionamiento, hace lo que tiene que hacer, por lo tanto: Bien. El problema es que lo que hace no tiene demasiado sentido, o mejor, no se le ve el sentido en este ejemplo. Supongo que este no es el propósito, sino más bien poner a prueba rutinas de IA y ver como "respiran". ------- Lo adecuado cuando se programa IA es hacer un organigrama o diagrama de flujo previo. Una IA adecuada puede resultar muy compleja, por lo que un diagrama se hace casi imprescindible para no "perderse". Otra razón es poder escribir un código más limpio o más sencillo que hacerlo todo sobre la marcha. ------ En todo caso, se adivinan cosas interesantes. Estaremos atentos. Animo ! | |
| | | ErichZann Moderador
Reputación : 334 Mensajes enviados : 1414 Premios :
| Tema: Re: Inteligencia Artificial Simulada o “Los perros de Pavlov” Mar Ago 30, 2011 12:57 am | |
| 4:40 am!! Eso es dedicacion! o… ¿Vicio? jaja, perdoná, esto del humor…. no lo entiendo
El propósito es lograr un solo código para varias instancias de un mismo Active, con pocas variables y un par de string para evitar el bloqueo de animaciones sin comparar si tal o cual animación no está corriendo y también, claro, evitar que todas las instancias hagan lo mismo al mismo tiempo sin loops complicados y sin la extensión ForEach, de esta forma queda un código sencillo y limpio, listo para meter en un Behavior.
El propósito para mi es muy claro, porque es lo que necesito para mi proyecto, es cierto que en el ejemplo, tal vez no se ve el problema que resuelve, porque soy yo el que estuvo renegando meses con ese tema y en lugar de cuadraditos veo lo que en realidad estoy intentando hacer, en ese aspecto estoy de acuerdo que tal vez no comuniqué bien lo que quería transmitir, quise hacerlo bien general para que se pueda ajustar a otros proyectos.
En definitiva lo que intento solucionar es: ¿Por qué si mato uno se mueren todos? ¿Por qué saltan todos al mismo tiempo? ¿Por qué tal cosa… todos a la vez? etc.
Controlar la forma en que MMF2 elige las diferentes instancias de un mismo Active ¿Alguna vez tuviste este problema? ¿Hay alguna forma más simple de lograr lo que quiero hacer?
Hasta ahora todo lo que intente era más complicado y con resultados frustrantes.
Tal vez reemplace los cuadraditos con algo más significativo para ver como resulta.
Muchas gracias por verlo, realmente me interesa tu opinión al respecto, yo tiendo a complicar las cosas y vos a simplificarlas…… por eso la pregunta de más arriba.
Saludos!!
Última edición por ErichZann el Miér Sep 12, 2012 2:37 am, editado 1 vez | |
| | | elpupas7 Administrador
Reputación : 1243 Mensajes enviados : 3982 Premios :
| Tema: Re: Inteligencia Artificial Simulada o “Los perros de Pavlov” Mar Ago 30, 2011 1:24 am | |
| 6:20 ----- Por hoy, ya ha llegado. Me intriga eso de que matas a uno y mueren todos ... si puedes, ponme un ejemplo ... para mañana !!! ----------- Por cierto, felicidades, felicitaciones, enhorabuena ... que has GANADO el III Concurso de DEMOS 2011, vaya !!! | |
| | | ErichZann Moderador
Reputación : 334 Mensajes enviados : 1414 Premios :
| Tema: Re: Inteligencia Artificial Simulada o “Los perros de Pavlov” Mar Ago 30, 2011 10:27 am | |
| En realidad, lo de que mueran al mismo tiempo no me a pasado (leí en algún post ese problema) lo que a mi me pasaba en el juego The throne aspirants cuando mataba los zombis, que cambia a una animación sin cabeza y se crea una cabeza rodando sobre el que muere, me creaba cabezas encima de todos (lo resolví con ForEach).
Lo que si me pasa ahora, es que si mato un enemigo, queda ahí tirado, pero cuando alguno que esta “vivo” camina, el “cadáver” también se mueve en la misma dirección, entonces para que no pase eso, a la alterable String accion le pongo “muerto” para evitar que se mueva mientras dure la animación de desaparecer. Lo mismo sucede con la animación de “Stopped”, si hay otro que camina, el que está en “Stopped” parece que patinara… también lo resuelvo con la alterable String.
Otra forma interesante del uso de los alterable String para crear condiciones de respuesta, es una que indique que está haciendo el jugador, por ejemplo: En el Boss de la demo The throne aspirants lo uso para sus distintos ataques, según si el jugador está en el suelo o saltando. Este uso se ajusta más a la I.A. que a la solución de los problemas que menciono antes.
Voy a tratar de hacer un ejemplo que lo refleje,
Saludos!!
P/D: Gracias por el premio y las felicitaciones!! | |
| | | Contenido patrocinado
| Tema: Re: Inteligencia Artificial Simulada o “Los perros de Pavlov” | |
| |
| | | | Inteligencia Artificial Simulada o “Los perros de Pavlov” | |
|
Temas similares | |
|
| Permisos de este foro: | No puedes responder a temas en este foro.
| |
| |
| |
|