Comunidad Game Maker

Sección General => Eventos => Guerra de IAs (GIA) => Mensaje iniciado por: Texic en Septiembre 12, 2013, 02:43:40 AM

Título: GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 12, 2013, 02:43:40 AM
(https://dl.dropboxusercontent.com/u/18232060/GIA4.png)

YA ESTÁN LOS RESULTADOS DEL QUINTO ENCUENTRO!
Veanlo en el video que está debajo



Compañeros de CGM, el momento ha llegado. Ha pasado mucho tiempo desde la última GIA, pero ha llegado la hora de ver las mentes más grandes de CGM competir entre sí por la supremacía total. La GIA de este año será un brutal top-down shooter en donde todas las IA se asesinarán entre sí para sobrevivir y lograr el mejor puntaje. Los datos de cada ronda serán actualizados en este mismo mensaje a medida que transcurra la GIA. La fecha del primer encuentro será el 25 de Septiembre, así que manos a la obra!

Antes del reglamento les dejo un video promocional armado por Daz


Reglamento GIA 4

CitarBases de Guerra de IAs

¿Qué es GIA?

   Guerra de IAs, mejor conocido bajo las siglas "GIA" tiene como fin el ser un concurso en donde compitan IAs (Inteligencias Artificiales) en un marco de un videojuego.
   Los participantes se inscriben y generan sus IAs segun el marco y genero en el que se establezca el concurso. Por ejemplo, batallas de naves, carreras, un ajedrez, etc.

   El concurso consta de una serie de rondas que finaliza cuando se determina al Campeón definitivo. En cada ronda, la IA vencedora quedará con el título de Campeona. Luego, habrá un lapso de X semanas (ej: 2 semanas) para que los competidores intenten mejorar sus IAs y asi destronar a la IA Campeona. Este ciclo se repetirá hasta la ronda en la que la ultima IA Campeona no sea destronada quedándose asi con el título de Campeona definitiva y siendo asi la ganadora del concurso.

   Luego existe una segunda etapa del concurso en la que una ves declarado al ganador del concurso se liberan todos los codigos de fuente de las IAs participantes son sus respectivos registros para que el material generado sirva a todo el mundo.

   A modo de incentivar la creación de IAs, una vez finalizado el concurso se seguirán aceptando IAs. Claro que no estarán en el marco del concurso ni competirán por el premio pero será una forma de seguir generando material sobre IAs para el genero.

  Vamos a dar un ejemplo:
  "Supongamos que el tema seleccionado para la edición es "Carrera de Autos", en ese caso la IA campeona seria la que llegue en primer lugar."
   Pero como se dijo antes, habrá un plazo en donde los demás participantes podrán intentar derrocar a la IA Campeona. Y así sucesivamente hasta que se declare una IA definitiva.
  Luego de ello todos los registros de los participantes con sus respectivas IAs serian liberadas a modo de fomentar el aprendizaje por medio de una competencia.
  En este momento se podrán seguir mejorando las IAs a partir de los códigos ya liberados. Aunque la Campeona ya haya sido declarada como oficial Campeona eterna, eso no quita que pueda ser superada una vez que se liberen los códigos.

   Para hacer las IAs los participantes van a trabajar sobre un editable pre-diseñado con el engine del tema y género del concurso. Los participantes solo van a tener la capacidad de trabajar (picar código) sobre un solo objeto que será el del Droide/IA que va a representar al jugador. Luego, el encargado del concurso juntará todo en un editable maestro en donde se definen las rondas y compiten las IAs.



Reglamento General:

   Las acciones que pueda realizar la IA van a estar determinadas por unos scripts a los que van a tener que llamar, ubicados en el grupo "Usables".

   Dentro de las cosas que podrán programar sobre la IA hay ciertas reglas que deben seguir:

   1. Solo se trabaja sobre el objeto de la IA propia.
   2. No se pueden modificar variables existentes, solo chequearlas. Ej: X, Y, speed, globales.
   3. Solo se puede modificar variables creadas por uno mismo.
   4. No se puede hacer uso del evento draw.
   5. No se pueden crear instancias.
   6. Si se crean scripts deberán llamarse "scr_nombredeljuegador_nombredelscript"
   7. Habrá un lapso de al menos 3 días entre cada IA enviada.
   8. No se puede hacer la IA para un room especifico, debe ser capaz que funcionar bien en cualquier ambiente. Ej: if room=x {blabla} NO
   9. Si una IA relentiza demasiado el juego el juez puede optar por no validarla.
  10. Trabajar sobre hojas distintas a las que utilizan los scripts defaults que ya vienen con el editable.
  11. En las hojas se deberá incluir un // indicando si la hoja va antes o después del script default y en caso de ser varias numerarlas.
  12. A la hora de enviar el editable modificarle el nombre agregándole un _nombre del participante al final del mismo. EJ: GIA_01 La Carrera de los Droides_KrakenHimoto


   Este tipo de acciones invalidaran a las IAs, y en caso de ser groseras como querer Cerrar el juego (como algo muy obvio) podría sancionarse al jugador invalidándolo a presentar mas IAs.

   Esto no es una regla, pero es recomendable que mientras participan no liberen el código cosa de que cada jugador tome distintos rumbos que es donde toma gracia el concurso.


Registro de las IAs:

   Los jugadores deberán hacer un seguimiento de los problemas que les fueron surgiendo en el desarrollo de sus IAs, tanto los planes que fueron cambiando de rumbo como las dificultades a lo largo de los niveles.

Deberán ponerlo con un // en el evento create del objeto IA en hojas a parte.

El Evento Create estará conformado de 3 partes:

La 1er hoja default con el script scr_create();
La 2da hoja con el registro;
La 3er hoja con los códigos propios de la IA;

Haciendo referencia a la Hoja 2, deberá estar compuesta por:

DATOS de la IA.

   También deberían agregar la fecha de inicio y finalización de la IA más el nombre del creador y la versión de la IA.

Explicación de como piensa la IA.
Ej:
-Primero busca armas y evade confrontaciones con enemigos escondiéndose en la caja más cercana
-Una vez que consigue buenas armas acepta cualquier confrontación realizando movimientos evasivos
-Si tiene poca vida se retira para buscar vida

Explicación de problemas surgidos .
Ej:
La realización del algoritmo que recorre las habitaciones fue simple, podría haber mejorado mucho el sistema de búsqueda.
Esto trajo consecuencias a la hora de conseguir rapidamente el armamento ya que daba vueltas por la habitación inclusive cuando debería saber que no hay nada, revisaba varias veces algunas zonas

Es recomendable que vallan actualizando el registro diariamente para no perder rastros de las IAs, también los ayudará a tener noción de la evolución de sus IAs.


GIA_04 Maze Shooter

   Ésta edición de GIA consiste en una batalla de supervivencia estilo shooter dentro de un maze generado de manera aleatoria.

    * Las batallas serán de todos contra todos sumando puntos por cada IA destruida y por durar más tiempo en la partida. Al finalizar tres rondas se verá una tabla de puntajes que determinará quien es la IA campeona.
    * Los Personajes cuentan con 2 slots para guardar armas e iniciarán con una pistola cargada con 72 balas. Podrán buscar en cada cuarto un arma nueva o más balas para su arma, siendo posible encontrar Pistolas, Ametralladoras y Escopetas.
    * El disparo de pistola hace 5 puntos de daño, el disparo de ametralladora hace 2 punto de daño y el disparo de escopeta hace 3 puntos de daño por perdigón (se disparan 5 por carga, y se dispersan rapidamente). Los personajes cuentan con 100 puntos de vida.
    * Las rondas tendrán un tiempo limite de 240 segundos.


Especificaciones de GIA_04

    * Deberán colocar en un .zip/rar el editable modificado.

    * Deberán enviarlo a kurtlobato@gmail.com, enviarmelo por mp o en el último de los casos por facebook (Kurt Lobato)

    * No se podrá hacer uso de funciones de chequeo de colisión o posiciones, sólo se pueden utilizar las funciones que están en el grupo "Usables" para ese propósito (la idea es que la IA tenga un rango de visión propio que es precalculado en el engine, no se debe romper ese concepto)

    * Deberán poner sus códigos en el evento User Defined 0

FAQ
¿Cuando comienza GIA Maze Shooter y cuanto durará?
El primer encuentro será el 25 de Septiembre del 2013. La duración depende de la intensidad de las batallas y cuánto tarde una en quedar campeona, pero habrá un encuentro por semana.

¿Cuanto tiempo me puede quitar el participar de esta competencia?
Es muy dependiente de cada participante, pero yo creo que con un par de días que le dediques a conciencia ya tendrás una IA mas que aceptable. Si hablamos de que la competencia probablemente dure mas de 1 mes estamos hablando de ínfimo tiempo de inversión.

¿De a cuantos personajes se harán las batallas?
Depende de la cantidad de IA's participantes, pero la totalidad participaran en todas las rondas, el mapa generado será más grande o más chico dependiendo de ello.

¿Se puede programar la IA en D&D?
No, las IAs deberán estar hechas 100% en código (GML).

¿Si los personajes colisionan qué pasa?
Nada, eso entorpecería mucho el gameplay así que los personajes no coisionan entre sí.

¿Puedo esconderme y "campear"?
Si es muy evidente tu IA podría ser descalificada, la idea es que la IA sea inteligente.

¿Como consigo el editable para ponerme manos a la obra?
En el momento que se inicie el concurso voy a subir el editable al foro de noticias.

¿Puedo personalizar mi personaje (gráficamente)?
Si, pero vas a tener que crear una sprite nueva que cumpla con los estándares de la original (mismo tamaño de sprite y misma máscara).

Scripts Disponibles

Los scripts disponibles se encuentran en el grupo "Usables", cada uno tiene descripción sobre lo que hace y los argumentos que lleva, así como un ejemplo de su uso. Los scripts que generen los jugadores deberán ser puestos en una carpeta creada en el grupo "Jugadores" con su nombre.


Como cargar un droide/IA?

   1. Crear el objeto de la IA haciendo un duplicado de la ia base (obj_ia).
   2. Ir al objeto obj_control y abrir el código del evento create
   3. Agregar el script scr_agregar_jugador(String nombre,Objeto IA) con los demás
   4. Poner una instancia de tu IA en el room de pruebas

Como hago referencia a mi enemigo?
Para hacer referencia a nuestro enemigo se utiliza el script scr_ver_enemigos que chequea si hay alguno en nuetro rango de visión. Luego para obtener la posición de cada uno ingresamos el número de enemigo que queremos chequear (entre 1 y la cantidad de enemigos).
Por ejemplo:

if scr_ver_enemigos()>0
{
for (i=1;i<=scr_ver_enemigos();i+=1)
{
posx=scr_pos_enemigo_x(i)
posy=scr_pos_enemigo_y(i)
}
}

----------------------------------------

Texic

El editable para que empiecen a trabajar se encuentra adjunto en este mensaje. Se trabaja con Game Maker 8 Pro o Game Maker Studio importando el gmk (mis agradecimientos a brunoxzx por el port)
Recuerden mirar cada tanto si se modificó el SDK, ya sea para arreglar errores o, durante la primera semana, agregar cosas que hayan faltado

Si tienen alguna duda pueden escribirme un mensaje privado, escribir por facebook (Kurt Lobato) o enviar un correo electrónico a kurtlobato@gmail.com

Mis personales agradecimientos a Daz, Ciberman y Jesus que fueron los que más me ayudaron a armar el concurso. Disfruten armando la IA, si encuentran algún bug me avisan

Saludos, Texic!

Nota: Algunas de las características del editable real que se usarán en los encuentros no existen en el sdk (por ejemplo el generador de mapas aleatorio, la tabla de puntajes o la finalización de rondas, ya sea por tiempo o falta de jugadores)

Nota 2: Al calcular un camino la posición de destino tiene que ser válida, hay que tener en cuenta que la sprite del personaje es centrada y las demás tienen orígen en 0,0

Última modificación del SDK
30/09/13

Se arreglaron un par de validaciones para no espiar fuera del room
Se agregaron scripts para extender la detección de enemigos
Se agregó un script de movimiento en 8 direcciones
Se agregó el evento User defined 1 que se activa cuando la IA escucha algo
Se agregó un jugador manual para testeo
Se arrelgó un error de giro de máscara que provocaba atascamientos en ciertas circunstancias
Ahora las IA que disparen en movimiento tendrán menos puntería que las que lo hagan quietas
Reparado un bug al portar a studio que no permitía obtener la cantidad de puertas, cajas ni obtener vida extra
Reparado un bug que causaba problemas cuando la IA calculaba un camino fuera de la habitación
Se reparó la función raycast_ext
Se reparó la función scr_recoger_arma que no cambiaba el tipo visible del objeto en el piso
Modificada la función scr_vista meramente para mejorar el rendimiento
Se agregó una función para conocer el nombre del enemigo
Modificados los argumentos de la función scr_calcular_camino
Reparadas las funciones de camino que provocaban errores cuando no se chequeaba que el camino fuera correcto
Reparado un error que provocaba un bucle infinito al disparar en el evento de escuchar
Reparado un error que provocaba un bucle infinito al recargar en el evento de escuchar
Título: Re:GIA_04 Maze Shooter
Publicado por: Ciberman en Septiembre 12, 2013, 05:22:40 AM
Yo me uno!! No me lo pienso perder!!
Ya mismo estoy programando mi IA....
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 12, 2013, 09:40:40 AM
Pues adapte el .gmk a gm:studio. Espero a alguien le sirva, lo dejo adjunto. Tomo su buen rato adaptarlo, habría ver que dice texic sobre que hacen los que hagan su IA en studio, pero independientemente de eso yo podría ayudar a adaptar cualquier IA a que funcione en gm8 o en gm:studio si así lo desean.

Por otra parte, tengo dos preguntas. La primera es: ¿Acaso siempre debo mover a mi IA con paths? Lo siento muy raro.

La segunda es sobre las balas, ¿Acaso no se puede saber cuando un enemigo a disparado? Lo veo necesario por dos razones. Primero por que para escuchar una bala no necesitas contacto directo con el enemigo, por lo tanto puedes saber si entrar a una batalla que se esté llevando en otro cuarto, también está bien para saber si el enemigo está recargando.

Bueno otra cosa, también me agradaría poder saber si el enemigo está herido para aprovechar la situación.

Por ultimo tengo que decir que está GIA está genial (me encanta que la visión de las IAs sea realista y amo los topdown). Espero a muchos participantes, ¡suerte makeros!.
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 12, 2013, 03:13:44 PM
Interesante, funciona en gm studio? Bueno por mi parte no hay oposición, al final todos van a correr en el mismo game maker, mientras que funcione para programar perfecto, me lo voy a tener que bajar para poder pasar las IA al editable final en cada encuentro, pero por mi no hay problema
Sobre lo que mencionaste, acabo de agregar los scripts, recién es el primer día. Les recomiendo a todos mirar cada tanto si tienen el último sdk porque puedo arreglar errores o, durante la primera semana, agregar cosas que se me pasaron por alto (siempre y cuando contribuyan al gameplay y a la inteligencia de las IA)
Título: Re:GIA_04 Maze Shooter
Publicado por: knd144 en Septiembre 12, 2013, 04:23:20 PM
Me uno, me uno....
Genial, me haré tiempo. Me gustó la mecánica; excelente trabajo  ;)
Título: Re:GIA_04 Maze Shooter
Publicado por: romon_28 en Septiembre 12, 2013, 06:12:25 PM
 :-\ como hago para probar mi IA?  ???
Título: Re:GIA_04 Maze Shooter
Publicado por: Daz en Septiembre 12, 2013, 07:05:57 PM
Cita de: romon_28 en Septiembre 12, 2013, 06:12:25 PM
:-\ como hago para probar mi IA?  ???

Como cargar un droide/IA?

   1. Crear el objeto de la IA haciendo un duplicado de la ia base (obj_ia).
   2. Ir al objeto obj_control y abrir el código del evento create
   3. Agregar el script scr_agregar_jugador(String nombre,Objeto IA) con los demás
   4. Poner una instancia de tu IA en el room de pruebas
Título: Re:GIA_04 Maze Shooter
Publicado por: Ciberman en Septiembre 12, 2013, 07:43:05 PM
(Ahora me descargo el nuevo SDK),
Texic, hay alguna forma (segura, sin tener que recurrir a los raycasts) de saber si la puerta es horizontal o vertical?
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 12, 2013, 08:13:17 PM
Cita de: romon_28 en Septiembre 12, 2013, 06:12:25 PM
:-\ como hago para probar mi IA?  ???
Básicamente es esto. Abres el evento create del objeto control y le das doble click al código que ya tiene creado, allí hay unas lineas comentadas. Reemplázalas por los datos de tu IA.

Tengo una última sugerencia para texic sobre el funcionamiento del engine. ¿Por que no hacer un par_ia y que todas nuestras ias sean hijas de el? Quiero decir ya estamos usando los user_defined, podrías hacer que en el evento create de el par_ia se ejecute el evento definido 0, en step el 1 y el de escuchar en el 2. De esté modo el que crea las IAs no debe entrar a ninguno de los eventos comunes de gm, (ni siquiera tiene que saber que existen) el solo sabe que en evento 0 crea variables en el 1 es step, etc. También puede ayudar a otras partes del engine, de esté modo ya tienes un objeto referencia para todas las IAs, y puedes por ejemplo al colisionar una bala contra una IA simplemente poner other.vida-=10; sin tener que añadir un evento de colisión para cada IA, etc.

Bueno.
Cita de: Texic en Septiembre 12, 2013, 03:13:44 PM
Interesante, funciona en gm studio? Bueno por mi parte no hay oposición, al final todos van a correr en el mismo game maker, mientras que funcione para programar perfecto, me lo voy a tener que bajar para poder pasar las IA al editable final en cada encuentro, pero por mi no hay problema
Mira texic te la pongo más fácil, las razones por las que no funcionaba en gm:studio eran que tenias unos arrays llamados de igual modo que unas variables(en el objeto info_hab (tuve que añadir un "_" a las variables y deje los arrays iguales)), esto ya no es posible en gm:studio. Un código en el creation code del room_inicio que especificaba las propiedades de una view al room_batalla pero se refería a está como (0), cambie el "0" por "room_batalla". Y también el objeto obj_stop que tuvo que ser literalmente reescrito. Entonces básicamente te dejo el editable de la versión más nueva en gm8 listo para que al importarlo a gm:studio funcione, de modo que solo tengas que modificar la versión de gm8 y al final en gm:studio simplemente importes.

Te dejo el archivo adjunto. Tiene un objeto "obj_stop_studio", al importar a gm:studio debes reemplazar el viejo obj_stop por ese. Ah te deje un ejemplo de como sería la creación de IAs si todas fueran parientes (quizá también sería bueno tener acceso a end_step y begin_step), junto con un objeto controlado por un humano, quizá sería bueno dejar ese por defecto también.

Hay un bug al usar el scr_mover() con ciertas direcciones, y al chocar contra paredes se detiene en lugar de deslizarse. También hay un bug al cambiar de slot. Y por alguna razón la tecla "A" no funciona como debería (ni en gm:studio ni en gm8). Todos estos bugs los puedes notar fácilmente controlando al personaje que cree. No cambié ninguno de tus códigos internos y no se por que sean esos bugs, creo que yo no debo modificar esto y por eso me limite a no investigar el porque suceden.

Cualquier duda sobre la version de gm:studio o algo en lo que pueda ayudar enviame un MP.

Claro. Puedes hacer caso omiso a todo lo que te haya dicho que no consideres correcto o viable.
Título: Re:GIA_04 Maze Shooter
Publicado por: elviskelley en Septiembre 12, 2013, 08:17:47 PM
ok descargando y trabajando en mi Ia
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Septiembre 12, 2013, 08:59:19 PM
Estoy probando las acciones con mi teclado con este codigo en User Defined 0
if keyboard_check(ord('D')) {
    scr_mover(0)
}
if keyboard_check(ord('W')) {
    scr_mover(90)
}
if keyboard_check(ord('A')) {
    scr_mover(180)
}
if keyboard_check(ord('S')) {
    scr_mover(270)
}

if keyboard_check(vk_right) {
    scr_girar(-7)
}
if keyboard_check(vk_left) {
    scr_girar(7)
}

Todo funciona bien menos moverse a la izquierda con la tecla A
Es como que se mueve solo un pixel, se queda quieto, y si se mantiene apretado recién ahí empieza a moverse

¿Le está pasando a alguien?
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 12, 2013, 09:08:21 PM
Cita de: Mgbu en Septiembre 12, 2013, 08:59:19 PM
Todo funciona bien menos moverse a la izquierda con la tecla A
Es como que se mueve solo un pixel, se queda quieto, y si se mantiene apretado recién ahí empieza a moverse

¿Le está pasando a alguien?
El problema es la tecla "A" no el mover a la izquierda. Lee los bugs que postié. También puedes descargar el editable que adjunte, ya tiene un objeto que puedes mover y disparar.

Cita de: brunoxzx en Septiembre 12, 2013, 08:13:17 PM
Hay un bug al usar el scr_mover() con ciertas direcciones, y al chocar contra paredes se detiene en lugar de deslizarse. También hay un bug al cambiar de slot. Y por alguna razón la tecla "A" no funciona como debería (ni en gm:studio ni en gm8). Todos estos bugs los puedes notar fácilmente controlando al personaje que cree. No cambié ninguno de tus códigos internos y no se por que sean esos bugs, creo que yo no debo modificar esto y por eso me limite a no investigar el porque suceden.
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 12, 2013, 09:09:17 PM
Sobre los parientes, ya son parientes de obj_ia, no es realmente necesario que dejen el evento step ni create, con una llamada a los eventos parientes sería suficiente, pero no me molesté porque no veo la necesidad de esconder el funcionamiento del engine. Es más, podrían revisar todo si quisieran, es cosa de ustedes mirar el evento step o no. La razón por la que creí que no funcionaba en studio era porque antes estaban bugueadas las funciones collision. Sobre cambiar arma, tiene que ser cuando el cooldown del arma esté en 0, el cooldown se incrementa al disparar y al recargar, dura más según el arma que usen. Sobre el script mover, qué tipo de bug? Si es sobre el deslizamiento depende de dónde lo mires, en ningún lado especifica que va a deslizar, pero lo acabo de cambiar si es que así te resulta más cómodo
Sobre los accesos a eventos, es por cuestiones internas del engine que funciona así, pero con esos dos eventos debería ser más que suficiente
La tecla A era usada como debug, ya la arreglé, podrían haber usado las flechas xD
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 12, 2013, 09:32:25 PM
Cita de: Texic en Septiembre 12, 2013, 09:09:17 PM
Sobre los parientes, ya son parientes de obj_ia, no es realmente necesario que dejen el evento step ni create, con una llamada a los eventos parientes sería suficiente, pero no me molesté porque no veo la necesidad de esconder el funcionamiento del engine.
Nope, no son parientes. Al menos nunca leí en las reglas que tenían que serlo. Segundo, no es por esconderlos, usualmente no quieres que el usuario sepa lo que hay detrás de tus códigos, a menos que esas sean sus intensiones. Ademas Me parece más simple (sí aún más) crear un objeto sin nada e ir añadiendo códigos a los eventos definidos, sin tener que preocuparte por lo que lleva o no lleva. En todo caso, pues no es necesario, pero estaría bueno.

Descargaste el adjunto? El bug de movimiento está en las diagonales, algunas no funcionan (45° por ejemplo).

Al final no dijiste si trabajarás sobre el gmk que envié. Pero te lo recomiendo (puedes eliminar lo de los parientes) para que trabajes sobre una sola versión y puedas adaptar a studio fácilmente.

Por último no vi función para checar el slot actual y desde mi punto de vista es un error de diseño que aparezca un mensaje de error si se usa mal la función de cambiar de slot (una vez más revisa el adjunto y presiona 2 para cambiar al slot 2).

Otra sugerencia podría ser que dejes el personaje que creé por defecto en el gmk (está comentada y organizada), pienso que sería un poco más simple comenzar con una IA si se parte de un ejemplo (aunque no sea una IA en realidad).
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 12, 2013, 09:41:54 PM
Planeaba hacer los cambios que me dijiste en vez de cambiar de editable. Justamente eso hice con el personaje, acabo de agregar el chequeo para que no cambie si no hay arma y lo agregué por defecto en el room. El slot actual lo pueden llevar ustedes, tampoco me pareció necesario hacer un script que te lo devuelva porque se sabe el valor inicial de antemano. Ya mismo reviso las diagonales (Ya están reparadas, era un error por usar la función ceil)
Por cierto gracias por el debug, ha sido el más aplastante en mucho tiempo, pero da en el blanco y muy rapido jaja
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 12, 2013, 10:46:02 PM
Cita de: Texic en Septiembre 12, 2013, 09:41:54 PM
Por cierto gracias por el debug, ha sido el más aplastante en mucho tiempo, pero da en el blanco y muy rápido jaja
Jaja supuse que no te gustaría, pero ni modo de dejarlo todo bugueado y feo :P .

Buff lo anterior fue en broma, a nadie le gusta que le digan sus errores (que siempre por más que lo intentes terminas dejando algo) y mucho menos que sugieran hacer las cosas de otro modo. Aquí estamos para ayudarnos, gracias por el agradecimiento.

Cita de: Texic en Septiembre 12, 2013, 09:41:54 PM
(Ya están reparadas, era un error por usar la función ceil)
Alguna vez discutí con wadk el uso de esa función en lugar de floor y yo estaba a favor de ceil (puede que no tenga que ver con el caso), ahh solo de pensar mis argumentos me siento idiota.

Descargue la versión más nueva. Añadí unas cuantas cosas al personaje para probar y quité esto "var dirx,diry" de step ya que ya las habías declarado en create. Si no es mucha molestia también declara aSlot por código odio las librerías.
[gml]
//Cambio de arma;
if keyboard_check_pressed(ord("1")) {aSlot=0; scr_cambiar_arma(0);}
if keyboard_check_pressed(ord("2")) {aSlot=1; scr_cambiar_arma(1);}
if (mouse_wheel_down() || mouse_wheel_up()) {aSlot=!(aSlot-1)+1; scr_cambiar_arma(aSlot);}

//Recarga manual
if ( ( keyboard_check_pressed( ord("Q") ) || mouse_check_button_pressed(mb_right) ) && scr_balas_arma(2) ) scr_recargar_arma();
[/gml]

P.D: EL cambio de slot no funciona correctamente (no cambia).
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 12, 2013, 11:02:15 PM
Te fijaste teniendo 2 armas? Porque el chequeo está puesto para que cambie si es que hay un arma en el otro slot. Inicialmente el no llevar arma iba a implicar un cuchillo, pero me dijeron que sería inutil así que no puse nada. Fijate que para recoger un arma no es necesario usar el slot actual, es cuestión de hacer un chequeo a mano sobre qué conviene antes de agarrarla
Declaré las variables para debuguear porque tenía que dibujar un par de cosas, siguen ahí porque me olvidé de sacarlas jaja
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 12, 2013, 11:40:08 PM
Cita de: Texic en Septiembre 12, 2013, 11:02:15 PM
Te fijaste teniendo 2 armas? Porque el chequeo está puesto para que cambie si es que hay un arma en el otro slot. Inicialmente el no llevar arma iba a implicar un cuchillo, pero me dijeron que sería inutil así que no puse nada.
Uh eso lo explica todo. No creo que el cuchillo sea innecesario, cuando ya no te quedan balas siempre es útil (creo). En todo caso se tiene que cambiar el código agarrar armas de el jugador:
[gml]
//Tomar un arma
if keyboard_check_pressed( ord("E") ) {
    if (scr_get_arma(2)==""){
        scr_recoger_arma_piso( 2 );
    }else scr_recoger_arma_piso( aSlot );
}
[/gml]
Y estos cambíalos por 1 y 2, que los tenia con 0 y 1.
[gml]
if keyboard_check_pressed(ord("1")) {aSlot=1; scr_cambiar_arma(1);}
if keyboard_check_pressed(ord("2")) {aSlot=2; scr_cambiar_arma(2);}
[/gml]

Otra pregunta es, como funciona el evento 1, se activa siempre que alguien hace ruido (pasos) o solo con disparos. Funciona para todas las habitaciones o solo si está cerca, se puede saber de donde viene el sonido?.

Sabes planeo usar está IA para un juego y así matar 2 pájaros de un tiro, lo único que creo que yo creo le pondría a esto es poder correr (sin poder disparar), aunque supongo tu ya lo habías contemplado.
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 12, 2013, 11:43:40 PM
El evento 1 se activa cuando un enemigo dispara o recarga cerca (en el caso del disparo a una distancia de 300 y en la recarga 200 ya que hace menos ruido). En ese preciso momento se activa el evento y se pueden obtener sus datos de manera normal con el script scr_ver_enemigos, duran apenas un pestañeo, nuestra ia puede saber por el sonido de dónde vino, qué arma se usó y qué tipo de acción se realizó (también se puede obtener la vida, cosa que no es realista, pero es una nimiedad)
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Septiembre 13, 2013, 12:41:01 AM
  Saludos Makeros:


   ¡Muchas gracias a todos los que intervinieron en este nuevo GIA!

   Por lo que ya pude observar está muy trabajado y va a ser todo un reto para programar una buena IA...

  Tengo alguna dudas...

  1 - ¿Si los enemigos no colisionan con el "raycasting" cómo se ven los enemigos? ¿A una distancia específica? ¿Cual?

  2 - El "script" "scr_girar" dice "//hace que la IA gire hacia una dirección para detectar enemigos o realizar disparos". ¿Se detectan los enemigos a partir del frente del personaje?

  3 - Mi personaje se atasca cuando se pega a una pared de marcha atrás y luego intenta deslizarce a lo largo de la pared  mirando en dirección de la misma. ¿Es esto un "bug", que la máscara no es homogénea o que las colisiones son precisas?

  Por el momento son estás mis preguntas...

  Felicidades a Texic, Daz, Ciberman y Jesus por este nuevo GIA.

  ¡A Makear...! ;D 
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 13, 2013, 12:48:12 AM
El engine calcula un rango de visión para el personaje (para que el personaje no vea a través de cajas y eso). Hay un script llamado scr_ver_enemigos que te devuelve la cantidad de enemigos en vista, y los demás scripts sirven para obtener sus datos. El rango de visión se calcula hacia donde estás mirando, no importa qué dirección tomes para moverte. Bueno, no debería atascarse técnicamente, pero por la naturaleza de las máscaras circulares y los giros a partir de un punto medio puede meterse en una esquina al girar con un pixel en cada lado y eso te imposibilitaría salir con el script de mover (todavía trabajo para arreglarlo), sin embargo podés salir facilmente calculando un camino, que es mucho más fiable que el script mover
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 13, 2013, 01:39:07 AM
Sí, el problema con las colisiones se da ya que la mascara gira (odio que gm haga eso). Creo que esto no es un problema para las IAs, por lo mismo no había dicho nada, de todos modos lo resolví en mi editable para poder moverme con fluidez mientras juego contra mi IA. Si quieren saber cómo, simplemente eliminen todas las referencias a image_angle del objeto IA y en draw ponen esto:
[gml]draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, _visdir, image_blend, image_alpha);[/gml]

También se puede hacer la mascara cuadrada.
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 13, 2013, 02:17:34 AM
Ya eliminé las referencias a image_angle a ver si soluciona el error, gracias por el tip bruno, no había trabajado mucho con top-down antes
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 13, 2013, 06:22:11 AM
Cita de: Texic en Septiembre 13, 2013, 02:17:34 AM
Ya eliminé las referencias a image_angle a ver si soluciona el error, gracias por el tip bruno, no había trabajado mucho con top-down antes
Amo los top down. Mis primeros juegos fueron top down y aún actualmente sigo con eso, llevo unos cuantos meses trabajando en top down en gm:studio (AMAZING) así que se podría decir que estoy lleno de "tips" para esto.

Bueno aprovecho para decirte que el objeto de la luz de los disparos no se crea en el angulo al que miras, debido a lo de image_angle. También ya que tendrás que volverlo () subir cambia el código del jugador por esté para poder recargar cuando quieras y cambiar de arma con el mouse.

[spoiler]
[gml]
//Movimiento con teclas
var dirx,diry;
dirx=keyboard_check( ord("D" ))-keyboard_check( ord("A") );
diry=keyboard_check( ord("S") )-keyboard_check( ord("W") );
if abs(dirx) or abs(diry) scr_mover( point_direction(0, 0, dirx, diry) );

//Giro con el mouse
var diff;
diff=-( (( (( scr_get_direccion()-point_direction(x, y, mouse_x, mouse_y) )mod 360) +540)mod 360)-180 );
scr_girar( median( diff , 7, -7) );

//Cambio de arma;
if keyboard_check_pressed(ord("1")){ scr_cambiar_arma(1); aSlot=1}
if keyboard_check_pressed(ord("2")){ scr_cambiar_arma(2); aSlot=2}
if (mouse_wheel_down() || mouse_wheel_up()) {aSlot=!(aSlot-1)+1; scr_cambiar_arma(aSlot);}

//Recarga manual
if ( ( keyboard_check_pressed( ord("Q") ) || mouse_check_button_pressed(mb_right) ) && scr_balas_arma(2) ) scr_recargar_arma();

//Tomar un arma
if keyboard_check_pressed( ord("E") ) {
    if (scr_get_arma(2)==""){
        scr_recoger_arma_piso( 2 );
    }else scr_recoger_arma_piso( aSlot );
}

//Disparar
if mouse_check_button(mb_left){
    if !scr_balas_arma(1){
        if scr_balas_arma(2) scr_recargar_arma();
    }else{
        scr_disparar();
    }
}
[/gml]
[/spoiler]

Vamos y vuelvo con la sugerencia de correr, correr es necesario en esté tipo de juegos, daría muchas más posibilidades a las IAs ademas de más realismo.

P.D:Quizás sea molesto, pero intento sugerir todas las cosas que pueda hoy que es primer día ya que más tarde es probable que no se puedan implementar como dice el viejo dicho: "habla ahora o calla para siempre". Te envió un mp con otras cosas que tal vez podrías implementar.
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 13, 2013, 06:42:12 AM
Listo, ya está arreglado. Sobre correr, si, es una buena idea a implementar, pero es muy complicada por los tipos de movimiento involucrados, además de que habría que meter un chequeo en varios scripts para no ejecutarse si está corriendo, y el hecho de que la variable que maneja si estás corriendo o no debería durar 2 steps en vez de 1 y eso complicaría más las cosas. Es una buena sugerencia pero lamentablemente no puedo hacer un cambio así de grande en el engine a estas alturas, podría buguear o inhabilitar muchas cosas
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 13, 2013, 07:00:16 AM
Ya te envie el mp texic. La idea sería que puedas decidir la velocidad con la que caminas, y dependiendo de está tu puntería disminuya. De ese modo no tendrías que bloquear nada del engine, simplemente hacer el rango de aleatoriedad relativo a tu velocidad y de hecho quedaría genial. Implementar un sistema de cansancio podría estar bueno, pero eso si podría llegar a ser algo complicado.

Si hay alguna idea que te gusté pero no la vayas implementar por tiempo, quizá pueda ayudarte con eso que tengo algo de tiempo libre.
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Septiembre 13, 2013, 07:32:48 PM
Como se cruzan las puertas? si  me muevo manualmente puedo, pero si calculo un camino no puedo

Tambien me aparece este error cuando me quiero fijar el tipo de un objeto (supongo que es Vida, ya que es el unico objeto cercano)
In script scr_tipo_objeto:
Error in code at line 3:
   return (ds_list_find_value(_objetos,argument0-1)).tipo
                                                     ^
at position 52: Unknown variable tipo


Y por último el sprite de el objeto vida no está centrado, es decir que si me quiero mover hasta su posición debo escribir vida.x+16, vida.y+16
Perdón, esto estaba aclarado en la Nota 2

Ah, y por las dudas, ¿las preguntas de este tipo van acá?
Título: Re:GIA_04 Maze Shooter
Publicado por: Masterkey en Septiembre 13, 2013, 08:29:07 PM
Estoy pensando seriamente en participar, pero ese REGLAMENTO me dejó KO! (No intento ser prejuicioso, pero... ¡Cuantas reglas!) JAJA, en fin. Intentaré llegarle al nivel de todos los buenos makeros de esta comunidad  ;D
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Septiembre 13, 2013, 09:19:13 PM
Cita de: Masterkey en Septiembre 13, 2013, 08:29:07 PM
Estoy pensando seriamente en participar, pero ese REGLAMENTO me dejó KO! (No intento ser prejuicioso, pero... ¡Cuantas reglas!) JAJA, en fin. Intentaré llegarle al nivel de todos los buenos makeros de esta comunidad  ;D
Yo es la primera vez que participo y me parece un poco raro lo de las tres hojas en el evento create, no las entiendo, que son las hojas?
Citar10. Trabajar sobre hojas distintas a las que utilizan los scripts defaults que ya vienen con el editable.
  11. En las hojas se deberá incluir un // indicando si la hoja va antes o después del script default y en caso de ser varias numerarlas.
Como varias hojas? Que script default?
Pueden actualizar el SDK poniendo esas hojas así el participante las edita?
Obviamente no hay ningun apuro, ya mucho esfuerzo están poniendo en organizar el concurso!
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 13, 2013, 11:14:57 PM
Con ojas se refiere a la librería de "execute a piece of code". El script default es el que se llama "scr_init_ia" que está en el "obj_ia".

Y lo de comentar los códigos básicamente es hacer algo como esto:

[gml]//Antes:
xx=0;
yy=0;
busqueda[0]=0;
busqueda[1]=0;
//Esta sería mi hoja que va antes de ejecutar el script default[/gml]
[gml]Libreria--Exeute script: scr_init_ia--[/gml]
[gml]
//Despues:
xvel=0;
yvel=0;
slot=1;
ver=0;
//Está es mi hoja que va después del script default
[/gml]

En el caso del "obj_ia_player" no existe el "script default" por lo que la librería "Call the inherited event" toma su función y si pones un código antes de ella debes especificar que ese código va antes, lo mismo si lo pones después. Aunque en realidad lo más probable es que no tengas que poner ningún código antes.
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Septiembre 13, 2013, 11:15:43 PM
    Saludos Makeros-Hermanos de la ComunidadGM:


   ¡Bienvenidos a la Guerra de Inteligencia Artificial en su 4ta Edición!

  Siempre quise decir eso... :-[

Cita de: Texic en Septiembre 13, 2013, 12:48:12 AM
El engine calcula un rango de visión para el personaje (para que el personaje no vea a través de cajas y eso). Hay un script llamado scr_ver_enemigos que te devuelve la cantidad de enemigos en vista, y los demás scripts sirven para obtener sus datos. El rango de visión se calcula hacia donde estás mirando, no importa qué dirección tomes para moverte. Bueno, no debería atascarse técnicamente, pero por la naturaleza de las máscaras circulares y los giros a partir de un punto medio puede meterse en una esquina al girar con un pixel en cada lado y eso te imposibilitaría salir con el script de mover (todavía trabajo para arreglarlo), sin embargo podés salir facilmente calculando un camino, que es mucho más fiable que el script mover

  ¿Quieres decir que en la dirección en que esté "mirando" el personaje, o sea su frente sería más o menos la zona que él puede "ver"?  Aun así necesito saber a ciencia cierta cuantos píxeles en profundidad, en ancho... Necesito saber el área delimitada con certeza para poder sacar cálculos precisos...

Claro... tal vez el descubrirlo sea parte del concurso, pero no es justo pues como programador del mismo ya Texic sabe el área con exactitud... me pondré a llorar y se lo diré a mi mamá... :'( :'( :'(

Ahora en serio, ¿qué hago con lo de las áreas de visión? Me quedó muy claro que a través de los objetos no se puede "ver", solo preguntaba cual sería el área en caso de no haber objetos en medio... En caso de que se pueda saber, claro... :-[

Cita de: Mgbu en Septiembre 13, 2013, 09:19:13 PM
Yo es la primera vez que participo y me parece un poco raro lo de las tres hojas en el evento create, no las entiendo, que son las hojas?
Citar10. Trabajar sobre hojas distintas a las que utilizan los scripts defaults que ya vienen con el editable.
  11. En las hojas se deberá incluir un // indicando si la hoja va antes o después del script default y en caso de ser varias numerarlas.
Como varias hojas? Que script default?
Pueden actualizar el SDK poniendo esas hojas así el participante las edita?
Obviamente no hay ningun apuro, ya mucho esfuerzo están poniendo en organizar el concurso!

   Amigo Mgbu:

   Creo eso de las tres hojas se refiere a los íconos "Execute Code" en el "drag & drop" de la pestaña "Code". Debes arrastrar solo dos por que ya habrá uno, el "scr_init_ia":

  * uno será la hoja con el registro, donde colocas todos los datos de la IA que piden en el reglamento
  * y otra hoja donde colocarás tos propios códigos, las variables que vas a utilizar...

  Ahora con eso de las hojas numeradas explicando su orden se refieren a que:

  Por ejemplo... si creas varios "Execute Code" que están dentro del evento
"step" debes indicar en comentarios (//) con un número el orden en que se deben ejecutar cada uno de ellos y con relación al "script" "scr_step_ia"... si alguno debe ejecutarse entes del mismo o después, etc. De esta manera será más fácil de entender las IA cuando se junten en la batalla de todos contra todos. 

   Simplemente creo que es así, pudiera estar equivocado y entonces debería sumarme a tú pregunta y a Texic solo se le queda aclarar la duda...  8)

Un saludo a todos...

¡...Y a Makear...!  ;D
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 14, 2013, 12:07:13 AM
Cita de: Mgbu en Septiembre 13, 2013, 07:32:48 PM
Como se cruzan las puertas? si  me muevo manualmente puedo, pero si calculo un camino no puedo

Tambien me aparece este error cuando me quiero fijar el tipo de un objeto (supongo que es Vida, ya que es el unico objeto cercano)
In script scr_tipo_objeto:
Error in code at line 3:
   return (ds_list_find_value(_objetos,argument0-1)).tipo
                                                     ^
at position 52: Unknown variable tipo


Y por último el sprite de el objeto vida no está centrado, es decir que si me quiero mover hasta su posición debo escribir vida.x+16, vida.y+16
Perdón, esto estaba aclarado en la Nota 2

Ah, y por las dudas, ¿las preguntas de este tipo van acá?
Cuántas preguntas, calculando un camino se puede, pero el camino debe ser válido, fijate que puse en el post principal que la sprite del personaje está centrada, deberías intentar moverte hacia la la x+16,y+16 de la puerta
El error que recibiste puede ser por un sdk obsoleto, bajate el nuevo e importá los recursos reemplazando lo más reciente (con la función de exportar/importar de gm)
También podría ser que hayas hecho mal uso de la función, si hay 2 objetos en vista sólamente podrías acceder poniendo 1 o 2 (a lo mejor empezaste la cuenta desde 0)
En cuanto al reglamento, es básicamente el estándar de las GIA, con ligeros cambios particulares, no es un reglamento demasiado complicado, pero si es largo. El registro de la IA tampoco debe tener un nivel de complejidad alto, puede ser simple, depende de cómo lo quieran hacer
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Septiembre 14, 2013, 02:36:30 AM
Cita de: Texic en Septiembre 14, 2013, 12:07:13 AM
Cuántas preguntas, calculando un camino se puede, pero el camino debe ser válido, fijate que puse en el post principal que la sprite del personaje está centrada, deberías intentar moverte hacia la la x+16,y+16 de la puerta
Ah, yo me movía directamente escribiendo coordenadas de otra habitación, entonces hay que moverse a la puerta pero no moverse hacia atrás de ella
Cita de: Texic en Septiembre 14, 2013, 12:07:13 AM
El error que recibiste puede ser por un sdk obsoleto, bajate el nuevo e importá los recursos reemplazando lo más reciente (con la función de exportar/importar de gm)
También podría ser que hayas hecho mal uso de la función, si hay 2 objetos en vista sólamente podrías acceder poniendo 1 o 2 (a lo mejor empezaste la cuenta desde 0)
En cuanto al reglamento, es básicamente el estándar de las GIA, con ligeros cambios particulares, no es un reglamento demasiado complicado, pero si es largo. El registro de la IA tampoco debe tener un nivel de complejidad alto, puede ser simple, depende de cómo lo quieran hacer
El còdigo creo que está bien, es este:
for (i = 1; i <= scr_ver_objetos(); i += 1) {
    if (scr_tipo_objeto() = "Vida") {
        exito = scr_calcular_camino(x, y, scr_pos_objeto_x(i)+16, scr_pos_objeto_y(i)+16)
        if (exito = true) {
            scr_iniciar_camino()
            show_debug_message("Moviendome")
            break;
            }
        else show_debug_message("No encuentro camino")
        if (scr_point_free(scr_pos_objeto_x(i)+16, scr_pos_objeto_y(i)+16) = false) show_debug_message("No se puede")
        }
}

Vale destacar que si cambio if (scr_tipo_objeto() = "Vida") por if (true) todo funciona perfectamente, lo único es que no distingue entre cajas de vida y armas. Ah! y el error apacere al intentar obtener el tipo de una Pistola también
Mañana pruebo con una SDK nueva
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 14, 2013, 04:03:51 AM
Si, es el sdk, justamente tratando de adaptarla a studio cometí un error que causaba ese bug, si bajás la nueva sdk debería estar solucionado. Disculpen las molestias y bugs, espero que eso no quite la diversión de la GIA, realmente no encontré los bugs probando solo, resultaron mucho más visibles con tanta gente trabajando en ello, y eso que varias personas probaron el engine para debuguear
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 14, 2013, 05:45:26 AM
Cita de: Texic en Septiembre 14, 2013, 04:03:51 AM
Disculpen las molestias y bugs, espero que eso no quite la diversión de la GIA, realmente no encontré los bugs probando solo, resultaron mucho más visibles con tanta gente trabajando en ello, y eso que varias personas probaron el engine para debuguear
No tienes de que disculparte, dejar bugs es la cosa más "humana?" que puede existir. Y que los testers no los encuentren también es parte de su naturaleza.

@ferhand
El rango de visión es de 60° (30° hacia un lado y 30° hacia el otro a partir del centro) y la distancia limite es de 160 pixeles.

Me salen algunos errores en los scripts para obtener las coordenadas de los objetos "scr_pos_objeto_x(i)" y "Y". No importa que objeto esté viendo siempre retornan el mismo valor. Ups era que comenzaba a contar el indice de los objetos desde cero (la tercera vez que esto me sucede).

Te sugiero poner el numero de revisión del engine en su nombre y en el post principal. Para que no nos confundamos.
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Septiembre 14, 2013, 03:57:05 PM
Ahora sí, gracias! También voy a modificar el SDK para quitar ese splash que me hace perder mucho tiempo cada vez que pruebo ¿No me van a descalificar por algo asi? :P
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 14, 2013, 06:45:10 PM
Cita de: Mgbu en Septiembre 14, 2013, 03:57:05 PM
Ahora sí, gracias! También voy a modificar el SDK para quitar ese splash que me hace perder mucho tiempo cada vez que pruebo ¿No me van a descalificar por algo asi? :P
Jaja, espero que no, siendo así debería estar descalificado desde el primer día.
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 14, 2013, 07:51:44 PM
No, siéntanse libres de modificar el SDK a su gusto para los testeos. Pueden tocar cuanta variable quieran. Lo que sea su IA final y cómo funcione el SDK para mostrar los encuentros es otro tema
Título: Re:GIA_04 Maze Shooter
Publicado por: luckylandia007 en Septiembre 15, 2013, 06:26:05 PM
Interesante...
Título: Re:GIA_04 Maze Shooter
Publicado por: elviskelley en Septiembre 16, 2013, 04:56:41 PM
a mi me ha dado un error linea 34 event create, objcontrol
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 16, 2013, 08:23:44 PM
Pero si ni siquiera tiene 34 lineas el create del obj_control... A lo mejor te olvidaste de poner la IA en el room, copiá y pegá el error que recibiste
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Septiembre 16, 2013, 09:00:00 PM
Sigo molestando... pero creo que esto es importante

Cuando hago raycast con este código: show_debug_message("Raycast hacia coord = " + string(scr_raycast(x, y, x, y-150))) recibo 1, o sea que detecta colisión, pero cuando lo hago con raycast_ext recibo 0,
O sea por las dudas:

show_debug_message("string(scr_raycast_ext(x, y, x, y-150))) Devuelve 0
show_debug_message("string(scr_raycast(x, y, x, y-150))) Devuelve 1

No tiene sentido, raycast_ext debe darme una distancia
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 16, 2013, 10:14:00 PM
Al contrario, lo correcto es que me digan los bugs así pueden desarrollar correctamente la IA sin impedimentos por culpa de mis errores. Lo acabo de arreglar, era un error en lo que devuelve la función, tendía a devolver el id del objeto con el que colisionaba sin tener en cuenta que el rayo se acortaba hasta no colisionar, ni siquiera devolvía la distancia, no sé en qué estaba pensando cuando lo hice
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 16, 2013, 10:16:28 PM
@Mgbu: Lo acabo de probar y es cierto no funciona.

@Texic: Disculpa me podrías facilitar que significa el estado "Idle" que se  obtiene con el "scr_estado_enemigo()"?

Edit:justo escribió texic.
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 16, 2013, 10:22:37 PM
Cita de: brunoxzx en Septiembre 16, 2013, 10:16:28 PM
@Mgbu: Lo acabo de probar y es cierto no funciona.

@Texic: Disculpa me podrías facilitar que significa el estado "Idle" que se  obtiene con el "scr_estado_enemigo()"?

Edit:justo escribió texic.
Idle se refiere a que no se cumple ninguno de los otros dos estados (Disparando o Recargando), podría estar moviendose, estar quieto, estar girando, simplemente todo lo que no sea estar disparando o recargando
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 16, 2013, 10:51:51 PM
Cita de: Texic en Septiembre 16, 2013, 10:22:37 PM
Idle se refiere a que no se cumple ninguno de los otros dos estados (Disparando o Recargando), podría estar moviendose, estar quieto, estar girando, simplemente todo lo que no sea estar disparando o recargando
Ok. Gracias.

Las Ias no escuchan cosas que sucedan en otros rooms. Eso es normal?
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 16, 2013, 11:00:08 PM
Totalmente, imaginate que son herméticos xD
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 16, 2013, 11:20:55 PM
Cita de: Texic en Septiembre 16, 2013, 11:00:08 PM
Totalmente, imaginate que son herméticos xD
Mhh, interesante  :-X. Un pequeño cambio de planes para mi ia  :-[.
Título: Re:GIA_04 Maze Shooter
Publicado por: elviskelley en Septiembre 17, 2013, 02:08:26 PM
Mmm... Sip, había olvidado colocar mi Ia en el room.
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Septiembre 17, 2013, 08:04:47 PM
Sigo con problemas! No se si soy solo yo pero cuando uso el nuevo scr_raycast_ext el juego se traba, sin mostrar errores

Lo unico que hice fue poner esto en el create del obj_ia_player:
show_debug_message("Raycast hacia coord = " + string(scr_raycast_ext(x, y, x, y-150)))


Pueden verlo en el ejemplo adjunto (se traba en la splash screen porque no llega a dibujarse la room creo)
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 17, 2013, 11:57:30 PM
Uh, me había olvidado de recalcular la línea, listo, ya lo arreglé en el nuevo sdk, si no lo quieres descargar reemplaza el código de raycast_ext por este. Cuando lo reparé no tenía tiempo para testearlo, disculpa mgbu
[gml]/*
argument0 = x inicial del rayo
argument1 = y inicial del rayo
argument2 = x final del rayo
argument3 = y final del rayo
devuelve 0 si el rayo no detecta colisión y la distancia exacta hasta la misma si la detecta (con cajas, paredes y puertas, no IA enemigas)
*/
var col1,mit,asd,i,asdinit;
col=collision_point(x,y,obj_info_hab,0,1)
argument0=max(min(argument0,col.x+32*(col.image_xscale)),col.x)
argument1=max(min(argument1,col.y+32*(col.image_yscale)),col.y)
argument2=max(min(argument2,col.x+32*(col.image_xscale)),col.x)
argument3=max(min(argument3,col.y+32*(col.image_yscale)),col.y)
i=point_direction(argument0,argument1,argument2,argument3)
asd=point_distance(argument0,argument1,argument2,argument3)
asdinit=point_distance(argument0,argument1,argument2,argument3)
mit=asd
col1=collision_line(argument0,argument1,argument0+lengthdir_x(asd,i),argument1+lengthdir_y(asd,i),obj_solidos,1,1)
while !(col1=-4 and collision_line(argument0,argument1,argument0+lengthdir_x(asd+5,i),argument1+lengthdir_y(asd+5,i),obj_solidos,1,1)<>-4) and !(col1=-4 and asd>=asdinit)
{
mit=max(mit div 2,1)
if col1=-4 {asd+=mit}
else {asd-=mit}
col1=collision_line(argument0,argument1,argument0+lengthdir_x(asd,i),argument1+lengthdir_y(asd,i),obj_solidos,1,1)
}
if asd<>asdinit {return asd}
else {return 0}[/gml]
Título: Re:GIA_04 Maze Shooter
Publicado por: romon_28 en Septiembre 18, 2013, 01:52:23 PM
Me salto el siguiente error, despues que me el personaje salio de la habitacion traspasando los muros.

ERROR in
action number 2
of Other Event: User Defined 0
for object obj_ia:

In script scr_calcular_camino:
Error in code at line 9:
   argument0=max(min(argument0,col.x+32*(col.image_xscale)),col.x)
                                   ^
at position 34: Unknown variable x

Se que hay una nueva vercion me fijo si ya no tiene el problema.

Un consejo: Seria mejor que el personaje (obj_ia) tenga una mascara(mask_index) para evitar problemas de colision
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Septiembre 18, 2013, 05:09:40 PM
Ahora raycast_ext funciona bien, pobre Texic, le estamos bombardeando jaja

EDIT: Ah! siempre quise tener un banner de GIA, el banner de GIA 4 se hace antes o después del concurso?
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 18, 2013, 08:54:59 PM
Debería estar arreglado, fijate en la última versión. Antes la validación para el camino se caalculaba solamente mirando si el camino estaba libre, ahora se fija además que sea dentro del room
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Septiembre 18, 2013, 11:59:15 PM
  Saludos ComunidadGM:

    Makero Texic, seguro esto es una duda trivial, pero aquí va....

    Deseo hacerme de un "sprite" para personificar mi IA, pero no se si las colisiones son a partir de una máscara o son a partir de la imagen del combatiente. Deberían ser a partir de una máscara para que así no importe el aspecto del soldado, en caso contrario ¿cómo sería los pasos para personalizar gráficamente las IAs...?

  Un saludo todos

  ¡ ...Y a Makear...!  ;D
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 19, 2013, 12:41:35 AM
Cita de: Mgbu en Septiembre 18, 2013, 05:09:40 PM
Ahora raycast_ext funciona bien, pobre Texic, le estamos bombardeando jaja

EDIT: Ah! siempre quise tener un banner de GIA, el banner de GIA 4 se hace antes o después del concurso?
No del todo. A simple vista del script se pueden apreciar dos cosas.

La primera que es un script MUY pesado, se debe de usar con precaución (Quizá podría ser optimizado haciendo un script para obtener el punto exacto de colisión de una linea en un cuadrado, con alguna función matemática).

Y la segunda es que a texic es le paso por alto que el raycast puede iniciar desde cualquier punto y no solo desde las coordenadas del objeto que ejecuta el script. Si no me di a entender texic, la cosa está en que estás usando las variables "x" e "y", en lugar de "argument0" y "argument1" en el script.

@ferhand:
Revisa las propiedades de la mascara de colisión en el sprite por defecto y copíalas a tu nuevo sprite, basta con que el radio del elipse de la mascara sea el mismo en tu sprite y el por defecto. En parte creo que texic debió de habernos facilitado esto y dejar la mascara en un sprite separado. Por otra parte estaría bueno saber si puedo dibujar "cualquier" cosa y ponerla como el sprite de mi personaje.
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 19, 2013, 01:41:07 AM
Mh a ver no es muuuy pesado, está puesto en baja precisión y hace uso de una búsqueda dicotómica, el órden del algoritmo es de log(n) donde n sería la distancia al punto exacto dividido por 5. Dicho esto es obvio que usarlo excesivamente puede resultar lento, pero tampoco es para asustarse. La función está limitada al room en el que se encuentran, sin excepción, para eso está al principio la validación de los valores, a lo mejor tenés una versión vieja en la que no estaba, porque no siempre estuvo.
La sprite, la verdad no es tan complicado realizar una con la misma máscara la verdad, no sean vagos y dejen de decir que no les facilite cosas porque tienen scripts para todo xD
La sprite tiene que ser del mismo tamaño, 32x32, al menos los límites visibles (pueden hacer una de 64x64 centrada para ponerle brillitos a la sprite... Lo que se les ocurra, pero el personaje máximo puede medir 32x32, también van a tener que centrar la máscara en ese caso)
Pueden hacer lo que les venga en gana con el sprite en tanto no sea obsceno ni hiriente. A lo que me refiero, no voy a aceptar sprites de hittler o un personaje desnudo, no es la idea, pero pueden hacer un alien, pueden quitarle el arma al jugador del sprite, hacer un fantasma, lo que se les venga en gana, pero dentro de los límites de una sociedad sana
Espero que haya quedado claro, cualquier duda me consultan, en el caso de las sprites depende mucho de lo que quieran hacer, pero en general fuera de los casos anteriores casi todo está permitido
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 19, 2013, 07:13:04 AM
Cita de: Texic en Septiembre 19, 2013, 01:41:07 AM
Mh a ver no es muuuy pesado, está puesto en baja precisión y hace uso de una búsqueda dicotómica, el órden del algoritmo es de log(n) donde n sería la distancia al punto exacto dividido por 5. Dicho esto es obvio que usarlo excesivamente puede resultar lento, pero tampoco es para asustarse. La función está limitada al room en el que se encuentran, sin excepción, para eso está al principio la validación de los valores, a lo mejor tenés una versión vieja en la que no estaba, porque no siempre estuvo.
Sobre si es pesado o no, lo dejo así. Lo que quería decir es que no es recomendable usarlo en un bucle 20 veces por step. Y sobre el error en el script, yo simplemente vi el script que posteaste, no es que tenga una versión vieja. Ahora mismo lo acabo de probar y en efecto sucede lo que dije anteriormente, quizá no me entendiste. Vuelvo a explicar.

[gml]
//Esta linea está en el código que posteaste:
col1=collision_line(x,y,x+lengthdir_x(asd,i),y+lengthdir_y(asd,i),obj_solidos,1,1)

//No he leido bien como funciona el script sin embargo creo que debería de ir algo así
col1=collision_line(argument0,argument1,argument0+lengthdir_x(asd,i),argument1+lengthdir_y(asd,i),obj_solidos,1,1)
[/gml]
En pocas palabras con el script actual esto funcionaría a la perfección:
scr_raycast_ext(x, y, mouse_x, mouse_y);
Sin embargo esto daría error en caso de que tx o ty sean diferentes a tus x o y actuales.
scr_raycast_ext(tx, ty, mouse_x, mouse_y);

Sobre la mascara y el sprite todo me parece bien, aunque al final creo que solo le cambiare el color de pelo  XD.
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 19, 2013, 07:23:34 AM
Ahh tenés razón, no había entendido bien lo que pusiste porque no citabas partes de código. Listo solucionado. Estas cosas pasan cuando no forzás el código con valores que no está preparado para recibir
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 19, 2013, 06:51:56 PM
Hey texic, sé que no debería molestarte de nuevo  :P. Vas a pensar (o ya lo haces) que soy un completo quejumbroso. Pero justo me doy cuenta de que la escopeta resulta ser prácticamente igual de fuerte que la metralleta, pero con menos distancia. En pocas palabras, no veo porque enfrentarme a alguien con metralleta, si yo tengo escopeta.
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 19, 2013, 08:09:56 PM
Pues la escopeta es daño más inmediato, estando de cerca podrías hacer 15 de daño en tan solo un instante, mientras que con la ametralladora te tomaría 7 u 8 disparos. Veo más simple acercarse y pegar ese disparo bien de lleno que lograr apuntar perfecto esos 7 u 8 disparos de ametralladora. Luego de pegar el disparo ya decidirá qué hacer tu IA en el entretiempo hasta poder volver a disparar. En sí depende de cómo lo programes, pero se puede hacer tanto una buena IA que use escopeta como una buena IA que use ametralladora. Obviamente la de la ametralladora es mucho más simple, pero no por eso más eficaz
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Septiembre 20, 2013, 12:01:21 AM
  Saludos Makeros:


  Señores, sigo sin entender eso de la máscara...  :-[   Por más que busco no encuentro de que máscara hablan...  ???
  ¿Seré tonto?  :-\

  Sin más muchas gracias por atenderme...

  ¡...A Makear...!   ;D 
Título: Re:GIA_04 Maze Shooter
Publicado por: pikamaker en Septiembre 20, 2013, 02:23:22 AM
Hola!  :D
a alguno le pasa que al cambiar de arma, mas específicamente, cuando dejás un arma
la IA piensa que el arma que soltaste es la misma que acaba de agarrar?
no sé si me explico...
dejó unas fotos

acá tenía una pistola y la cambia por una escopeta,
pero después, cuando deja la pistola en el piso cree que todavía es una escopeta
y trata de agarrarla de nuevo y se traba  :-X

[spoiler]
(https://dl.dropboxusercontent.com/u/100090544/gia/screenshot100.png)
(https://dl.dropboxusercontent.com/u/100090544/gia/screenshot101.png)
[/spoiler]

pero cuando me alejo de ella y voy a escopetas normales esto no pasa che xD

[spoiler]
(https://dl.dropboxusercontent.com/u/100090544/gia/es%20escopeta%20%282%29.png)(https://dl.dropboxusercontent.com/u/100090544/gia/es%20escopeta.png)
[/spoiler]
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 20, 2013, 03:01:06 AM
Cita de: ferhand en Septiembre 20, 2013, 12:01:21 AM
  Saludos Makeros:


  Señores, sigo sin entender eso de la máscara...  :-[   Por más que busco no encuentro de que máscara hablan...  ???
  ¿Seré tonto?  :-\

  Sin más muchas gracias por atenderme...

  ¡...A Makear...!   ;D 
Abrí el sprite y poné modify mask, eso debería dejar las cosas claras
Cita de: pikamaker en Septiembre 20, 2013, 02:23:22 AM
Hola!  :D
a alguno le pasa que al cambiar de arma, mas específicamente, cuando dejás un arma
la IA piensa que el arma que soltaste es la misma que acaba de agarrar?
no sé si me explico...
dejó unas fotos

acá tenía una pistola y la cambia por una escopeta,
pero después, cuando deja la pistola en el piso cree que todavía es una escopeta
y trata de agarrarla de nuevo y se traba  :-X

[spoiler]
(https://dl.dropboxusercontent.com/u/100090544/gia/screenshot100.png)
(https://dl.dropboxusercontent.com/u/100090544/gia/screenshot101.png)
[/spoiler]

pero cuando me alejo de ella y voy a escopetas normales esto no pasa che xD

[spoiler]
(https://dl.dropboxusercontent.com/u/100090544/gia/es%20escopeta%20%282%29.png)(https://dl.dropboxusercontent.com/u/100090544/gia/es%20escopeta.png)
[/spoiler]
Gracias por reportar el bug, lo acabo de arreglar. Migra al nuevo SDK o cambia el código de scr_recoger_arma_piso por este
[gml]//argument0 = slot en donde se va a poner el arma (1 o 2)
//recoge un arma del piso si la hay, si el arma es diferente a la actual se reemplazam sino se suman las balas
//devuelve 1 si el arma existe, de lo contrario devuelve 0
var col;
argument0=max(min(argument0,2),1)
col=collision_circle(x,y,7,obj_arma,0,1)
if col<>-4
{
if _armas[argument0,1]=""
{
for (i=1;i<=7;i+=1)
{
_armas[argument0,i]=col.arma
}
with(col) {instance_destroy()}
}
else
{
if _armas[argument0,1]<>col.arma[1]
{
for (i=1;i<=7;i+=1)
{
_armas[3,i]=_armas[argument0,i]
_armas[argument0,i]=col.arma
col.arma=_armas[3,i]
col.sprite_index=col.arma[7]
}
col.tipo=col.arma[1]
}
else
{
_armas[argument0,4]+=col.arma[4]+col.arma[3]
with(col) {instance_destroy()}
}
}
ds_list_clear(_objetos)
return 1
}
else
{
return 0
}[/gml]
Título: Re:GIA_04 Maze Shooter
Publicado por: elviskelley en Septiembre 21, 2013, 07:05:25 PM
no vi ningún código que reemplace a distance_to_point(xx,yy) asi que lo usare o hay problem???
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 22, 2013, 02:31:15 AM
No hay problema alguno, las funciones matemáticas de gm pueden ser usadas, solamente se prohiben las funciones más obvias, detecciones de colisión, cerrar el juego, mplay, crear instancias, es cuestión de sentido común
Título: Re:GIA_04 Maze Shooter
Publicado por: xsailx en Septiembre 22, 2013, 12:53:49 PM
Hola amigo una pregunta , como es eso de la funcion raycast? que es eso? y tambien esta la raycast_ext , si me explicaras eso me serviria de gran ayuda . saludos
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Septiembre 24, 2013, 10:12:44 PM
Cual es la hora limite?

EDIT: Raycast te dice si la linea que uno especifica colisiona con una pared o caja, el raycast_ext hace lo mismo, pero además te dice la distancia
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 24, 2013, 11:54:13 PM
Uh, colgué mucho con lo del raycast, eso me pasa por leer los mensajes desde la facultad
La hora límite es a las 23:59 del 25 de septiembre para GTM -3
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Septiembre 25, 2013, 12:30:45 AM
   Saludos Makeros:


   No he tenido tiempo suficiente para ensamblar una IA decente para presentarla el 25 de Septiembre...  :'(

  ¿Podría presentarla en la segunda ronda de combates o es imperativo presentar la IA el primer momento?  ???

  Gracias por la atención prestada y...

  ¡...A Makear...!  ;D 
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 25, 2013, 12:43:09 AM
Podés entrar en cualquier ronda ferhand, en todas te voy a ganar (?
Ya fuera de chiste, mientras dure la GIA (no haya un ganador definitivo) cualquier persona puede enviar su IA o dejar de enviarla
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 25, 2013, 07:02:08 AM
Faltan 21 horas para que cierre la recepción de IA's de esta ronda, los que vayan a enviar no se queden dormidos! Saludos!
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Septiembre 25, 2013, 07:42:55 PM
Ayayayay que estoy jugado, eso me pasa por complicarme al principio. Para la proxima hay que empezar desde lo mas simple y facil

Por cierto GMT -3 es Argentina, Brasil, Uruguay, y otros. GMT -4 es Chile, y España creo que es GMT -1
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 25, 2013, 07:52:16 PM
Cita de: Texic en Septiembre 25, 2013, 07:02:08 AM
Faltan 21 horas para que cierre la recepción de IA's de esta ronda, los que vayan a enviar no se queden dormidos! Saludos!
Perdón. Terminaré entrando en la siguiente ronda. Mí tiempo disminuyo exponencialmente está semana, cosa que no tenia contemplada :'(.

Terrible cosa ya que quería quedar invicto desde la primera ronda  :P.
Título: Re:GIA_04 Maze Shooter
Publicado por: elviskelley en Septiembre 25, 2013, 08:00:39 PM
ya te envie la mia, aunque por falta de tiempo esta pobre. Agregala, la voy a mejorar mucho pero mucho para la segunda ronda.
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 25, 2013, 09:12:10 PM
Recibida! Se queda en un solo lugar, pero veo que no es intencional ni estratégico así que no cuenta como campeo, es válida. Por cierto elvis, las funciones simepre terminalas con () porque sino te devuelve el índice del script en vez de ejecutarlo, y tenés algunos else sin brackets (llaves), solamente van a ejecutar la instrucción siguiente que en tu caso es un comentario, deberías meterlos en bloques. Te digo para que te sea más facil mejorarla en la siguiente ronda, un saludo!
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Septiembre 26, 2013, 01:23:10 AM
Ya te la envie, esta MUY mala, tiene muchas cosas y scripts que no se estan usando, espero poder usarlas la semana que viene
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 26, 2013, 01:38:39 AM
Perfecto! La mayoría están sin trabajar, no te preocupes, esta GIA fue bastante compleja a pesar de que pareciera lo contrario. Y mientras más participantes mejor! Aunque la IA solamente dispare ya es una posibilidad de ganar
PD: Asegurate antes de que termine la GIA de presentar bien cómo piensa la IA aunque sea corto, algo como "mira si hay enemigos y dispara, si le falta vida la busca", porque eso se publica aparte del editable, la gente no va a tener acceso directo a tus scripts
Título: Re:GIA_04 Maze Shooter
Publicado por: pikamaker en Septiembre 26, 2013, 03:39:36 AM
fuuu...
malditos examenes!
dudo que llegue...
me falta hace que dispare, que cambie bien de arma y todavía no tengo bien entendido como armar las paginas de formalismo xD
en caso de que no llegué a esta..
la próxima ronda cuando es?
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 26, 2013, 04:12:52 AM
La próxima es el 2, van a ser cada una semana a partir de ahora
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Septiembre 26, 2013, 05:19:36 PM
Cita de: Texic en Septiembre 26, 2013, 01:38:39 AM
Perfecto! La mayoría están sin trabajar, no te preocupes, esta GIA fue bastante compleja a pesar de que pareciera lo contrario. Y mientras más participantes mejor! Aunque la IA solamente dispare ya es una posibilidad de ganar
PD: Asegurate antes de que termine la GIA de presentar bien cómo piensa la IA aunque sea corto, algo como "mira si hay enemigos y dispara, si le falta vida la busca", porque eso se publica aparte del editable, la gente no va a tener acceso directo a tus scripts
Ahh, para la proxima va a estar en la hoja aparte, no habia pensado que se iba a ver desde fuera del editable
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Septiembre 26, 2013, 11:59:33 PM
  Saludos Makeros:

  ¡Que exitante! Ya comenzó GIA4... :D   pero tengo una solicitud...  :-[

   Propongo que las competiciones sean cada dos semanas...  :)  ¿Por qué?  ???    Sencillo:  8)

  Esta vez la complejidad para hacer una buena IA creció exponencialmente.   8)
  * El hecho de que no se puedan determinar "Paths" entre cuartos...
  * No se pueden ver los enemigos hasta que sea algo tarde... lo mismo pasa con los objetos...
  * La simple idea de realizar elección entre defenderse en retirada, realizar acciones de guerrilla, ocultarse de algún fuego cruzado...

  Señores, no es nada fácil de concebir en tan poco tiempo algo tan complicado. Estoy seguro que el concurso aspira a obtener los mejores resultados posibles en materia de IA. Pero si una IA no tan buena alcanza algún punto en la primera semana y, seguidamente, alcanza algún otro punto la semana siguiente antes de que surjan las IAs competitivas, entonces el concurso habrá terminado sin lograr verse una batalla digna de un GIA de la ComunidadGM...

  ¿No se si llegan a entender mi punto? Los tiempos de elaboración de las IAs son insuficientes para el reto presentado...

  ...al menos eso creo yo... :-[

  Mi propuesta es que se extienda nunca menos de dos semanas (incluso propongo que sea mucho más) De esta manera se le sacará mejor partido al concurso y podrán llegar a competir IAs más completas, así como llegar a presentarnos aquellos que trabajamos ... :'(

  Muchas gracias  por la atención prestada...

¡..y a Makear!  ;D 
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 27, 2013, 02:07:48 AM
Un lindo punto de vista, pero la verdad en una semana se puede armar una ia zafable, sin contar que tuvieron 2 semanas anteriores, esta semana es de mejoras no para crear la ia desde 0 y presentarla. Si no quieren que termine pronto entonces makeen! Destronen a ciberman, esa es la única forma de que no gane definitivamente. Saludos!
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 27, 2013, 05:19:40 AM
Cita de: Texic en Septiembre 27, 2013, 02:07:48 AM
Si no quieren que termine pronto entonces makeen! Destronen a ciberman, esa es la única forma de que no gane definitivamente. Saludos!
Ciberman gano la primera fase? Donde puedo ver eso?
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 27, 2013, 07:10:52 AM
En la primera página se dan las noticias sobre lo que pasó, está el ejecutable y un video
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 27, 2013, 08:31:26 AM
Jajaja. Nada más vi el video, estuvo genial la batalla a la próxima compro palomitas para la ocasión. ¿Tus textos están editados por ti mismo o la Ia los dice sola? por que si los dice ella sola, estaría bueno que nos dejes la api de mensajes xD.

No he podido trabajar en mi Ia mucho, pero debo admitir que el video me animo más, espero hacer un buen tiempo el fin de semana para pulirla.
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 27, 2013, 07:11:20 PM
Las ia estan programadas para decir los textos solas, es uno de los scripts del sdk, dale una mirada :P
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 27, 2013, 07:32:21 PM
Cita de: Texic en Septiembre 27, 2013, 07:11:20 PM
Las ia estan programadas para decir los textos solas, es uno de los scripts del sdk, dale una mirada :P
Ja no había visto, pues buena idea hablar le da un toque genial a las IAs.
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Septiembre 28, 2013, 12:37:15 AM
  Saludos Makeros:


   Bueno, Texic, ¿qué se le va a hacer?  :(   Esas son las reglas... :( 

   Lo decía porque yo no tengo tanto tiempo libre en la semana. En un día de descanso no puedo desarrollar algo tan complicado.  :'(

  Veré que puedo hacer.  8)

  Gracias de todas formas por leer la solicitud.  ;D 
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Septiembre 28, 2013, 12:59:36 AM
  Saludos Makeros (nuevamente):

   Makero Texic, en el video de los resultados de la batalla pude apreciar que se otrogan puntos a las IAs jugadoras...  :D

  ¿Cuales son las acciones por las cuales se otorgan puntos?  ???

  Gracias por la atención prestada y...

  ¡...a Makear!  ;D 
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 28, 2013, 01:01:37 AM
Explico el sistema de puntajes. Hay 1 punto por cada IA asesinada y luego hay puntos por supervivencia. El primero en morir obtiene 0 puntos, el segundo 1 punto, el tercero 2 puntos, así sucesivamente. Los que sobrevivieron (puede ser más de uno si la ronda finaliza por tiempo) obtienen 1 punto más que el último en morir, 3 para el caso de este ejemplo
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 28, 2013, 04:59:40 AM
Y si quedan empate o quizá un punto de diferencia? Estaría ver un  1v1
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 28, 2013, 05:07:14 AM
Podría considerar agregar un modo muerte súbita, por ahora planeaba hacer que los encuentros en empate no cuenten un ganador para ese encuentro
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Septiembre 28, 2013, 09:17:15 AM
Tampoco es algo realmente necesario aún no sabemos si habrá empates...
Título: Re:GIA_04 Maze Shooter
Publicado por: Ulises en Septiembre 29, 2013, 01:25:53 PM
Hola a todos!

Tengo un grave problema con la SDK de este torneo, y quiero creer que no es solo mío  :'(
Veréis, estaba probando las IA's en la room default del editable, cuando me di cuenta de que el Game Maker se crasheaba cuando 3 IA's se encontraban en la misma room y disparando (si no disparan no se da el problema). Le di muchas vueltas para ver si había algún error en el código de la IA;  probé con otros Game makers (la 8, la 8.1, gm studio...) y en todos se crashea cuando ocurre eso. Hasta que vi que en el ejecutable de la primera ronda ¡también se crashea en la segunda ronda cuando ciberman se encuentra con mgbu!

No puedo testear bien mis IA's si siempre ocurre eso  :(, ¿es sólo problema mio?¿a alguien más le ocurre esto?
Muchas gracias de antemano por cualquier sugerencia,  :D
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Septiembre 29, 2013, 04:19:30 PM
A mi tambien me suele pasar, pero como no debugeo tanto las batallas (¿Que voy a debugear si mi IA no hace nada? XD) no me molesta tanto. Simplemente se encuentran dos IAs, se disparan,  y dice que ha dejado de funcionar
Título: Re:GIA_04 Maze Shooter
Publicado por: klys en Septiembre 29, 2013, 05:00:14 PM
Estoy un poco perdido... Aun estan abiertas las entradas a este desafio?

Me gustaria unirme, esta muy interesante :D
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 29, 2013, 10:09:27 PM
Si, está abierto, baja el SDK, desarrolla tu IA, envíala y estás dentro, y el bug es por un tema del event_user 1. Creí que había subido el editable arreglado... Mis disculpas a todos, ya está el nuevo SDK arreglado

EDIT: Lo de que se crashea en el ejecutable del concurso es imposible, ese estaba arreglado y jamás me crasheó en las casi 62 veces que lo probé
Título: Re:GIA_04 Maze Shooter
Publicado por: Ulises en Septiembre 30, 2013, 12:42:04 AM
Ahh! Muchas gracias Texic!  :D Creí que el problema era mio y no tendría solución  :-[ Sin embargo, no se por qué ocurre lo del ejecutable, será que me descargue uno anterior o no sé, gracias de nuevo! y animo a todos para la siguiente ronda ^^
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Septiembre 30, 2013, 09:55:07 PM
   Saludos Makeros:

Cita de: Texic en Septiembre 29, 2013, 10:09:27 PM
Si, está abierto, baja el SDK, desarrolla tu IA, envíala y estás dentro, y el bug es por un tema del event_user 1. Creí que había subido el editable arreglado... Mis disculpas a todos, ya está el nuevo SDK arreglado

EDIT: Lo de que se crashea en el ejecutable del concurso es imposible, ese estaba arreglado y jamás me crasheó en las casi 62 veces que lo probé

Cita de: Ulises en Septiembre 30, 2013, 12:42:04 AM
Ahh! Muchas gracias Texic!  :D Creí que el problema era mio y no tendría solución  :-[ Sin embargo, no se por qué ocurre lo del ejecutable, será que me descargue uno anterior o no sé, gracias de nuevo! y animo a todos para la siguiente ronda ^^

     Makero Ulises, tienes razón.   :D A mi me ha pasado también con el ejecutable de la competencia.

   Pensé que había sido que la descarga estaba incompleta tal vez y lo descargué de nuevo. No ha vuelto a pasar...  ???   Ni idea de por qué...

   Makero Texic, quiero hacer pública una felicitación por el esfuerzo empleado en la preparación de esta edición de GIA. Creo que hablo a nombre de todos los makeros y te doy las gracias por este evento, como también se las di a Ciberman en su momento... 

   ¡Arigato Texic!  ;D
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 30, 2013, 09:58:40 PM
De nada :-[
Ya sé por qué les sucedió, probablemente cerraron el rar mientras se ejecutaba la GIA, estoy en lo correcto?
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Septiembre 30, 2013, 10:11:05 PM
   Saludos Reiterados Makero Texic:

Cita de: Texic en Septiembre 30, 2013, 09:58:40 PM
De nada :-[
Ya sé por qué les sucedió, probablemente cerraron el rar mientras se ejecutaba la GIA, estoy en lo correcto?

   Me sucedió varias veces con el mismo ejecutable cada vez que intercambiaban disparos dos IAs...  :D

  No creo que Ulises y yo hayamos cerrado los .rar en el mismo momento...  :-\ 

  ...Exactamente ocurría en el mismo instante...  ;D
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Septiembre 30, 2013, 10:20:06 PM
  Por cierto, Texic:

   Tengo dudas que no se si serán penadas en el concurso:
   
   1* ¿Puedo crear cuanta variable quiera incluyendo otros "path"?
   2* ¿Puedo crear mi propia función para crear un nuevo "path" y luego sustituir el "path01" por el nuevo que he creado?
   

  tenía más pero se me olvidaron...  :-[  
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Septiembre 30, 2013, 10:30:00 PM
Ah, puede ser por recargar en el event_user 1, me faltó arreglar eso. En un rato vuelvo a subir el SDK. Gracias por avisar.
Ferhand, no dejo trabajar con paths, ya que trabajar directamente con un path te dejaría atravesar una pared. Usá pilas o colas si querés crear un recorrido. Además no permito tocar las variables internas del motor, como en cualquier otra GIA. Saludos!

EDIT: Listo, subido!
Título: Re:GIA_04 Maze Shooter
Publicado por: Ciberman en Octubre 02, 2013, 02:46:06 AM
Ferhand, te digo, lo que podés hacer (y de hecho mi IA lo hace en algunas ocasiones, la IA nueva que no está en esta ronda)
es calcular el path que vos quieras e ir recorriendolo con path_point_x path_point_y y agregar los puntos a un array, despues los vas siguiendo a esos puntos desde el step con el scr_mover. :)
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Octubre 02, 2013, 07:56:40 AM
Cita de: Ciberman en Octubre 02, 2013, 02:46:06 AM
Ferhand, te digo, lo que podés hacer (y de hecho mi IA lo hace en algunas ocasiones, la IA nueva que no está en esta ronda)
es calcular el path que vos quieras e ir recorriendolo con path_point_x path_point_y y agregar los puntos a un array, despues los vas siguiendo a esos puntos desde el step con el scr_mover. :)

Parece ser que vienes con todo Ciberman   :P.

@Texic: Hay algún problema si no envió el archivo de texto que dice como funciona mi IA?, no creo tener tiempo de escribirlo, aún sigo mejorando mi IA, hoy le he dedicado más horas a esto que en las 3 semanas anteriores para tener algo decente y prefiero no enfocarme en esas cosas de momento.
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Octubre 02, 2013, 08:02:00 AM
Si para la tercera ronda lo enviás con total certeza entonces no hay problema, si no estás seguro de llegar a hacerlo para la tercera pues entrarás más adelante
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Octubre 02, 2013, 08:10:36 AM
Cita de: Texic en Octubre 02, 2013, 08:02:00 AM
Si para la tercera ronda lo enviás con total certeza entonces no hay problema, si no estás seguro de llegar a hacerlo para la tercera pues entrarás más adelante
Cita de: Texic en Octubre 02, 2013, 08:02:00 AM
Si para la tercera ronda lo enviás con total certeza entonces no hay problema, si no estás seguro de llegar a hacerlo para la tercera pues entrarás más adelante
Completamente seguro de que lo envió está semana, el tiempo limite para esta ronda es hasta hoy en la noche, verdad?
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Octubre 02, 2013, 08:16:03 AM
Si, faltan alrededor de 21 horas todavía
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Octubre 02, 2013, 08:35:26 AM
Cita de: Texic en Octubre 02, 2013, 08:16:03 AM
Si, faltan alrededor de 21 horas todavía
Ok, gracias.

Edit:Ya envié mi IA, no la logre terminar (y tengo que salir ahora mismo), tuve unos cuantos problemas con el sistema de exploracion y me atrase (sin embargo explora muy bièn xD). Así que todo lo de disparar y que solo puede recoger la metralleta y nada más es improvisado de las ultima hora y media. Suerte para todos (menos Ciberman xD).
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Octubre 03, 2013, 02:56:41 AM
  Saludos Makeros:


  Me he enredado con el sistema de exploración de tal manera que no me dará tiempo entregar la IA para esta ronda. También me dio tiempo de localizar un "Bug" en el "script" "scr_calcular_camino" de la versión subida el día 30.

  El error que me muestra GM es este:

    ERROR in
action number 2
of Create Event
for object obj_ia_player:

In script scr_calcular_camino:
Error in code at line 12:
   mp_grid_add_instances(obj_control.grid,obj_puerta,0)
                                     ^
at position 36: Unknown variable grid

  Como comprenderán no tengo tiempo para calcular un camino propio en tan poco tiempo y mucho menos si Texic prohíbe la utilización de "path" propios...

  En caso de que no haya un ganador definitivo y se arregle el "bug" mencionado, entonces podré participar en la próxima ronda sin muchas complicaciones...

   :'( :-[ :'( :-[ ;D 

Cita de: Ciberman en Octubre 02, 2013, 02:46:06 AM
Ferhand, te digo, lo que podés hacer (y de hecho mi IA lo hace en algunas ocasiones, la IA nueva que no está en esta ronda)
es calcular el path que vos quieras e ir recorriendolo con path_point_x path_point_y y agregar los puntos a un array, despues los vas siguiendo a esos puntos desde el step con el scr_mover. :)

   Gracias de todas formas Ciberman.

   En caso de que no ganes nos vemos en la arena la semana que viene...

   Te deseo mucha suerte (no es cierto)  XD  XD  XD

   ...ya fuera de bromas, Le deseo mucha suerte a todos!!!   ;D
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Octubre 03, 2013, 03:18:52 AM
Estás tratando de calcular un camino antes de que el pobre room termine de inicializarse y cree la grid. Lamentablemente no es un bug reparable por la naturaleza del generador de mapas que usa el editable oficial, por lo que vas a tener que usarlo en el evento 0 con un chequeo booleano para realizarlo una sola vez. Mis disculpas, saludos!
Título: Re:GIA_04 Maze Shooter
Publicado por: pikamaker en Octubre 03, 2013, 04:04:43 AM
el sprite de la ia muerta debe ser igual para todos?
en unos minutos la envío (~'0')~
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Octubre 03, 2013, 05:31:09 AM
@ferhand yo también tube problemas con el sistema de exploración. Primero pensé que se permitian crear paths a otras habitaciones(muy tonto de mi parte),entonces quic hacer mi propia grilla para usar el pathfinding por defecto de gm, pero luego vi tu post de los paths y tube que quitar eso, al final quedo bien no exactamente como esperaba pero funciona, el problema fue que me tarde más de lo que esperaba y no pude hacer nada más.

En pocas palabras espejo tener la oportunidad de competir en otra ronda....
Título: Re:GIA_04 Maze Shooter
Publicado por: elviskelley en Octubre 03, 2013, 08:06:13 PM
Y ¿cuales fueron los resultados?
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Octubre 03, 2013, 10:24:07 PM
   Saludos Makeros:

  ¿Quién ganó la segunda ronda?  :o

  ¿Tengo que descargar el ejecutable para eso?  :-\ 

  A veces no puedo descargar ni la página debido al tipo de conexión...  :'( 

Cita de: Texic en Octubre 03, 2013, 03:18:52 AM
Estás tratando de calcular un camino antes de que el pobre room termine de inicializarse y cree la grid. Lamentablemente no es un bug reparable por la naturaleza del generador de mapas que usa el editable oficial, por lo que vas a tener que usarlo en el evento 0 con un chequeo booleano para realizarlo una sola vez. Mis disculpas, saludos!

   Ya entiendo... Gracias Texic por la explicación.  XD  En caso de que vaya a haber otra ronda ya tengo cosas adelantadas...  XD   

Cita de: brunoxzx en Octubre 03, 2013, 05:31:09 AM
@ferhand yo también tube problemas con el sistema de exploración. Primero pensé que se permitian crear paths a otras habitaciones(muy tonto de mi parte),entonces quic hacer mi propia grilla para usar el pathfinding por defecto de gm, pero luego vi tu post de los paths y tube que quitar eso, al final quedo bien no exactamente como esperaba pero funciona, el problema fue que me tarde más de lo que esperaba y no pude hacer nada más.

En pocas palabras espejo tener la oportunidad de competir en otra ronda....

   Makero brunoxzx:

  Yo todo el tiempo pensé en crear mis propios "path" también, pero siempre supe que las reglas del juego condenaban los "path" entre habitaciones distintas, por eso los "path" iban a ser internos de cada habitación. Aún así Texic no deja utilizar ningún "path" propio... Deberíamos hablar con él y llegar a algún acuerdo, ¿no crees?   :)

  ¿Por fin, quién ganó la 2da ronda del GIA4?   ??? ??? ??? ???

  Edito:    Ya se los resultados...

   ¡Felicidades a todos los participantes, en especial a Texic!  ;D
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Octubre 03, 2013, 11:38:52 PM
CitarAún así Texic no deja utilizar ningún "path" propio... Deberíamos hablar con él y llegar a algún acuerdo, ¿no crees?
Ceroo, a llorar a sus casas y a programar más duro, que ciberman se hizo un tremendo sistema para mapear las habitaciones y saber volver a buscar algo. Si les dejara usar paths propios dejaría un bache de seguridad y les facilitaría demasiado volver a buscar algo, esfuércense y programen sus propios sistemas, el que quiere celeste que le cueste
Ahora subo el video para los que no pueden ver el ejecutable
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Octubre 04, 2013, 01:35:10 AM
Que lastima, voy a tener que cambiar el chequeo de enemigos. Ahora el ataque suicida se hace al ver a Texic
Mejoramos un poco, pero todavia no se por que el mio se quedaba trabado despues de disparar a alguien
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Octubre 04, 2013, 06:54:51 AM
Cita de: ferhand en Octubre 03, 2013, 10:24:07 PM
   Makero brunoxzx:
  Yo todo el tiempo pensé en crear mis propios "path" también, pero siempre supe que las reglas del juego condenaban los "path" entre habitaciones distintas, por eso los "path" iban a ser internos de cada habitación. Aún así Texic no deja utilizar ningún "path" propio... Deberíamos hablar con él y llegar a algún acuerdo, ¿no crees?   :)
Jeje siento no ayudarte con esto ferhand, me agradaría fomentar los baches de seguridad, la anarquía y el trabajo extra para organizadores de concursos en la comunidad :-[. Pero creo ya termine con mi sistema de exploración (aunque eso no quita que vea mal que tengamos que programar un completo A* si queremos explorar otras habitaciones).

@Texic: Quería preguntar si hay algún modo de obtener el room que se uso en está versión del concurso, intente recrearlo para reproducir el bug en donde mi IA se atora, pero no funciono...

Por último te dejo con unas ideas, no crees que estaría bueno que las views cambiaran de tamaño conforme IAs van perdiendo? o con algún botón poder tener una vista global del juego?
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Octubre 04, 2013, 07:27:00 AM
No y si, el estilo de vista cambiable es activable con la tecla 4 (no del teclado numérico, sino las que están arriba de las letras). Podría agregar otro que sea libre, veo
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Octubre 04, 2013, 09:34:14 PM
   Saludos Makeros: 

Cita de: Ciberman en Octubre 02, 2013, 02:46:06 AM
Ferhand, te digo, lo que podés hacer (y de hecho mi IA lo hace en algunas ocasiones, la IA nueva que no está en esta ronda)
es calcular el path que vos quieras e ir recorriendolo con path_point_x path_point_y y agregar los puntos a un array, despues los vas siguiendo a esos puntos desde el step con el scr_mover. :)

   Exactamente es lo que tenía pensado, pero para lograrlo tenía que calcular previamente un "path"...

  Makero Texic, eso es lo que necesito se me apruebe, poder utilizar las estructuras "path", aunque no sea directamente. Poder crear un "path" y luego utlizarlo, ya sea como lista de puntos o de otra manera, para moverme hacia un objetivo. Si tengo que calcular un camino a partir de la nada sería como como reinventar un sistema de "path" para GM y yo no soy "Mark Overmars". Si Ciberman puede utilizar los "path" de GM para extraer lo que necesita, eso es lo mismo que necesito yo.  ¿Entonces por qué me niegan todo el tiempo el poder utilizar las estructuras "path"? Nunca mi intención fue crear "path" entre los cuartos...   
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Octubre 05, 2013, 02:34:34 AM
Ahh, ferhand no aclaraste que era para usar internamente sin inicarlo, si en ese caso podés usarlo, pero no iniciarlo ni chequear cosas que estén afuera del room (podés hacer tu sistema propio para guardarte posiciones y chequearlas, me refiero a chequear directamente con position_meeting o la devolución de intentar hacer un mp_grid_path por ejemplo)
Título: Re:GIA_04 Maze Shooter
Publicado por: Ciberman en Octubre 05, 2013, 06:49:16 PM
Claro, como dice Texic, el reglamento dice que no se pueden cambiar variables que ya esten creadas. "x" e "y" serían variables ya creadas. y efectuar un path_start sería cambiar directamente las variables "x" e "y". Sin embargo se puede ir consultando el path que nos devuelve la función mp_grid_path.
Por ejemplo, les pego un fragmento de uno de los scripts que uso yo para que  vean como se hace (mi intención es que participen y se diviertan la mayor cantidad de personas, no que se queden trabados con algo tan tonto como esto)
[gml]
//scr_ciberman_path_puerta(x1,y1,x2,y2);
// crea un camino de x1,y1 a x2,y2 y devuelve -1 si el camino es dentro de la misma habitación.
// Si hay que pasar de una habitación a la otra para completar el camino devuelve el ID de la puerta que hay que cruzar.
var xx,yy,i;
//SC es una constante que yo creé que vale 32.
path=path_add();
mp_grid_path(GRID_mp,path,argument0,argument1,argument2,argument3,true); //Esta es una mp_grid propia que yo tengo y que voy agregando los datos de colisión.
for(i=0; i<path_get_number(path); i+=1; ) {
    xx=floor(path_get_point_x(path,i)/SC);
    yy=floor(path_get_point_y(path,i)/SC);
    if(ds_grid_get(GRID_colid,xx,yy)==2){ //GRID_colid es OTRA grid que uso para saber datos de las habitaciones.
//un valor 2 signifia que en esa posición hay una puerta.
        for (j=0; j<numero_puertas; j+=1;) { //checkea entre todas las puertas
            if (ARRAY_puertas[j,0]==xx*SC and ARRAY_puertas[j,1]==yy*SC) { //si existe una puerta igual
                return j;
           //Array puertas es un array con todas las puertas que la IA se fue encontrando. A cada una le asigna un ID propio. (0 y 1) son X e Y de la puerta.
            }
        }
    }
}
return -1;
[/gml]
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Octubre 09, 2013, 08:33:01 PM
Hey texic unas cuantas preguntas.

Primero con la vida, hay alguna especie de count down al tomar una? (por alguna razón desconocida mi ia se traba unos segundos al tomar una).

Luego por que el script de mover solo funciona con 8 direcciones?, es raro, de todos modos puedes llegarte a mover en cualquier direccion usando el path pero es algo más complicado ¿por que no hacer que el script funcione con cualquier direccion?
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Octubre 09, 2013, 09:04:28 PM
No hay countdown de ningún tipo para agarrar vidas. El script mueve en 8 direcciones por prevención de bugs con el tema de los puntos flotantes, ya en el pasado miles de veces me ha sucedido que el personaje se trabe dentro de una pared por malos cálculos de punto flotante, que suceden cuando se tienen números con mucha precisión decimal, el moverse en 8 direcciones es mucho menos arriesgado porque siempre es un movimiento con números enteros, mirate el código fuente del scr_mover y te vas a dar cuenta
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Octubre 09, 2013, 11:37:46 PM
Te envie mi nueva IA porque ya es miercoles de nuevo!
Fijate si esta todo bien
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Octubre 09, 2013, 11:43:48 PM
Ok, ahora no tengo tiempo para checar el script pero ya veré luego...
Sobre el coundown supongo que es algo con mi IA (muy raro), pero bueno.

Tendré que salir en un rato y muy probablemente no alcance a enviar mi IA, llegaré tarde (10pm:gmt-6) y hasta esa hora podré enviarla, a ver si me esperas o algo :-\...
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Octubre 10, 2013, 01:25:28 AM
Sería hasta la 1am en mi país... Bueno te espero hasta esa hora, pero si no está lista para entonces tengo que largar la ronda
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Octubre 10, 2013, 05:28:43 AM
  Saludos Makeros:

    Makero Texic, ya está saliendo mi correo con mi IA. Por favor no cierres la entrega todavía. Los servidores de acá está copados y se coloca en cola casi cualquier fichero.

   Trataré de comprimirlo más y de enviarlo nuevamente...

   Un saludo...
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Octubre 10, 2013, 05:29:37 AM
La espero, no hay ningún problema ferhand, saludos!
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Octubre 10, 2013, 05:39:29 AM
   Saludos Makero Texic:

   Ya salió el primer intento, el segundo aún lo está "intentando"  ....

  ¡Cuantas veces se usó el verbo intentar!  XD XD XD XD XD

  Gracias nuevamente... ;D 
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Octubre 10, 2013, 05:43:15 AM
  ¡Ya logró subir al servidor de correo!

   Ahora solo resta esperar...

  Texic, tuve muy poco tiempo como para redactar mejor la hoja con los problemas de la IA.  :-[

  ¿Podré entregarlos pasado mañana?  ???

   ;D   
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Octubre 10, 2013, 05:48:58 AM
Si, no hay problema, todavía resta un rato para esperar a bruno y estoy esperando que ciberman se vuelva a conectar para reparar un error en su código, sino la tengo que dejar fuera esta ronda
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Octubre 10, 2013, 05:57:45 AM
Espero no quedar fuera, llegue más tarde de lo esperado, allí te va. La compu en la que trabajo es de mi hermano por lo que no puedo llevármela a todos lados para poder enviarla desde allá.

Mis más sinceras disculpas si atrase algo...
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Octubre 11, 2013, 11:12:18 PM
  Saludos makeros:


  ¿Señores, seré el único que se le cierra el ejecutable cuando dos IAs comienzan a dispararse entre sí?  ???

  Aún no he podido ver los resultados de las tercera ronda...  :'(
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Octubre 11, 2013, 11:50:40 PM
Pero está el video. Y cómo puede ser que se te cierre, a la mayoría le anda bien... Debe ser un problema específico de hardware
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Octubre 12, 2013, 12:05:27 AM
Cita de: ferhand en Octubre 11, 2013, 11:12:18 PM
  Saludos makeros:


  ¿Señores, seré el único que se le cierra el ejecutable cuando dos IAs comienzan a dispararse entre sí?  ???

  Aún no he podido ver los resultados de las tercera ronda...  :'(
A mi tambien me pasa, que Windows tenes? Yo tengo Windows 8 64 bits, pero tambien me pasa cuando juego a mis juegos en la notebook (Windows 7 32 bits)
O sea, se me cierra cuando dos se empiezan a disparar, porque en mi juego de tanques tambien me pasa (podes ver que el juego es bien simple (http://www.comunidadgm.org/index.php?topic=17485.msg83236#msg83236))
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Octubre 12, 2013, 12:17:55 AM
  Saludos Makeros:


Cita de: Texic en Octubre 11, 2013, 11:50:40 PM
Pero está el video. Y cómo puede ser que se te cierre, a la mayoría le anda bien... Debe ser un problema específico de hardware

  ¿Video? Si te refieres al cuadro que sale inmediatamente debajo del aviso del ejecutable, pues está bloqueado y solo veo un anuncio de prohibición. No te preocupes, solo pasa por conectarme desde acá. Solo prohibición para nosotros.



Cita de: Mgbu en Octubre 12, 2013, 12:05:27 AM
A mi tambien me pasa, que Windows tenes? Yo tengo Windows 8 64 bits, pero tambien me pasa cuando juego a mis juegos en la notebook (Windows 7 32 bits)
O sea, se me cierra cuando dos se empiezan a disparar, porque en mi juego de tanques tambien me pasa (podes ver que el juego es bien simple (http://www.comunidadgm.org/index.php?topic=17485.msg83236#msg83236))

    Sí, me sucede en mi Laptop. Tengo una Elitebook, hp, con W8 Pro de 64 Bits y no puedo ni siquiera mientras pruebo mis propias IAs.

  El segundo encuentro solo lo pude ver cuando lo descargué por segunda vez. Ese ahora no me causa cierres.

  ¿Curioso, no? ¿Qué podría ser eso? ¿Gost In The Shell?  XD XD XD

   Cuando los corro en la PC del trabajo, que es bien vieja, corre sin problema alguno...  >:( 

  Pareciera que me están tomando el pelo las PC!!!!  >:( >:( >:( 
   Y tengo mucho pelo para eso...  :P

  Chicos, ¿se le podrá dar solución a eso? Por favor, que no sea que me compre una PC vieja...  XD XD XD

   Un abrazo para ustedes...  ;D
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Octubre 12, 2013, 12:47:17 AM
   Saludos makero:


   ¡Felicidades Mgbu, has ganado la 3era ronda!   8) 8) 8)


    Dale duro que tú puedes amigo...  ;D
Título: Re:GIA_04 Maze Shooter
Publicado por: Ulises en Octubre 12, 2013, 01:39:59 AM
Ferhand, a mi me pasa igual desde el principio, y también tengo un Windows 8 x64, no puedo probar bien mis IA's cada vez que se disparan y en el ejecutable. Será de este maldito Windows 8?
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Octubre 12, 2013, 02:36:55 AM
Cita de: Ulises en Octubre 12, 2013, 01:39:59 AM
Ferhand, a mi me pasa igual desde el principio, y también tengo un Windows 8 x64, no puedo probar bien mis IA's cada vez que se disparan y en el ejecutable. Será de este maldito Windows 8?
No, me pasa en Windows 7 también
Lo raro es que cuando hice mi juego de tanques andaba, y tenía Windows 7 (o Vista, no me acuerdo)
Para colmo que busqué un poco en Google y nada.
Habría que buscar bien el problema, ver si es la cración de objetos, las colisiones, o qué
En Linux para encontrar los errores de los programas se abren desde el terminal así el programa va dejando un log o algo así. No se puede en Windows?
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Octubre 14, 2013, 01:19:18 AM
Perdon por doble post, pero tengo un problema con scr_get_camino que hace que mi IA no se mueva, está explicado en http://www.comunidadgm.org/index.php?topic=19166.msg90939#new (http://www.comunidadgm.org/index.php?topic=19166.msg90939#new)
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Octubre 15, 2013, 01:48:33 AM
  Saludos Makeros:


   Mi amigo, el makero Mgbu, me comentó que los posibles errores son causados por la reproducción de los sonidos en el SDK. Cuando dos o más armas se disparan simultáneamente, se bloquea el SDK al reproducir el sonido de los disparos.

Me señala que comentó las líneas de código que llaman a la reproducción de los sonidos de disparo en el SDK y no se trabó el SDK editable del GIA4.

  ¿Texic, qué tiene Usd que decir a cerca de esto?   ;D     
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Octubre 15, 2013, 02:08:57 AM
Si, se han reportado en el pasado errores con el sistema de sonidos de game maker 8 y windows 8, no por nada lo cambiaron en studio. Si la solución les funciona saquen los sonidos para desarrollar sus ia's. Saludos!
Título: Re:GIA_04 Maze Shooter
Publicado por: elviskelley en Octubre 15, 2013, 08:08:59 PM
cuando es la 4ta ronda?
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Octubre 15, 2013, 09:04:39 PM
Como todas las semanas, la envias el miercoles y el jueves te divertis viendo soldaditos con el cerebro de una mosca
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Octubre 17, 2013, 05:07:55 AM
Nuevamente, vengo llegando a está hora  :(. Te envió mi IA a ver si alcanzas a añadirla...
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Octubre 18, 2013, 10:17:42 PM
Cita de: Mgbu en Octubre 15, 2013, 09:04:39 PM
Como todas las semanas, la envias el miercoles y el jueves te divertis viendo soldaditos con el cerebro de una mosca

  Ja, ja, ja... Muy, pero muy gracioso el chiste... XD XD XD XD XD


   ¡Te ganaste diez puntos, Mgbu!  XD XD XD

  Me has hecho reír demasiado...  ;D
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Octubre 21, 2013, 11:58:01 PM
    Saludos Makeros:

Cita de: Texic en Septiembre 12, 2013, 02:43:40 AM

La ia de ferhand tuvo que ser removida por un error de array out of bounds.

    Makero Texic, discúlpame por no haberme dado cuenta antes.  :-[
   
   ¿Qué fue lo que pasó exactamente?  ???
   ¿Cómo pudo funcionar una vez y a la siguiente no?   :-\

Necesito saber que variable dio el error para poder corregirlo...  ;D
Título: Re:GIA_04 Maze Shooter
Publicado por: Texic en Octubre 22, 2013, 12:11:56 AM
Traté de reproducir el error, no sé si será el mismo porque cambié la seed una vez que te saqué del juego (porque la cantidad de jugadores influye en el mapa creado)
CitarERROR in
action number 2
of Other Event: User Defined 0
for object obj_ia_ferhand:

In script scr_ferhand_estado_recorrer:
Error in code at line 43:
               if((x div 32 ==  recorrido[recorrido[0,0],1]div 32) and (y div 32 == recorrido[recorrido[0,0],2]div 32) and room_actual == scr_hab_id())
                                ^
at position 31: Unknown variable recorrido or array index out of bounds
Título: Re:GIA_04 Maze Shooter
Publicado por: ferhand en Octubre 22, 2013, 12:26:49 AM
    Saludos Makero Texic:

Cita de: Texic en Octubre 22, 2013, 12:11:56 AM
Traté de reproducir el error, no sé si será el mismo porque cambié la seed una vez que te saqué del juego (porque la cantidad de jugadores influye en el mapa creado)
CitarERROR in
action number 2
of Other Event: User Defined 0
for object obj_ia_ferhand:

In script scr_ferhand_estado_recorrer:
Error in code at line 43:
               if((x div 32 ==  recorrido[recorrido[0,0],1]div 32) and (y div 32 == recorrido[recorrido[0,0],2]div 32) and room_actual == scr_hab_id())
                                ^
at position 31: Unknown variable recorrido or array index out of bounds

  Gracias lo revisaré...  ;D
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en Octubre 24, 2013, 06:09:43 AM
Acabo de enviar mi IA texic. Espero aún no hayas hecho la simulación, suerte en esta ronda.
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Octubre 24, 2013, 06:15:58 PM
No es para apurar a Texic, pero hoy me levanté pensando en que iba a ver a mi IA (asesinando?) en la quinta ronda del concurso
Título: Re:GIA_04 Maze Shooter
Publicado por: brunoxzx en 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)?
Título: Re:GIA_04 Maze Shooter
Publicado por: Mgbu en Octubre 25, 2013, 01:24:53 AM
Si, es a muerte subita.
Me parece raro que no haya ningun aviso, en las rondas anteriores siempre habia algun comentario. A lo mejor para esta ronda extendieron el plazo y no nos enteramos

Lo mejor es que con un poco de suerte cualquiera puede ganar
Título: Re:GIA_04 Maze Shooter
Publicado por: Daz en Octubre 25, 2013, 11:29:23 AM
Tranquilos tranquilos, qué ansiedad, jaja.
Texic comentó en el tema de Consola GM lo siguiente:
CitarPor cierto, he estado muy ocupado estos últimos días, mis disculpas por no dar la clase (y hacer tarde la simulación de la GIA)

Así que dadle un poco de tregua, Texic es humano, estará ocupado (lo que tiene ser humano, fíjate, tener responsabilidades y eso, ha!).