La GIA 04 ha finalizado!!
Curiosamente he salido campeón, por favor no me apedreen por esto XD
Como se sabrá yo competía en el concurso de manera oficial, lo que quizás muchos no saben es que la razón de esto fue para vencer a los ganadores de cada ronda y extender la GIA para que se vuelva un poco más interesante y duradera, el problema es que a mi ia se le pasó un poco la mano :-[ (y la de Ciberman sufrió una embolia en la última ronda xD)
Descargas:Editable con todas las ia's y sus respectivos registros (https://dl.dropboxusercontent.com/u/18232060/GIA%2004.gmk)
SDK vacío del concurso :GM8: (https://dl.dropboxusercontent.com/u/18232060/GIA%2004%20SDK.gmk)
SDK vacío del concurso :GMS: (https://dl.dropboxusercontent.com/u/18232060/GIA%2004%20SDK.gmz)
Ver todos los encuentros de la GIA 04 (http://www.youtube.com/watch?v=LjFPkJ1Q_xw&list=PL4O6CxP5ShXYetx1FAsfUHP3FAuHc4UWH)
Lista de participantes en orden de llegada:-Texic
-Ciberman
-Elviskelley
-Mgbu
-Pikamaker
-Brunoxzx
-Ferhand
-Knd144
Mis felicitaciones personales a todos, hicieron un trabajo excelente, recuerden que lo importante no es ganar sino la diversión de ver tu propia ia desparramando sangre en cada ronda (?
Fuera de chistes creo que esta clase de concursos sirven para agudizar el intelecto, espero que hayan aprendido mucho sobre el comportamiento de una ia en un top down shooter, y que sobre todo se hayan divertido en el proceso, que es la meta principal del concurso ;D
Hasta la próxima!
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!
Felicitaciones Texic! realmente la tuya se merecia ganar, siempre estuvo entre los primeros tres puestos
Todavia no entendi la idea de cargar a Ciberman en todos lados pero bueno jaja. Debe ser porque era la peor de todas (?)
Ah! Y fijate que mi IA sigue desactualizada, te la mande por mail, la que está ahí es la de la 4° ronda.
Cita de: brunoxzx en 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!
Gracias! Si, planeaba subir las seeds, pero me di cuenta de que no las guardé xD
Cita de: Mgbu en Octubre 28, 2013, 12:14:01 AM
Felicitaciones Texic! realmente la tuya se merecia ganar, siempre estuvo entre los primeros tres puestos
Todavia no entendi la idea de cargar a Ciberman en todos lados pero bueno jaja. Debe ser porque era la peor de todas (?)
Ah! Y fijate que mi IA sigue desactualizada, te la mande por mail, la que está ahí es la de la 4° ronda.
Gracias Mgbu, la tuya estuvo a una pizca de ganar, no sé si les comenté que en la ronda siguiente a la que ganaste se suponía que debías volver a ganar (o a eso apuntaba el puntaje, le había ido genial a tu ia) pero justo en esa ronda creo que fue que la de ciberman se bugueó y la tuve que retirar, y terminó con los resultados que conocemos, pensar que si ciberman hubiese programado bien ganabas... xD
Después subo la última, se me pasó por alto, mis disculpas
¿y yo? :-\
Pero si estás ahí, ves?
CitarLista de participantes en orden de llegada:
-Texic
-Ciberman
-Elviskelley
-Mgbu
-Pikamaker
-Brunoxzx
-Ferhand
-Knd144
Cita de: Texic en Octubre 28, 2013, 01:08:39 AM
Gracias Mgbu, la tuya estuvo a una pizca de ganar, no sé si les comenté que en la ronda siguiente a la que ganaste se suponía que debías volver a ganar (o a eso apuntaba el puntaje, le había ido genial a tu ia) pero justo en esa ronda creo que fue que la de ciberman se bugueó y la tuve que retirar, y terminó con los resultados que conocemos, pensar que si ciberman hubiese programado bien ganabas... xD
Después subo la última, se me pasó por alto, mis disculpas
Viste? ahora entiendo el sentido de insultar a ciberman jajaaj
Por curiosidad pongo la tabla con los puntajes. No muestra exactamente el rendimiento de la IAs porque la mayoría no participó en todas las rondas
Nombre | 1° Ronda | 2° Ronda | 3° Ronda | 4° Ronda | 5° Ronda | Final | Total |
Texic | 7 | 15 | 11 | 20 | 12 | 4 | 69 |
Mgbu | 7 | 9 | 16 | 8 | 11 | N/A | 51 |
Ciberman | 10 | 6 | 8 | 17 | 9 | N/A | 50 |
Pikamaker | N/A | 6 | 7 | 17 | 10 | N/A | 40 |
Brunoxzx | N/A | 7 | 15 | 6 | 10 | N/A | 38 |
Elviskelley | 1 | 8 | 9 | 4 | 0 | N/A | 22 |
Knd144 | N/A | N/A | N/A | 7 | 12 | 2 | 21 |
Ferhand | N/A | N/A | 6 | N/A | N/A | N/A | 6 |
Texic: Brunoxzx y Cris son la misma persona
No, nada; lo acabas de modificar:
(http://i56.servimg.com/u/f56/12/67/97/25/prueba10.png) (http://www.servimg.com/image_preview.php?i=101&u=12679725)
-_-
Pero vale, de todas formas ni sé cómo logré empatar en esa última ronda; con el poco tiempo que le puse y sin hacer ninguna otra modificación me extraña haber sobrevivido :-\
La verdad que no esperaba que mi IA se buggeara de esa forma a último minuto. Realmente estaba seguro que iba a ganar ya que había mejorado muchísimo mi IA de una ronda a la otra. Y al buggearse de esa forma no se aprecia todos los cambios que le hice (a último minuto, literalmente, pero bueno)
Pero me trolleó mucho el hecho de que apareciera una habitación donde estaba "dividida a la mitad" completamente por cajas, formando dos subhabitaciones. Eso era algo que mi IA no contemplaba, ya que yo mismo creí hasta último minuto que no estaba permitido eso y que no era "legal". Por eso es que digo que "Texic" me trolleó realmente al hacer que recien en la 5ta ronda aparecieran este tipo de habitaciones. (Es más, en la IA que le mandé a texic, cuando la IA detecta esto lanza un show_message para avisar que se encuentra en un room que "no es legal". jajaj, seguramente texic sacó ese show_message por razones obvias, igualmente quedó el "Fuuu... no sé a donde ir")
Ahora, aunque ya haya terminado el concurso, estoy trabajando en una IA Ciberman V5 (la versión de la quinta ronda es la v4) que no tenga todos esos bugs y que corrija el "trolleo" por parte de Texic añadiéndole soporte para habitaciones divididas.
Le voy a entregar la nueva IA a texic en unos días (ahora mismo estoy bastante ocupado con cosas del colegio).
No es trolleo, las demás seeds no habían hecho habitaciones así, eso es todo jaja, cuando me preguntaste al principio te dije que una room válida era aquella en la que se puede acceder a todas las habitaciones y los personajes no queden encerrados, en ningún momento dije que no podían estar subdivididas o que hubiese partes a las que no se puede llegar, era su problema el pensar en las posibles situaciones que pudieran darse :P
Oye Texic, al querer abrir el editable con las IAs me lanza una alerta que no se encuentra el "package gmcap"... ¿Dónde lo descargo? XD (¿y para qué es esa paquetería :-\ ?
Ah no es necesario, me olvidé de sacarlo, era para armar los videos de las rondas
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.
Bueno la ia requería de un simple chequeo, si no puede tomar el camino a la puerta deseada, volver, no veo el gran problema, yo pienso que fue un error de programación más que del mapa, su ia es demasiado estricta, todos pudieron sortear ese obstáculo excepto la ia de ciberman, me la imagino como un nene diciendo "si no puedo pasar por esa puerta no voy a ningún lado", es demasiado firme en sus decisiones por el tema del cálculo de puertas en base a la prioridad, todos tenemos un código para elegir una puerta random además del selectivo
No deberían ser 2 habitaciones, el hecho de que las cajas separen el camino no es suficiente para decir que son habitaciones diferentes, es la misma, simplemente que desde nuestra posición no podemos llegar a varios lugares. Una de las razones por las que al principio el calcular camino tenía 4 argumentos era esa, poder calcularlo desde todas las puertas, se cambió por razones que más tarde resultaron absurdas y concuerdo en que debería haber vuelto a ser de 4 argumentos, pero el daño ya estaba hecho, además de todas maneras nadie programó un codigo de ese tipo, dejar los 4 argumentos hubiese dado el mismo resultado
Uno de los desafíos de hacer una ia es imaginar todas las probabilidades, no tiene gracia pedir que los mapas sean habitaciones perfectas en las que se puede llegar a todos lados desde cualquier punto y a cualquier puerta, para el caso dejaba mapas fijos o los armaba a mano
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.
Mi ia no está programada para funcionar bien bajo esas condiciones, al igual que la de mgbu u otros que se cruzaron con el obstáculo y pudieron sortearlo. Lo de volver si no puede ir a las demás puertas es algo lógico, después de todo no hay otra opción, es mejor volver que quedarse dando vueltas en el lugar diciendo "fuu", más cuando se agregó el tiempo para eliminar ia's ociosas
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?
Para mi el hecho de dividir la habitacion en dos fue dudoso, pero también me parece que está en cada uno tener en cuenta los imprevistos.
Mi IA estaba hecha así nomás, pero yo sabía que me iba a equivocar, yo sabia de que se me iba a pasar algo por alto y por alguna razón mi personaje no pueda llegar a la puerta (Por haber calculado mal las coordenadas, por intentar ir a puertas en otras habitaciones, etc.). Por suerte la culpa no fue mía del todo, pero sirvió para cuando yo intentara ir a esa puerta al otro lado de la habitación que era implosible de llegar directamente
Igual lo importante es que nos divertimos haciendo las IAs, yo por ejemplo había hecho una IA actualizada para la ronda 5 pero me olvidé de enviarla, pero ya fue
A ver, no veo por qué la molestia; no recuerdo que los primero eventos hechos por Kraken se haya dado toda la información de los escenarios; es más, en el primer concurso apenas sabían que se enfrentarían a pinchos, colchones y demás pero nunca sabían a ciencia cierta lo que deparaban los escenarios (múltiples escalones para llegar a la meta, posiciones difíciles de llegar... ). La verdad ni siquiera había que decir si una puerta podría no estar accesible en una habitación por estar divida, simple y sencillamente podría no ser accesible por cualquier razón, por esas cuestiones se hacen "preguntas" de si se puede o no llegar al punto deseado; y no sólo englobando una IA (que de hecho éstas no son IAs en toda su regla, son más autómatas informáticos) sino que como programador se tiene que considerar cualquier "hueco en la programación" y tratar de dar una salida aunque no sea tan óptima en caso de fallar la salida ideal.
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 (http://es.wikipedia.org/wiki/Sistema_experto).
Los sistemas expertos entran en el área de la inteligencia artificial y uno de las más "básicas" (Muy entre comillas por que la complejidad puede variar profundamente).
Una inteligencia artificial debe de contener varios aspectos más allá que de elegir opciones dependiendo de la circunstancia (que eso es lo que se programó aquí): una base de datos que poco a poco vaya creciendo, un sistema de puntuación para los movimientos, un sistema para re-puntuar los valores de las jugadas, manejo de eurística para crear nuevas jugadas a partir del nuevo "conocimiento" y darle un valor a éstas... Y bueno, de si una IA debe ser "estricta" y cerrada en sus desiciones, déjenme decir que hay varios tipos de IAs "diseñadas", las científicas, las mátemáticas, las expertas, las lógicas... bueno, no tanto así como que sean diferentes tipos pero que hay varias formas que una IA resuelvas las situaciones, no todo tiene que ser matemáticas o eurística del programador.
No desvaloro lo que hicimos XD los autómatas informáticos son unos pasos antes de la inteligencia artificial; sólo que, pues, para una IA de verdad nos quedamos cortos :P
Claro, falta el auto-aprendizaje. Yo quise meterle eso a mi ia pero no me dio tiempo. Además no había demasiado que pudiese aprender en 3 rondas, debería usarse en un concurso más largo o tener la posibilidad de guardar datos estadísticos para las rondas (que fue una de las ideas que surgió en el planeamiento de la GIA, pero me pareció un poco complejo como para introducirlo)
Igual creo que el nivel de las IAs estan a la altura de cualquier enemigo de un juego de shooter, en ese tipo de juegos no hay necesidad de que las IAs aprendan y todo eso (a lo mejor en un juego de estrategia, pero no es el caso)
Nada, quería aclarar que le envié a Texic una versión (aparentemente) sin ningun bug. Osea, como debería haber funcionado de no ser por el generador reloco de rooms de texic. xD
Me tardé mucho porque no tuve tiempo para nada de tocar el GM con todas las pruebas de la escuela.
Ahora sí, cuando texic lo suban van a poder ver como era la IA realmente. Igual es muuuy mejorable.. Y estaba preparado para mejorarla más... una pena que no haya seguido más el concurso...
EDIT: me había olvidado que la puedo subir acá. La subo asi la pueden ver. :3
Con tab cambian a la IA mia, y con "G" (teniendo seleccionada mi IA) pueden ver como actua el "Modo Finder" que hace una exploración semi-inteligente de la habitación. (?) (el cuál nunca se vió en la competencia por culpa de esos bugs)
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.
acabo de notar que siempre me estabas uscando, aun muerto tu IA me buscaba jajaja
Alguien tiene los videos en mayor calidad? me gustaría guardarlos
Perdón por revivir el post. Pero me puse muy nostálgico. De casualidad alguien tiene el exe compilado de los encuentros?
De hecho creo que los tengo, puedo subirlos si querés :d
(Aunque creo que solamente tengo del tercer y cuarto encuentro, tendría que revisar bien si existen anteriores)
Dale. Por favor. Hace tiempo que no tengo gm8. Aunque si tenés también los gmk sería lindos si los pudieras subir a ver su lo logró hacer andar en studio.
Acá están los ejecutables de los encuentros, pueden ser descompilados a gmk si mal no recuerdo
https://dl.dropboxusercontent.com/u/18232060/GIA%2004%20-%20Primer%20encuentro.rar (https://dl.dropboxusercontent.com/u/18232060/GIA%2004%20-%20Primer%20encuentro.rar)
https://dl.dropboxusercontent.com/u/18232060/GIA%2004%20-%20Segundo%20encuentro.rar (https://dl.dropboxusercontent.com/u/18232060/GIA%2004%20-%20Segundo%20encuentro.rar)
https://dl.dropboxusercontent.com/u/18232060/GIA%2004%20-%20Tercer%20Encuentro.rar (https://dl.dropboxusercontent.com/u/18232060/GIA%2004%20-%20Tercer%20Encuentro.rar)
https://dl.dropboxusercontent.com/u/18232060/GIA%2004%20-%20Cuarto%20encuentro.rar (https://dl.dropboxusercontent.com/u/18232060/GIA%2004%20-%20Cuarto%20encuentro.rar)
Y había un port del sdk a studio, en el primer mensaje está, así como el editable final en gmk, no es muy dificil portarlo a studio la verdad
Gracias! Es hermoso ver de nuevo la IAs en acción.
Había una tecla para cambiar la seed no?
EDIT: No tenés el source? Si lo decompilo se pierden las carpetas y algunas cosas. Quiero ver si lo puedo portar a gms
Disculpen, intenté descargar el editable con sus registros pero al parecer hay un error. ¿Qué puedo hacer?
Es que en verdad quiero ver esas IA's....xD
(https://gyazo.com/073e66daa75c0ee5185f9fab06491635.png)
Nada muy importante, quita del editable la extension o descargala, si quitas la extension vas a tener que quitar el codigo que controla la grabación, que si no me equivoco está en el objeto control o en un objeto aparte
texic Quiero descargar para :GM8: el editable con todas las IAs, solo para ver que habria sucedido de haber sabido que podia declara variables y crear estructura de datos. pero estan mal los links arreglalos pofa.