Octubre 27, 2013, 05:16:00 AM Ultima modificación: Octubre 28, 2013, 05:57:31 AM por Texic
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
SDK vacío del concurso  :GM8:
SDK vacío del concurso  :GMS:

Ver todos los encuentros de la GIA 04

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.
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


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





Pero si estás ahí, ves?
CitarLista de participantes en orden de llegada:
-Texic
-Ciberman
-Elviskelley
-Mgbu
-Pikamaker
-Brunoxzx
-Ferhand
-Knd144




#6 Octubre 28, 2013, 05:54:49 PM Ultima modificación: Octubre 29, 2013, 04:34:13 AM por Texic
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










Nombre1° Ronda2° Ronda3° Ronda4° Ronda5° RondaFinalTotal
Texic715112012469
Mgbu7916811N/A51
Ciberman1068179N/A50
PikamakerN/A671710N/A40
BrunoxzxN/A715610N/A38
Elviskelley18940N/A22
Knd144N/AN/AN/A712221
FerhandN/AN/A6N/AN/AN/A6

Texic: Brunoxzx y Cris son la misma persona
El Manual

- Ley de la gravitación selectiva: toda herramienta se caerá donde produzca el mayor daño.
- Si todo parece estar bien, es obvio que uno no encontró el problema
- Todo aquello que se corte a medida resultara ser demasiado corto.
- Todo archivo borrado era necesario, todo archivo conservado es inutil
- Cuando a usted se le ocurra la solución ideal, alguien habrá resuelto ya el problema.

                                                               Murphy


No, nada; lo acabas de modificar:



-_-


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  :-\

#8 Octubre 29, 2013, 01:11:28 AM Ultima modificación: Octubre 29, 2013, 01:14:39 AM por Ciberman
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).


Cita de: CGM 2008CGM: Un poco mas serios, mejores Juegos.
Bienvenid@ a CGM. Recomenzamos desde cero, con un reglamento mas estricto, mejor definido y con mas ganas que nunca de hacer juegos con calidad comercial. El que avisa no es traidor: Leete las reglas si no quieres llevarte un capon makero.
Mercilessly!!
Plug-In para animaciones: http://ciberman.net/tweenline/

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




#14 Octubre 29, 2013, 05:28:50 PM Ultima modificación: Octubre 29, 2013, 05:40:11 PM por brunoxzx
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.