Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Temas - Johann

21
CGM Game Jam / CGM Game Jam Edicion 1
Enero 06, 2019, 03:06:13 AM

Este es el nuevo concurso de ComunidadGM en el que debes desarrollar un videojuego en 48 horas de acuerdo a la tematica indicada.

Este concurso es paralelo y simultaneo al GM48, el game jam mas importante de Game Maker que es patrocinado por YoYoGames, asi que tomaremos la temática seleccionada en ese concurso para el nuestro, traducida al español, esto lo puedes interpretar a tu antojo en tu juego.

Para participar solo debes empezar el desarrollo del videojuego tan pronto como sea revelada la temática, esto será el dia sabado 19 de Enero a las 00:00 horas (GMT +0, hora del foro) y durante las siguientes 48 horas.

Ten en cuenta las siguientes pautas para evitar inconvenientes:


  • Debes subir tu juego al subforo de Juegos completos poniendo en el título la etiqueta [CGMGameJam] antes de las 00:00 horas del dia 21 de enero (GMT +0, hora del foro).
  • Solo las entradas registradas dentro de ese lapso de tiempo serán tenidas en cuenta, así que prepara tu entrega con anticipación.
  • La entrada debe cumplir con el reglamento del foro
  • La participación es individual, ya que al haber grupos, los solitarios estarían en desventaja


Una vez vencido el plazo, se procede a la evaluación de los juegos:


  • Todos los usuarios de la comunidad pueden evaluar las entradas del concurso a través del sistema de puntos del foro, así que, usa tus puntos con sabiduría.
  • El juego con mas puntos será el ganador.
  • Se debe evaluar en primera instancia la implementación de la temática en el juego, luego si tener en cuenta los demás aspectos(gráficos, sonidos, controles, etc.)
  • Solo los puntajes de usuarios con grado Habitual o superior, registrados antes del 01/01/2019 serán tenidos en cuenta.
  • La votación se aceptará únicamente durante las siguientes 48 horas al cierre del tiempo de desarrollo, una vez vencido el plazo, se recopilará la información para anunciar al ganador


El ganador se llevará una clave de Steam de un juegazo!!!

Por cierto, el concurso se declarará desierto si no hay mas de una entrada.

(No damos licencias de GMS2 porque estan carísimas, ese es el premio en el GM48 original)


22
Preguntas y respuestas / draw text solo un espacio
Enero 03, 2019, 12:44:51 AM
Estoy dibujando un texto char por char con el método de este post:

https://www.comunidadgm.org/preguntas-y-respuestas/texto-con-subindices/msg134969/#msg134969

Pero tengo problema para que me dibuje los espacios porque que GM lo omite

[gml]draw_text(x, y, " ")//No agrega el espacio.[/gml]

Ahi que se le hace?
23
Tengo un texto que se dibuja sobre un rectangulo dibujado con draw_roundrect_ext.
¿Como hago para que al hacerle scroll al texto (moverlo hacia arriba y abajo), cuando se salga del area del rectangulo, no se dibuje por fuera?
¿Tal vez con una surface?
Me ayudan?
24
Hola a todos, les cuento que me enfrento al bug mas "ficticio" del mundo:
Primero el contexto:
Resulta que tengo varias listas que contienen objetos (instancias de un mismo objeto, para ser mas exacto), estos objetos tienen sus propiedades (variables) con diferentes valores, en algún momento requiero juntar todos esos objetos en una única lista y luego redistribuirlos en listas nuevas luego de haberlos ordenado de acuerdo al valor en una de sus propiedades.
Para eso utilizo el algoritmo de ordenamiento burbuja adaptado a las condiciones particulares, ya lo he probado en un proyecto aislado y no ha tenido inconvenientes:

[gml]
///e_sort(list)
var N = ds_list_size(argument0);
var s = noone;
var j = 0;
for (var i=1; i<N; i++) {
    j = i;
    s = ds_list_find_value(argument0, j);
    while (ds_list_find_value(argument0, j-1).valor > s.valor && j>0) {
        ds_list_replace(argument0, j, ds_list_find_value(argument0, j-1));
        j--;
    }
    ds_list_replace(argument0, j, s);
}
[/gml]

Ahora los casos que se dan luego de juntar todos los objetos en una unica lista:

  • A, B, A, B, B, B
  • B, B, A, B, A, B
Donde A tiene un valor de 3.04 y B tiene un valor de 3.44
En cualquier caso el resultado debería ser A, A, B, B, B, B PERO en el primer caso funciona y en el segundo falla el algoritmo y se cierra la aplicación.
Cuando funciona se crean correctamente dos listas conteniendo A, B, B como se espera que lo haga.


############################################################################################
FATAL ERROR in
action number 1
of Mouse Event for Glob Right Pressed

for object control:


Unable to find any instance for object index '0' name 'table_return'
at gml_Script_e_sort
############################################################################################
--------------------------------------------------------------------------------------------
stack frame is
gml_Script_e_sort (line -1)
gml_Script_sintesis2
gml_Object_control_Mouse_54


Es como si los objetos ya no existieran y hace cualquier cosa como buscar un object_index == 0 con el nombre de cualquier otro objeto.
Ya he verificado que efectivamente los objetos si existen y fue asi como obtuve las listas de los casos que puse arriba como ejemplo.
Las veces que he visto que el "error" se encuentra en la linea -1 es porque no logra iniciar el script.
El script sintesis2 es el que une las listas en una sola, aplica el script de ordenamiento y hace la redistribución en las listas nuevas, eso se ejecuta en un evento Global Right Pressed

Me tocó alargar el post debido a la complejidad del proyecto que postearé a mitad de Diciembre, espero que no se me escape nada para que me puedan ayudar con sus comentarios.
27
Preguntas y respuestas / Nombre del user event
Noviembre 13, 2018, 01:33:48 AM
He visto que es posible ponerle nombre a un DnD de Execute code mediante un triple slash en la primera linea de codigo, igualmente he visto, sobre todo en la GMC que si se pone en la primera linea de un script con tripe slash la forma de llamarlo, sale en la barra inferior de ayuda del editor de codigo, tambien he visto que le ponen un nombre personalizado a los eventos de usuario (user defined) pero para esto no encuentro la forma de hacerlo.

Alguno sabe como?

Adjunto imagenes para que empiecen a utilizar esta caracteristica que tampoco la habia encontrado en el archivo de ayuda, me enteré por gmlscripts.com cuando hice mis scripts para acortar cadenas de texto.
28
Juegos completos / Lab 23 [Windows]
Noviembre 09, 2018, 02:36:29 AM


Lab 23 [Windows]


Plataformas


GM: Studio 1.4

Lab 23 es un videojuego desarrollado por el equipo formado por [user]Querecuto[/user], [user]Jucarave[/user] y [user]Tyranus[/user] en 2009 para el concurso que se llamó Proyecto Nexo y en el cual resultó ganador.

Este concurso consistió en desarrollar juegos que solo utilizaran el mouse como control.

Como jugar:
El agente se mueve según el movimiento del mouse y la posición del cursor:


  • Arriba: salta
  • Abajo: se agacha
  • Izquierda: camina hacia la izquierda
  • Derecha: camina hacia la derecha

La intensidad del movimiento depende de la distancia entre el agente y el cursor.

Utiliza los botones del mouse para realizar varias acciones:


  • Boton izquierdo: interactúa con diferentes objetos
  • Boton derecho: abre el menú del inventario, mueve el cursor hacia arriba o hacia abajo para cambiar el objeto seleccionado

Haz clic izquierdo lejos del inventario para cerrarlo y equipar el objeto seleccionado.





http://www.comunidadgm.org/juegos-completos/lab-23-(windows)/?action=dlattach;attach=17985
https://play.google.com/store/apps/details?id=org.comunidadGM.Lab_23


Hice el port del juego a GM:Studio 1.4 porque ya no hay rastros del mismo en el foro y quisiera que se publique para android, por eso quiero que me ayuden a buscarle bugs y errores si todavia quedan.

29

  • Nombre del creador: Johann
  • Breve descripción de su función: Acortar y alargar una cadena de texto que tiene caracteres repetidos sucesivamente
  • Versión GM utilizada: Game maker: Studio 1.4.9999
  • Código del Script:

Script para acortar una cadena de texto resumiendo la cantidad de caracteres repetidos sucesivos:
[gml]
///shorten(str)
//
// (ESP)
// Reduce el tamaño de una cadena de texto
// reemplazando un conjunto de caracteres sucesivos
// por el numero de veces que se repite.
//
//     str      cadena de caracteres muy larga
//
// (ENG)
// Reduces the size of a text replacing a set of
// consecutive characters with the number of times
// it is present.
//
//     str      a very large string
//
//
/// GMLscripts.com/license
{
    var str = argument0
    var newStr = "";
    var currentChar;
    var nextChar;
    var size = string_length(str);
    var amount = 0;
    for (var i=1; i<=size; i++) {
        currentChar = string_char_at(str, i);
        if (i!=size) {
            nextChar = string_char_at(str, i+1);
        } else {
            nextChar = "";
        }
        if (currentChar == nextChar) {
            amount = 1;
            newStr += currentChar;
            while (currentChar == nextChar) {
                amount++;
                i++;
                nextChar = string_char_at(str, i+1);
            }
            newStr += ("(" + string(amount) + ")");
        } else {
            newStr += currentChar;
        }
    }
    return newStr;
}
[/gml]

Script para recuperar una cadena de texto reestableciendo la cantidad de caracteres repetidos sucesivos:
[gml]
///enlarge(str)
//
// (ESP)
// Recupera el tamaño de una cadena de texto
// agregando un conjunto de caracteres sucesivos
// a partir del numero de veces que se repite.
//
//     str      cadena de caracteres a alargar
//
// (ENG)
// Recovers the size of a text adding a set of
// consecutive characters with the number of times
// it is needed.
//
//     str      a string to enlarge
//
//
/// GMLscripts.com/license
{
    var str = argument0;
    var oldStr = "";
    var currentChar;
    var nextChar;
    var size = string_length(str);
    var amount = "";
    for (var i=1; i<=size; i++) {
        currentChar = string_char_at(str, i);
        if (i!=size) {
            nextChar = string_char_at(str, i+1);
        } else {
            nextChar = "";
        }
        if (nextChar == "(") {
            amount = "";
            while (nextChar != ")") {
                i++;
                nextChar = string_char_at(str, i+1);
                amount += nextChar;
                show_debug_message(amount);
            }
            repeat(real(amount)) {
                oldStr += currentChar;
            }
            i++;
        } else {
            oldStr += currentChar;
        }
    }
    return oldStr;
}
[/gml]

Estos algoritmos se basan (se inspiran, mejor) en el algoritmo Run-length_encoding y he tenido que hacerlos para acortar y recuperar las cadenas de texto generadas por las funciones ds_*_write() donde el * es el nombre de una estructura de datos en GM, estas funciones retornan un string como el siguiente y su tamaño depende del contenido en la estructura de datos:

[gml]
//Ejemplo
var text = ds_grid_write(my_grid);
show_debug_message(text);
var text2 = shorten(text);
show_debug_message(text2);

[/gml]

5A0200000400000004000000000000000000000000000000000000000000000000000040000000000000000000000040000000000000000000000040000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000
408 caracteres

5A020(5)40(7)40(52)40(23)40(23)40(23)40(95)40(95)40(73)
55 caracteres


Ya que requiero almacenar estos datos en una base de datos sqlite3 para generar unas estructuras visualmente en mi proyecto y no quería almacenar algo muy largo.
En resumen, el tamaño del texto se reduce en un 86.5% mejorando el consumo de memoria en disco, esto es importante para aplicaciones móviles.

Ojalá les gusten y puedan usarlos.
Mañana los posteo en https://www.gmlscripts.com y en el foro de yoyo, haber como me va por allá, por eso usé ese encabezado de comentarios.
30
Preguntas y respuestas / Texto con subindices
Octubre 23, 2018, 12:29:51 AM
Que onda, estoy necesitando escribir subindices con game maker para generar textos como este:



En GMC encontré un post sobre subindices y superindices pero para el foro :(
Alguna pista? Creo que está dificil
32
Hoy, YoYo Games ha anunciado la salida al canal Beta de la version 1.4.9999 de Game Maker Studio, en un esfuerzo de poco mas de un año por mantener vigente esta versión del motor que, tal vez muchos, nos negamos a abandonar XD.
Game Maker Studio 1 esta mas vivo que nunca,y aunque con esta actualización YoYo Games cierra el soporte de esta versión del programa, por lo menos se preocupa por dejarnos un software decente y listo para trabajar.

Justo hoy me ha dado por volver al GM y me he encontrado con esto  :D :D :D :D
33
Noticias / Gran encuesta sobre videojuegos
Mayo 27, 2018, 08:16:13 PM
Muchas cosas se han hablado por aquí acerca de las preferencias que tiene cada uno a la hora de jugar, pues es el momento de recoger toda esa información para tomar desiciones muy importantes.
Les comparto esta encuesta con el animo de que todos participemos, al final, dejaré aquí los resultados para que todos podamos utilizar esta información para nuestros futuros proyectos, aprovechando el carácter internacional que adquiere al compartirla aquí en el foro.

Estaré pendiente de sus respuestas.

¡Clic aquí!
35
Para los que han pensado que habíamos muerto, les traigo noticias:






Les presento el nuevo concurso que nos trae ElvisKelley,
toda la información haciendo clic en la imagen
Tambien aprovecho para recordarles que se aproxima la fecha de pago
del servidor y el dominio, y es nuestra oportunidad para reestablecer la sección
de descargas tal cual como estaba antes, asi que por favor, no dejemos al
perrito con la caja vacia.
36
Noticias / Y ahora, ¡Una encuesta!
Enero 03, 2018, 02:58:41 AM

Para saber en promedio cuantas personas pueden llegar a requerir de los servicios de CGM como publisher me pueden colaborar por favor respondiendo la pregunta adjunta a este post.
También se reciben comentarios al respecto.
39
Tengo dos ideas principales: en la primera se ayuda a quienes no tienen como pagar una cuenta, haciendo el papel de publisher, publicando los juegos de los usuarios. En la segunda, se publicarían los videojuegos estrella de la comunidad, que deberían ser de una calidad superior, puede ser una o ambas opciones. La mayoría de los requerimientos son lo de pide la tienda a la hora de publicar un juego.
Eso si, la publicidad es responsabilidad del desarrollador.

Cita de: Johann en Agosto 13, 2017, 04:23:21 AM



Los parámetros que debe cumplir un videojuego para que sea publicado en la Play Store por ComunidadGM son los siguientes:


  • Debe ser un juego terminado y estar publicado en el subforo de Juegos completos
  • No se sube el *.apk al post sino que se envía a una carpeta de Google drive destinada exclusivamente a ese proyecto de manera que el administrador de la cuenta publique el juego, quien colocará en enlace en la publicación
  • Su contenido visual, sonoro y temático deben ser totalmente originales, de lo contrario deben ser de uso libre, es decir, con licencia CC u otra licencia que permita su uso, o con permiso del autor, según corresponda. En resumen, no debe tener contenido reservado por otros
  • Debe tener el distintivo de la comunidad en la pagina principal del juego (adjunto)
  • Se requiere una descripción breve y una completa en la publicación del juego
  • Una imagen de 512*512 como icono del juego en formato *.png
  • Una imagen promocional de 1024*500 en formato *.jpg
  • Captura de pantalla del juego en funcionamiento en el dispositivo objetivo (celular o tablet).
  • Compartir un enlace donde se descarque el video promocional del juego para publicarlo en el canal de youtube de ComunidadGM (opcional)(sujeto a reglamento de publicación)

Léanlo y comenten: que le agregarían, que les parece, que opinan, como lo ven, etc.
Dejo toda la semana para recibir sus opiniones y el próximo sábado preparo plantillas para empezar a recibir propuestas.