Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: ¡GIA_01+ comenzó!  (Leído 733 veces)

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

Desconectado eduardo960

en: Enero 04, 2020, 07:19:30 am
¡GIA_01+ ha comenzado!


Envía tu IA | Resultados
Descargar editable

Próxima fecha de envío:


5 de Febrero de 2020 a las 12:00pm (GMT-6)
21 de Enero de 2020 a las 00:00 (GMT-6)
11 de Enero de 2020 a las 00:00 (GMT-6)


GIA_01 está oficialmente de vuelta, corriendo en Game Maker: Studio 1.4 y con ligeros cambios en el comportamiento del motor. Esta vez el concurso se dividirá en 2 fases, la primera siendo la tradicional carrera que se conoció hace más de 10 años, la segunda se dará a conocer a detalle una vez concluya la primera. Cabe mencionar que cualquier persona puede registrarse y participar en cualquier momento mientras el concurso no haya finalizado, aunque las fechas de entrega seguirán siendo las mismas, y por obvias razones, los que se registraron primero tendrán más posibilidades de presentar algo más sólido.
 
La fase 1 consta de una serie de rondas que finaliza cuando se determina al Campeón de la Fase 1. En cada ronda, la IA vencedora quedará con el título de Posible Campeón. Luego, habrá un lapso de 7 días para que los competidores intenten mejorar sus IA's y así venzan al Posible Campeón. Este ciclo se repetirá hasta la ronda en la que el último Posible Campeón no sea vencido, quedándose así con el título de Campeón de la Fase 1.

Reglamento general

El participante deberá agregar su IA dentro del objeto obj_ctrl, evento Create, hoja 1,  utilizando una función. Un ejemplo:
/*
   argument0: Nombre del objeto
   argument1: Nombre de la IA
*/

scr_add_player(objGogo, "Gogolithic");

Las únicas acciones que pueda realizar su IA están establecidas por una serie de scripts listados a continuación:
/*
   scr_walk();
   función: mover la IA de forma horizontal.
   argument0: -1 para avanzar a la izquierda, 1 para la derecha
*/

scr_walk(argument0);

/*
   scr_salto();
   función: hacer saltar a la IA.
*/

scr_salto();

/*
   scr_salto_stop();
   función: cancela la ejecución de scr_salto(); dentro del mismo step en el que se llamó.
*/

scr_salto_stop();

No se puede hacer la IA para un room especifico, debe ser capaz que funcionar bien en cualquier ambiente. Un ejemplo de lo que NO se puede hacer
if (room == GIA_01)
{
    /*
       Código
   */
}

Además

  • Utiliza el objeto objPlayerBase como referencia, dale el nombre de tu IA y asignale el sprite que diseñaste.
  • Sólo se trabaja sobre el objeto de la IA propia.
  • No se pueden modificar variables existentes, solo comprobar su valor. Ejemplo: x, y, speed, globales.
  • Sólo se puede modificar variables creadas por uno mismo.
  • No se puede hacer uso del evento draw.
  • No se pueden crear ni destruir instancias a menos que alguna función permitida lo haga.
  • Si se crean scripts, deberán llamarse "scr_nombredeljuegador_nombredelscript", crear la carpeta Participantes y colocarlos dentro.
  • Si una IA relentiza demasiado el juego, el juez puede optar por no validarla.
  • Se debe trabajar sobre hojas distintas a las que ya vienen incluidas en el objeto de IA base. Tus hojas pueden ser colocadas antes o después.
  • Si se participó en la edición previa de GIA_01, no se puede hacer uso del código que haya sido creado, se deberá empezar desde cero.

* Se utilizará Game Maker: Studio 1.4.9999 para la evaluación, no es aconsejable utilizar una versión anterior pues el comportamiento podría ser diferente.
* Se recomienda no liberar el código de tu IA, no es una regla, pero la intención del concurso es que cada quién tome su propio rumbo y haya diversidad de inteligencias.
* El sistema de puntuación incluido en el editable NO es el definitivo, ver sección Puntuación para conocer los detalles.

Puntuación

Puntos por rendimiento

Se creó una herramienta que registra el impacto que tiene la IA en funcionamiento, los FPS establecidos como máximos son 1800,  se agrega una instancia extra del objeto de la IA por iteración en un máximo de 10 iteraciones (De 0.5 segundos cada una), se sacan promedios de FPS de cada iteración y utilizando un valor base de puntos de 3600 (Técnicamente el mayor número de puntos que se pueden conseguir, si es que la IA tuviera un impacto nulo, lo cual en sí es imposible), se va restando de manera relativa el porcentaje de pérdida en FPS que refleja cada iteración. El código es el siguiente:

//basePoints: 3600
//maxFPS: 1800

promFPS[currentIteration] = 0;
for(currentStep = 1; currentStep  <= registeredSteps; currentStep  ++)
    promFPS[currentIteration] += obtainedFPS[currentIteration, currentStep];

promFPS[currentIteration] = round(promFPS[currentIteration] / registeredSteps);
promFPS[currentIteration] = min(promFPS[currentIteration], global.maxFPS);
if (currentIteration > 1)
    percent = (promFPS[currentIteration] / promFPS[currentIteration - 1]);
else
    percent = (promFPS[currentIteration] / global.maxFPS);

totalPoints -= (totalPoints * (1 - percent));

Puntos por nivel

La IA puede conseguir un máximo de 3600 puntos por nivel, perdiendo 60 puntos por cada segundo que tarde en llegar a la meta.

Bonificaciones por lugar

Las IAs que obtengan entre el primero y el tercer lugar en ciertos niveles, recibirán un porcentaje de bonificación sobre el total de sus puntos:

  • 1º lugar: 12.5%
  • 2º lugar: 6.25%
  • 3º lugar: 3.125%

Esto sólo aplica para los siguientes niveles:

  • Nivel 3
  • Nivel 5
  • Nivel 6
  • Nivel 9

Es posible que dos o más jugadores compartan un lugar, si los puntos entre ellos son iguales. Ejemplo:
  • Jugador 1: 5000 (Primer lugar)
  • Jugador 2: 5000 (Primer lugar)
  • Jugador 3: 5000 (Primer lugar)
  • Jugador 4: 4800 (Segundo lugar)
  • Jugador 5: 4000 (Tercer lugar)

Premios

Gracias a Ciberman, el Campeón Definitivo de esta edición de GIA recibirá las siguientes licencias de sus productos:


Debido a que él también está participando, en el caso de que resultara ser el ganador, se le entregarán las licencias al segundo lugar.

Conclusión

Una vez se haya declarado el Campeón Definitivo, se procederá a liberar el código de todas las IA's para que todos podamos aprovechar ese conocimiento, además de que dentro de la página de GIA de ComunidadGM se incluirá una nueva función de Editor de niveles en la cual tú podrás diseñar tus propios niveles y llevar al límite la capacidad de las IA's registradas.

Estará disponible un canal en Discord para cualquier sugerencia, duda, o reporte de algún bug. Saludos.
« última modificación: Enero 23, 2020, 01:34:36 am por eduardo960 »

W.I.P:            RaceBall, SceneChat, MMOPTG
Contacto:    Twitter, Facebook
 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Ciberman

  • Okupa
  • *
  • Puntos: 212
  • Mensajes: 1.221
  • Agradecido: 4 veces
  • Sexo: Masculino
  • Ciberman Games - Un pixel Marca la Diferencia
    • Ver Perfil
    • Ciberman
Respuesta #1 en: Enero 04, 2020, 10:37:32 am
Que alegría!
En el "Game information" del proyecto sigue el reglamento viejo del 2008. Se sigue requiriendo hacer el "Registro" de la IA?

A codear se ha dicho!

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/
 
Los siguientes usuarios dieron las gracias a este tema: Johann


Desconectado Marth

Respuesta #2 en: Enero 04, 2020, 11:14:21 am
Vale, el concurso ha empezado.
Me fijo que es obligatorio el uso del primer GMS.
Yo tengo aún ese software, pero igual hubiera sido lo suyo usar GMS2, por el hecho de ser el Game Maker actual.

Si piensas que los usuarios de tus programas son idiotas, sólo los idiotas usarán tus programas.

-Linus Torvalds ("Padre" de Linux)-
 


Desconectado Jucarave

  • Ganador Proyecto Nexo
  • Adicto
  • *
  • Puntos: 435
  • Mensajes: 493
  • Agradecido: 31 veces
  • Sexo: Masculino
  • De regreso con un nuevo proyecto
    • Ver Perfil
    • Jucarave Games
Respuesta #3 en: Enero 04, 2020, 05:28:08 pm
Al fin! hora de comenzar :D

Mucha suerte a todos

Checa mi canal de Youtube para tutoriales y charlas sobre desarrollo de videojuegos.

 
Los siguientes usuarios dieron las gracias a este tema: Johann


Desconectado eduardo960

Respuesta #4 en: Enero 04, 2020, 06:36:26 pm
Que alegría!
En el "Game information" del proyecto sigue el reglamento viejo del 2008. Se sigue requiriendo hacer el "Registro" de la IA?

A codear se ha dicho!

Olvidé esa parte del proyecto, pero una vez habilite el formulario para subir sus IA's, habrá una caja de texto para dejar un registro por cada versión que vayan subiendo. Una vez finalizado el concurso, toda esa información estará disponible.

Vale, el concurso ha empezado.
Me fijo que es obligatorio el uso del primer GMS.
Yo tengo aún ese software, pero igual hubiera sido lo suyo usar GMS2, por el hecho de ser el Game Maker actual.

Considero que GM: Studio es más accesible debido a la diferencia de precios a la que se consigue respecto a GM: Studio 2, sin mencionar que apenas he tocado GM: Studio 2 después de haberlo comprado.

W.I.P:            RaceBall, SceneChat, MMOPTG
Contacto:    Twitter, Facebook
 


Desconectado elviskelley

Respuesta #5 en: Enero 05, 2020, 06:32:48 pm
yo solo tengo el  :GM8: puedo hacerlo con ello?+
Edith: Ya vi que no, esta en  :GMS:
« última modificación: Enero 05, 2020, 06:36:05 pm por elviskelley »

Atentamente.-
Elvis Kelley
Mi Manual.
 


Desconectado eduardo960

Respuesta #6 en: Enero 09, 2020, 08:59:52 pm
El formulario de envío está disponible

Envía tu IA

W.I.P:            RaceBall, SceneChat, MMOPTG
Contacto:    Twitter, Facebook
 


Desconectado eduardo960

Respuesta #7 en: Enero 11, 2020, 06:31:36 am
La puntuación de las IAs se realizará de la siguiente manera.

Puntos por rendimiento

Se creó una herramienta que registra el impacto que tiene la IA en funcionamiento, los FPS establecidos como máximos son 1800,  se agrega una instancia extra del objeto de la IA por iteración en un máximo de 10 iteraciones (De 0.5 segundos cada una), se sacan promedios de FPS de cada iteración y utilizando un valor base de puntos de 3600 (Técnicamente el mayor número de puntos que se pueden conseguir, si es que la IA tuviera un impacto nulo, lo cual en sí es imposible), se va restando de manera relativa el porcentaje de pérdida en FPS que refleja cada iteración. El código es el siguiente:

//basePoints: 3600
//maxFPS: 1800

promFPS[currentIteration] = 0;
for(currentStep = 1; currentStep  <= registeredSteps; currentStep  ++)
    promFPS[currentIteration] += obtainedFPS[currentIteration, currentStep];

promFPS[currentIteration] = round(promFPS[currentIteration] / registeredSteps);
promFPS[currentIteration] = min(promFPS[currentIteration], global.maxFPS);
if (currentIteration > 1)
    percent = (promFPS[currentIteration] / promFPS[currentIteration - 1]);
else
    percent = (promFPS[currentIteration] / global.maxFPS);

totalPoints -= (totalPoints * (1 - percent));

Puntos por nivel

La IA puede conseguir un máximo de 3600 puntos por nivel, perdiendo 60 puntos por cada segundo que tarde en llegar a la meta.

Bonificaciones por lugar

Las IAs que obtengan entre el primero y el tercer lugar en ciertos niveles, recibirán un porcentaje de bonificación sobre el total de sus puntos:

  • 1º lugar: 12.5%
  • 2º lugar: 6.25%
  • 3º lugar: 3.125%

Esto sólo aplica para los siguientes niveles:

  • Nivel 3
  • Nivel 5
  • Nivel 6
  • Nivel 9

Es posible que dos o más jugadores compartan un lugar, si los puntos entre ellos son iguales. Ejemplo:
  • Jugador 1: 5000 (Primer lugar)
  • Jugador 2: 5000 (Primer lugar)
  • Jugador 3: 5000 (Primer lugar)
  • Jugador 4: 4800 (Segundo lugar)
  • Jugador 5: 4000 (Tercer lugar)
« última modificación: Enero 11, 2020, 07:43:49 am por eduardo960 »

W.I.P:            RaceBall, SceneChat, MMOPTG
Contacto:    Twitter, Facebook
 


Desconectado eduardo960

Respuesta #8 en: Enero 11, 2020, 07:33:12 am
Resultados de la prueba de rendimiento.

Cada ronda se calculará el rendimiento de cada una de las IA's, por lo que estos resultados no son considerados como definitivos.

  • Puntos para FJ: 74
  • Puntos para Ciberman: 936
  • Puntos para BlackCat: 998
  • Puntos para Knd144: 1062
  • Puntos para Marth: 954

FJ
Código: [Seleccionar]
FPS con  1 instancias: 433
FPS con  2 instancias: 201
FPS con  3 instancias: 129
FPS con  4 instancias: 95
FPS con  5 instancias: 78
FPS con  6 instancias: 69
FPS con  7 instancias: 55
FPS con  8 instancias: 46
FPS con  9 instancias: 44
FPS con 10 instancias: 37

Ciberman
Código: [Seleccionar]
FPS con  1 instancias: 1800
FPS con  2 instancias: 1756
FPS con  3 instancias: 1318
FPS con  4 instancias: 1076
FPS con  5 instancias: 882
FPS con  6 instancias: 740
FPS con  7 instancias: 666
FPS con  8 instancias: 591
FPS con  9 instancias: 519
FPS con 10 instancias: 468

BlackCat
Código: [Seleccionar]
FPS con  1 instancias: 1800
FPS con  2 instancias: 1787
FPS con  3 instancias: 1414
FPS con  4 instancias: 1136
FPS con  5 instancias: 946
FPS con  6 instancias: 797
FPS con  7 instancias: 697
FPS con  8 instancias: 619
FPS con  9 instancias: 553
FPS con 10 instancias: 499

Knd144
Código: [Seleccionar]
FPS con  1 instancias: 1800
FPS con  2 instancias: 1800
FPS con  3 instancias: 1489
FPS con  4 instancias: 1205
FPS con  5 instancias: 1004
FPS con  6 instancias: 852
FPS con  7 instancias: 743
FPS con  8 instancias: 654
FPS con  9 instancias: 586
FPS con 10 instancias: 531

Marth
Código: [Seleccionar]
FPS con  1 instancias: 1800
FPS con  2 instancias: 1787
FPS con  3 instancias: 1361
FPS con  4 instancias: 1089
FPS con  5 instancias: 909
FPS con  6 instancias: 771
FPS con  7 instancias: 671
FPS con  8 instancias: 591
FPS con  9 instancias: 529
FPS con 10 instancias: 477
« última modificación: Enero 11, 2020, 07:47:16 am por eduardo960 »

W.I.P:            RaceBall, SceneChat, MMOPTG
Contacto:    Twitter, Facebook
 


Desconectado Marth

Respuesta #9 en: Enero 12, 2020, 03:39:48 pm
¡Venga ya, que poco rendimiento tiene la IA de FJ en comparación de los demas! :o
Mientras que todos los demas tenemos más de 450 FPS con 10 instancias, la IA de FJ tiene menos de 450 con UNA sola instancia.
Cuando todo esto termine, habria que mostrar los códigos usados para ver porque su IA es tan ineficiente.

Si piensas que los usuarios de tus programas son idiotas, sólo los idiotas usarán tus programas.

-Linus Torvalds ("Padre" de Linux)-
 


Desconectado knd144

  • Okupa
  • *
  • Puntos: 217
  • Mensajes: 528
  • Agradecido: 4 veces
  • Sexo: Masculino
  • Nunca pienso en el futuro, llega demasiado pronto.
    • Ver Perfil
    • Rincon knd144
Respuesta #10 en: Enero 12, 2020, 08:03:37 pm
En todas las GIAs eso se ha hecho; se liberaron los códigos de las IAs al terminar el evento.




Rincon knd144
-Proyecto Aquilesvania 60%
 
Los siguientes usuarios dieron las gracias a este tema: Marth


Desconectado eduardo960

Respuesta #11 en: Enero 13, 2020, 11:26:46 pm
Los resultados ya están disponibles:

Spoiler


Replay de la ronda 1

Para evitar cualquier filtrado de código de las IAs, se utilizó un sistema de replays que captura de manera precisa frame por frame el movimiento de cada una. La fecha límite de envío para la siguiente ronda es:

21 de Enero de 2020 a las 00:00 (GMT-6)
« última modificación: Enero 15, 2020, 11:34:51 pm por eduardo960 »

W.I.P:            RaceBall, SceneChat, MMOPTG
Contacto:    Twitter, Facebook
 


Desconectado eduardo960

Respuesta #12 en: Enero 23, 2020, 01:33:45 am
Menos de la mitad de participantes enviaron una nueva versión para esta ronda, y considerando las sugerencias previas de ampliar la fecha límite junto con que algunos aún tienen en mente en seguir desarrollando sus IAs, se extendió el día de entrega límite a el:

5 de Febrero de 2020 a las 12:00pm (GMT-6)

A partir de ese momento, y si llegase a realizarse otra ronda, será cada 2 semanas.

W.I.P:            RaceBall, SceneChat, MMOPTG
Contacto:    Twitter, Facebook
 
Los siguientes usuarios dieron las gracias a este tema: Marth


Desconectado Marth

Respuesta #13 en: Enero 23, 2020, 12:32:19 pm
Menos de la mitad de participantes enviaron una nueva versión para esta ronda, y considerando las sugerencias previas de ampliar la fecha límite junto con que algunos aún tienen en mente en seguir desarrollando sus IAs, se extendió el día de entrega límite a el:

5 de Febrero de 2020 a las 12:00pm (GMT-6)

A partir de ese momento, y si llegase a realizarse otra ronda, será cada 2 semanas.

Pues vale.
Ahora toca ponerse para pulir las IAs.

Si piensas que los usuarios de tus programas son idiotas, sólo los idiotas usarán tus programas.

-Linus Torvalds ("Padre" de Linux)-
 


Desconectado knd144

  • Okupa
  • *
  • Puntos: 217
  • Mensajes: 528
  • Agradecido: 4 veces
  • Sexo: Masculino
  • Nunca pienso en el futuro, llega demasiado pronto.
    • Ver Perfil
    • Rincon knd144
Respuesta #14 en: Enero 24, 2020, 01:27:49 am
Que bien; habrá oportunidad de más participación.  ;D Me agrada eso de que sea cada 2 semanas; me llevó varias horas de desvelo en medio de estrés laboral el terminar la IA para esta primera versión,  :-[ Pero 2 semanas me parece bien.




Rincon knd144
-Proyecto Aquilesvania 60%