Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - brunoxzx

91
Esté es el algoritmo que usa gm http://es.wikipedia.org/wiki/Algoritmo_de_b%C3%BAsqueda_A*.
Como ves no es tan simple hacer un script que lo sustituya, ademas de que en puro gml sería algo lento. Hay extensiones que lo sustituyen sin embargo no creo que en tu caso sea necesario ¿podrías explicar para que lo quieres?.
92
Uh siendo ese el caso simplemente pon esto en el evento draw de la hud.
[gml]
with(obj_aliado){
    draw_sprite_ext(Hp,2,x-7.9,y-32,0.2.6,0.2.6,0,c_white,0.8)
    draw_sprite_stretched(Hp,0,x-7,y-32,life/maxlife*29,3.5)
}
[/gml]
93
Simplemente crea un objeto control que tenga -99999 de depth, allí dibujas todo lo relacionado con la HUD y cosas que quieres que estén hasta arriba . Para llamar a variables de otro objeto usas un ".", algo así "obj_player.vida".
94
En lo personal creo que caben en la sección de desarrollo de scripts, de todos modos esta muy sola...
95
Siendo sincero no entiendo para que la lista, en el script que pusiste no sirve de mucho  :P. Para este caso yo usaría un script como este:

[gml]instance_count_side(objeto, lado(1 der, -1izq) )[/gml]
[Gml]
var c=0;
with(argument0) c+=(x-other.x)*argument1>0;
return (c);
[/gml]
96
Guerra de IAs (GIA) / Re:GIA_04 Maze Shooter Finalizada
Noviembre 22, 2013, 05:19:27 AM
Wo, wo, wow. Ciberman tienes demasiados códigos  :P, Impresionante!.

Bien, justo descubrí que el sistema de exploración de tu IA es bastante parecido al mio, aunque con el vistazo que le dí, no encontré como haces varias cosas, por ejemplo dibujar la visión en la grilla, algo me dice que el script en el que revelas que tu vida es una mentira  :-[ tiene que ver con eso, pero ni idea. En general me ha gustado algo más mi sistema de exploración (creo que es más eficiente), tiene varias ventajas como que no solo almacena las posiciones de los muros, sino que en la misma grilla guardo las posiciones para esconderse, cajas, puertas, etc.

En fín tengo que irme de momento, te dejo con la versión de la IA que envié a la última ronda (pero con debug) para que veas el parecido.

Edit: Justo me doy cuenta de que no adjunte nada  :P. Adjunto y por dios tu código me parece muy organizado, nada que ver con mi desorden.
97
Preguntas y respuestas / Re:distance_to_object
Noviembre 22, 2013, 02:30:19 AM
[gml]
distancia=enemigo.x-x;
//Con eso tienes, te da negativo si el enemigo esta a tu izquierda[/gml]
98
Guerra de IAs (GIA) / Re:GIA_04 Maze Shooter Finalizada
Noviembre 06, 2013, 08:38:41 AM
Ni idea de como fue la primera GIA, no sabia que los concursantes no podían ver los niveles en los que sus IAs participarían, pero eso en realidad se oye genial  XD. A mi me ha encantado esta GIA no tengo ningún problema con los escenarios aleatorios, me encanta que sea así, texic realmente ha hecho un excelente trabajo con esto.

La discusión aquí creo va dirigida hacia la desinformación, todos ignorábamos los algoritmos de generación de mapas, realmente no sabíamos que podía suceder, solo teníamos las rondas pasadas que nos iban dando información de como podían llegar a ser los mapas, para la quinta ronda ya se podía ver una especie de patrón en la generación, creímos que no habría nada nuevo, cuando inesperadamente sale algo nuevo y raro, realmente a esté punto no se que pensar ¿hay reglas en la generación de mapas? ¿acaso pueden salir mapas enormes, sin puertas y con habitaciones hechas con cajas? ¿o una habitación en el que solo haya una puerta y dos habitaciones enormes? lo más probable es que nuestras IAs no funcionen de lo mejor en esas situaciones y realmente texic simplemente ha dicho que sería un escenario aleatorio así que todas esas cosas pueden entrar. Si bien las IAs deberían ser capaces de manejar todas estas situaciones raras tenemos la limitante del tiempo ¿debo de ponerme a diseñar un mejor sistema de ataque o priorizar situaciones que creo no pueden llegar a suceder?.

Sin más que decir me retiro de la discusión, yo sé que mi IA no iba a ganar la ronda, quise ayudar a ciberman ya que consideré de algún modo injusto que haya perdido por tal razón, la discusión ha llegado algo lejos y sin respuesta de ciberman ni solución aparente a lo sucedido no veo porque continuar con esto.

Cita de: knd144 en Noviembre 05, 2013, 03:20:12 AM(que de hecho éstas no son IAs en toda su regla, son más autómatas informáticos)
No lo creo, según entiendo los autómatas simplemente imitan un comportamiento u acción repetitiva-mente. En cambio estas IAs reaccionan a situaciones, su posición, vida, arma o distancia al enemigo son factores a considerar para su siguiente acción. Quizá no sean realmente inteligentes (a este punto creo que no hay programa que lo sea) creo que nuestras IAs aquí entran en una rama de las inteligencias artificiales como sistemas expertos.
99
Guerra de IAs (GIA) / Re:GIA_04 Maze Shooter Finalizada
Noviembre 04, 2013, 08:08:56 AM
Bueno texic es obvio que ciberman no esperaba la situación que se dio, el mensaje de "fuu" significa que no se puede llegar, si no se puede llegar a esa puerta probablemente a ninguna otra, eso habría pensado yo antes de ver estas habitaciones raras separadas sin utilidad alguna.

El hecho de que las otras IAs no estuvieran programadas para pasar el obstáculo y lo hayan logrado pasar puede significar varias cosas, entre ellas que lo pudieron haber pasado de mejor modo si hubieran sabido de la posibilidad, si tu no programaste a tu IA para que funcione bien en la situación es más problema tuyo pero quizá a otros participantes nos habría gustado saber que dicho acomodo de cajas podía existir para mejorar nuestros resultados. Sigue sin parecerme justo para Ciberman, quiero decir se esforzó mejorando su IA toda la semana a tal punto que estaba seguro de que ganaría la ronda y perdió por algo que ni siquiera sabia que podía suceder, algo que probablemente solo tu sabias que podía suceder, quizá debiste de avisar en un corto post o en la shoutbox o algo de por allí a ciberman, al fin y al cabo no nos habría costado mucho esperar uno o dos días más de los que ya habíamos esperado a ver si ciberman se reportaba para resolver el bug.

Por cierto texic que ha pasado con las clases, soy el único interesado?
100
No te sirve screen_save() o surface_save(id, archivo)?
101
La mejor opción debe ser dejar el objeto muro invisible y con un sprite negro de 32*32, entonces en el editor de rooms escalas cada muro tanto como necesites reduciendo muchísimo el numero. Luego le pones tiles enésima para que tenga color.
102
Guerra de IAs (GIA) / Re:GIA_04 Maze Shooter Finalizada
Octubre 29, 2013, 05:28:50 PM
Es que texic las IAs tienen que ser estrictas, el único random que uso es para algunas decisiones con las puertas y créeme es así porque fue más fácil, no por que sea la mejor opción, es cosa de suerte que mi IA no se haya atorado. Las IAs al igual que los humanos no deben de confiar nunca en la suerte, aún la más mínima decisión debe haber sido el resultado del análisis de varios factores conocidos anteriormente, no se puede pedir que una IA funcione bien sobre condiciones para las que no fue preparada y de hecho tampoco un humano. Concuerdo en que imaginar todas las posibilidades es uno de los retos de hacer una IA, tu tenias la ventaja de saber cuales eran todas las posibilidades y no atorarte nunca, pero nosotros los mortales no y de hecho nuestras mentes comunes no imaginaban que diseños de habitaciones tan extraños podían existir. En dado caso quizá debiste de habernos prestado el generador de terrenos aleatorios.
103
Guerra de IAs (GIA) / Re:GIA_04 Maze Shooter Finalizada
Octubre 29, 2013, 05:59:51 AM
Yo aquí estoy a favor de ciberman, esas situaciones son muy dificiles de imaginar. lo mismo paso creo en la ronda 3 con los lugares que simplemente estaban rodeados por cajas, mi IA se atoraba sin poder llegar al lugar. Ahora, en esta ronda mi IA considera la habitación completamente explorada porqué piensa que es imposible llegar, cuando en realidad sí lo es pero por  otra puerta, por lo que la ia requeriría de chequeos desde cada puerta para poder saber si es un lugar cerrado o no y eso de ningún modo te lo piensas añadir en tu codigo si no lo ves antes. Las situaciones anteriores imaginandolas en la vida real no tienen ningún sentido, si hay un cuarto separado por cajas y con puertas de ambos lados este no es un cuarto, son dos, por lo tanto dos habitaciones debieron haber sido creadas en el sdk. Y si la ia de ciberman era realmente tan buena como dice y perdio por algo como esto, esto en realidad es, en mi opinion injusto para el.
104
Guerra de IAs (GIA) / Re:GIA_04 Maze Shooter Finalizada
Octubre 27, 2013, 10:42:49 PM
Wow increíble, termino  :-\. Ya me esperaba la muerte súbita  :-X, de todos modos:

Felicidades Texic. La verdad, la IA que más daba batalla, desde las primeras rondas.

Allí está mi registro que nunca lo envié.
[spoiler][gml]
///****************Creador: Brunoxzx****************////
///****Versión: 1.0 Ronda 2
///****22/11/13 -- 2/10/13
/*************************
No entraré en detalles técnicos. Después veré si hago algo con imágenes, para que se entienda mejor.

Se añadió sistema de exploración:
    El sistema de exploración consta de varias partes. La más importante
    es una lista que tiene las posiciones de todos espacios vacíos de la
    habitación en la que te encuentras (No muros, no cajas, no puertas).
   
    Después tenemos una grilla que abarca todo el room. En está entra
    todo, posiciones de cajas, muros, puertas, objetos y ademas se
    añaden las posiciones de lugares adyacentes a las cajas como lugares
    explorables, esta nos sirve para saber que hay en determinada
    posición, de un modo eficiente y en cualquier habitación.
   
    El proceso de la exploración se hace del siguiente modo.Al principio
    se crea una lista de prioridad (ds_priority) que apunta a todos los
    elementos de la lista que contiene los espacios vacíos, pero en este
    caso organizados por su distancia a tí, de tal modo que tu personaje
    los recorra desde el más cercano al más distantes esté proceso solo
    se hace solo una vez. La lista de prioridad puede llegar a ser
    reiniciada si tu personaje se distrae con algo (como agarrar un objeto
    o atacar a alguien).
   
    Cada step se sacan de la lista todos los espacios visibles por tu
    personaje hasta que esta no tenga ningún elemento. En el caso de que
    la lista de prioridad tenga elementos que ya hayan sido vistos, es
    decir que ya no estén en tu lista, estos son omitidos y sacados de
    la lista de prioridad. En el momento en el que tu lista esté vacía
    la habitación se considera explorada y se escoge puerta más cercana.

Se añadió un simple sistema de ataque:
    Al ver o escuchar a un enemigo lo ataca sin moverse, solo recarga si
    no le quedan más balas en el cargador.

Se añadió un simple sistema para agarrar armas y vida:
    El sistema simplemente toma las cosas si las ve, si tiene menos de
    80 de vida toma la vida, si el objeto es una pistola no lo agarra.
**************************/
///****Versión: 1.1 Ronda 3
///****05/10/13 -- 09/10/13
/*************************
Se añadió un sistema de memoria:
    Ahora los objetos se recuerdan y en teoría pueden ser tomados por
    orden de prioridad, no se implemento en todos los objetos.
   
Se rehízo el sistema de ataque:
    El sistema de ataque ahora cuenta con una variable booleana que
    hace que el cuerpo ataque independientemente de los pies que sé
    manejan por la variable estado y ahora tienen un movimiento simple
    al atacar.
   
Se mejoro el sistema de exploración;
    Ahora cuando el jugador acaba de explorar el room, se escoge una
    puerta aleatoria, en lugar de atorarse
   
Se resolvieron bugs con el sistema de exploración:
    No se a que se deba que mi IA se trabe, pero cambié ciertos códigos
    que podrían ser los causantes del bug.
**************************/
///****Version: 1.2 Ronda 4
///****13/10/13 -- 16/10/13
/*************************
Se mejoro el sistema de exploración:
    Con ciertas discusiones que se llevaron acabo en la cgm me dí cuenta
    de que puedo usar paths, pero no usar path start. Con esté sistema
    ahora mi IA puede buscar la puerta no usada más cercana,
    independientemente de si esta está en otra habitación.
   
Se rehízo (de nuevo) el sistema de ataque:
    Ahora con un poco más de tiempo, rehíce el sistema de ataque, ahora
    la IA toma un circulo de un radio determinado (150 metralleta y
    pistola, 100 escopeta) el radio es dinámico, por lo que si hay un
    muro estorbando esté se hace más pequeño.
   
Se mejoro el sistema de memoria:
    Ahora los enemigos son recordados por sus nombres, aunque mi IA sigue
    sin manejar situaciones con más de un enemigo.

Se resolvieron más bugs para evitar que se atore.
    La IA se sigue quedando atorada en diversas situaciones, no sé porqué
    he intentado resolver varios bugs más, entre ellos uno que se da por
    que puede haber espacios a los que es imposible que mi IA llegue (
    rodeados por cajas).
**************************/
///****Versión: 1.3 Ronda 5
///****20/10/13 -- 23/10/13
/*************************
Se mejoro el sistema de armas:
    Ahora con el nombre de un arma puedes saber cual es su distancia
    máxima y numero máximo de balas en el cargador.
   
Se mejoro el sistema de ataque:
    Ahora no se mueve cuando la otra IA no apunta asía ella, tampoco si
    esta está recargando.

Se creo un sistema de búsqueda:
    Ahora la IA busca al enemigo detrás de muros o puertas, dependido la
    situación. El sistema toma en cuenta a que puertas o escondites pudo
    haber ido el enemigo basándose en la distancia y el angulo respecto
    a mi IA.

Se creo un sistema para huir:
    Basado en el sistema anterior se creo un sistema para huir al escondite
    o puerta más cercano. Por falta de tiempo no pude programar bien las
    situaciones en las que se usa.
   
Se resolvieron más bugs! con el sistema de movimiento:
    Intentando evitar que se atore mi IA sigo buscando errores en mi código
    y pude eliminar algunas anomalías.
**************************/
///****Fin del registro Texica ha ganado:
/*************************
Ya que texic ganó esto se detuvo. Aún quedaban muchas cosas por hacer para
la muerte súbita y dejar una IA bien pulida en todos los aspectos.

Problemas surgidos:
    Fueron muchos los problemas los surgidos. creo que pasé la mayor parte
    del tiempo creando y resolviendo bugs del sistema de exploración, el
    código de caracterización de triángulos (luego explicaré para que sirve)
    fue lo primero que hice y tuve problemas inesperados con el, por eso
    no entre la primero ronda.
   
    Aparte del sistema de exploración tuve problemas con el tiempo, siempre
    dejando uno o más sistemas con errores y trabajando los últimos días.
   
    Tuve problemas con la numeración del juego, muchos errores se daban por
    qué por alguna extraña razón a texic le dio por pasarse el cero.
   
    También, cuando quise usar paths intenté la función de "scr_mover()"
    pero cuando chocaba contra muros no se deslizaba y se atoraba en las
    esquinas, así que al final termine usando la función de
    "scr_calcular_camino" como sustituto de "scr_mover()".
**************************/[/gml][/spoiler]

Que pasó con ferhand? Su IA seguía con errores? Una lastima no verlo competir al 100%, de verdad.

Anduve probando el editable con las IAs, con las seeds aleatorias es muy divertido, a veces hasta ganaba mi IA que nunca gano ninguna ronda xD. Por cierto un consejo para la próxima, deja una lista en el post oficial con todas las seeds que se vallan a usar y las vas tachando una por una.

Yo de momento seguiré, haré a mi IA lo mejor que pueda y veré si la submito en unos días.

P.D: Porqué esto no es noticia?
Que paso usuarios que no participaron? Comenten!
105
Guerra de IAs (GIA) / Re:GIA_04 Maze Shooter
Octubre 24, 2013, 08:58:48 PM
Sí yo también estoy ansioso, pero esto me parece raro. Ayer me dormí a alas 3 a.m esperando esto, y es qué al menos en rondas pasadas, texic había sido puntual, obviamente no tengo ningún problema con que texic se demore, pero lleva conectado desde ayer a las 10pm y eso me confundió al punto de esperarlo hasta quedarme dormido, luego me desperté 3 horas después y texic seguía conectado, de hecho me he conectado varias veces durante el día y texic ha estado conectado, es un misterio...

Yo tengo ganas de ver si mi IA no se atora en está ronda xD. Siempre se atora y en mi compu nunca encuentro esos errores.

Por cierto mgbu. Ya has visto que la siguiente ronda será muerte súbita (si texic no gana)?