Autor Tema: GIA_04 Maze Shooter  (Leído 26083 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Texic

  • Moderadores globales
  • Legendario
  • *
  • Puntos: 1212
  • Mensajes: 2.157
  • Sexo: Masculino
  • I Have The Fire!
    • Ver Perfil
GIA_04 Maze Shooter
« en: Septiembre 12, 2013, 02:43:40 am »

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

Citar
Bases 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
« última modificación: Octubre 25, 2013, 09:20:29 pm por Texic »





 
No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Ciberman

  • Okupa
  • *
  • Puntos: 203
  • Mensajes: 1.216
  • Sexo: Masculino
  • Ciberman Games - Un pixel Marca la Diferencia
    • Ver Perfil
    • Ciberman
Re:GIA_04 Maze Shooter
« Respuesta #1 en: Septiembre 12, 2013, 05:22:40 am »
Yo me uno!! No me lo pienso perder!!
Ya mismo estoy programando mi IA....
Cita de: CGM 2008
CGM: Un poco mas serios, mejores Juegos.
Bienvenid@ a CGM. Recomenzamos desde cero, con un reglamento mas estricto, mejor definido y con mas ganas que nunca de hacer juegos con calidad comercial. El que avisa no es traidor: Leete las reglas si no quieres llevarte un capon makero.
Mercilessly!!
Plug-In para animaciones: http://ciberman.net/tweenline/
 


Desconectado brunoxzx

  • Okupa
  • *
  • Puntos: 360
  • Mensajes: 1.156
  • Sexo: Masculino
    • Ver Perfil
Re:GIA_04 Maze Shooter
« Respuesta #2 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!.
« última modificación: Septiembre 12, 2013, 09:43:15 am por brunoxzx »
 

Desconectado Texic

  • Moderadores globales
  • Legendario
  • *
  • Puntos: 1212
  • Mensajes: 2.157
  • Sexo: Masculino
  • I Have The Fire!
    • Ver Perfil
Re:GIA_04 Maze Shooter
« Respuesta #3 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)



 

Desconectado knd144

  • Adicto
  • *
  • Puntos: 175
  • Mensajes: 490
  • Sexo: Masculino
  • Nunca pienso en el futuro, llega demasiado pronto.
    • Ver Perfil
    • Rincon knd144
Re:GIA_04 Maze Shooter
« Respuesta #4 en: Septiembre 12, 2013, 04:23:20 pm »
Me uno, me uno....
Genial, me haré tiempo. Me gustó la mecánica; excelente trabajo  ;)



Rincon knd144
-Proyecto Aquilesvania 60%
 

Desconectado romon_28

  • Okupa
  • *
  • Puntos: 445
  • Mensajes: 592
  • Sexo: Masculino
    • Ver Perfil
Re:GIA_04 Maze Shooter
« Respuesta #5 en: Septiembre 12, 2013, 06:12:25 pm »
 :-\ como hago para probar mi IA?  ???
 

Desconectado Daz

  • ʀᴀɪsᴇ ᴜʀ ᴅᴏɴɢᴇʀs ヽ༼ຈل͜ຈ༽ノ
  • Administrador
  • Okupa
  • *
  • Puntos: 657
  • Mensajes: 839
  • Sexo: Masculino
    • Ver Perfil
    • Dazlog Games
Re:GIA_04 Maze Shooter
« Respuesta #6 en: Septiembre 12, 2013, 07:05:57 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
 

Desconectado Ciberman

  • Okupa
  • *
  • Puntos: 203
  • Mensajes: 1.216
  • Sexo: Masculino
  • Ciberman Games - Un pixel Marca la Diferencia
    • Ver Perfil
    • Ciberman
Re:GIA_04 Maze Shooter
« Respuesta #7 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?
Cita de: CGM 2008
CGM: Un poco mas serios, mejores Juegos.
Bienvenid@ a CGM. Recomenzamos desde cero, con un reglamento mas estricto, mejor definido y con mas ganas que nunca de hacer juegos con calidad comercial. El que avisa no es traidor: Leete las reglas si no quieres llevarte un capon makero.
Mercilessly!!
Plug-In para animaciones: http://ciberman.net/tweenline/
 

Desconectado brunoxzx

  • Okupa
  • *
  • Puntos: 360
  • Mensajes: 1.156
  • Sexo: Masculino
    • Ver Perfil
Re:GIA_04 Maze Shooter
« Respuesta #8 en: Septiembre 12, 2013, 08:13:17 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.
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.
« última modificación: Septiembre 12, 2013, 08:20:28 pm por brunoxzx »
 

elviskelley

  • Visitante
Re:GIA_04 Maze Shooter
« Respuesta #9 en: Septiembre 12, 2013, 08:17:47 pm »
ok descargando y trabajando en mi Ia
 

Desconectado Mgbu

  • Okupa
  • *
  • Puntos: 548
  • Mensajes: 817
  • Sexo: Masculino
  • Hola! (?)
    • Ver Perfil
Re:GIA_04 Maze Shooter
« Respuesta #10 en: Septiembre 12, 2013, 08:59:19 pm »
Estoy probando las acciones con mi teclado con este codigo en User Defined 0
Código: [Seleccionar]
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?
El Manual

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

                                                               Murphy

 

Desconectado brunoxzx

  • Okupa
  • *
  • Puntos: 360
  • Mensajes: 1.156
  • Sexo: Masculino
    • Ver Perfil
Re:GIA_04 Maze Shooter
« Respuesta #11 en: Septiembre 12, 2013, 09:08:21 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.

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.
 

Desconectado Texic

  • Moderadores globales
  • Legendario
  • *
  • Puntos: 1212
  • Mensajes: 2.157
  • Sexo: Masculino
  • I Have The Fire!
    • Ver Perfil
Re:GIA_04 Maze Shooter
« Respuesta #12 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



 

Desconectado brunoxzx

  • Okupa
  • *
  • Puntos: 360
  • Mensajes: 1.156
  • Sexo: Masculino
    • Ver Perfil
Re:GIA_04 Maze Shooter
« Respuesta #13 en: Septiembre 12, 2013, 09:32:25 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).
« última modificación: Septiembre 12, 2013, 09:33:56 pm por brunoxzx »
 

Desconectado Texic

  • Moderadores globales
  • Legendario
  • *
  • Puntos: 1212
  • Mensajes: 2.157
  • Sexo: Masculino
  • I Have The Fire!
    • Ver Perfil
Re:GIA_04 Maze Shooter
« Respuesta #14 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
« última modificación: Septiembre 12, 2013, 09:52:29 pm por Texic »