Noticias

¡Ayuda a la Comunidad GM, haz una donación!

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!.

Mostrar Mensajes

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


Mensajes - Alfacoy

Páginas: 1 2
1
CGM Game Jam / Re:CGM Game Jam Edicion 1
« en: Enero 17, 2019, 02:48:25 pm »
Me parece una idea perfecta :D yo voy a participar, asi que si hay alguno mas ya no es un desierto ~

2
Preguntas y respuestas / Re:¿Que usan para guardar puntuaciones?
« en: Diciembre 23, 2018, 01:36:43 am »
Muchas gracias kostra!! No pense que se podia hacer eso :)

Ahi encontre referido al tema en el manual del GML : " Manejo de Archivos "


Hay varias formas de hacerlo, base64, json_encode, SHA, etc ...

Soy nuevo en todo esto y la verdad que me encanta esto de caerme al pozo y salir de el con nuevas armas jaja.



Perdon si este tema ya estaba en el foro, no me di cuenta de buscar. Peque de apresurado.

3
Preguntas y respuestas / ¿Que usan para guardar puntuaciones? [SOLUCIONADO]
« en: Diciembre 23, 2018, 12:39:39 am »
Hola compañeros :)

Esta ultima semana estuve trabajando con archivos .ini para hacer el guardado de la tabla de clasificaciones, pero, por cosas de la vida, me tope con ese archivo navegando en mi ordenador.

Jaja fue cuestion de hacer doble click en el y editar tranquilamente los valores que este contenia.

Lo peor no fue eso, sino que al abrir el juego estos valores se veian reflejados en este.


¿Saben de algun modo mejor de guardar datos importantes para que el usuario no acceda a estos?

Tengo pensado dejar los archivos .ini para configuraciones especiales como sonido, musica, idioma o cosas similares. Pero necesito algun sistema del que no pueda ingresar el usuario.


No estoy buscando que me desarrollen el problema con codigo, sino un nombre para poder investigar sobre ello.

Estoy mirando a las Grillas DS , los archivos de texto o buffers.

¿Ustedes que dicen?

4
Preguntas y respuestas / Re:Archivos Ini // Nombre Variables // Bucle For
« en: Diciembre 19, 2018, 02:52:51 am »
Hermoso punto de vista!

Muchisimas gracias jajaja ..

Ya que no sabia hacerlo de una forma busque hacerlo de otra forma con el switch :D 


Voy a ir modificando las cosas :) Justo estaba haciendo los controles para cuando el usuario ingrese el nombre no mande mas de 10 caracteres y que no tenga caracteres extraños.

Voy a repasar lo que me mandaste. Muy amable.

=======
EDITO
=======

Sabes que trate de poner como me dijiste pero me salta este error


Trying to read from undefined INI file
at gml_Object_obj_reiniciar_juego_clasico_Step_0 (line 47) -                      ini_write_string("score","n_top_"+string(i),nombre_actual);


    //Creo un bucle FOR para recorrer el array de puntuaciones TOP3
    for ( var i = 0 ; i < array_length_1d(top3) ; i++ ) {
       
        //Si la puntuacion es mayor que la posicion del TOP seleccionada por el iterador, la modifico.
        //Rescribo los valores en la posicion correspondiente.
        //Cierro el archivo INI, lo envio a la sala de Scores.
        //Salgo del bucle para que no siga sobrescribiendo.
        if ( top3[i] < puntuacion_actual ) {
            ini_write_string("score","n_top_"+string(i),nombre_actual);
            ini_write_real("score","p_top_"+string(i),puntuacion_actual);
            ini_close();
            room_goto(Room_Scores);
            exit;
        } else {
            //Por si el resultado es mas bajo que el bajo.
            ini_close();
            room_goto(Room_Scores);
        }
    }


El archivo ini esta abierto y bien escrito.

¿Que podria ser?


5
Preguntas y respuestas / Re:Archivos Ini // Nombre Variables // Bucle For
« en: Diciembre 19, 2018, 12:45:24 am »
Si alguno pudiera borrar el tema se lo agredeceria ya que ami no me deja.

Me parece muy confuso lo propuesto, y estoy tratando de llevarlo a codigo pero me esta quedando mal ajaja.

Tendre que reescribir todo :( ...

De ultima tirenme ideas de como ustedes hacen sus sistemas de puntuaciones. :D se los agradeceria. Perdon el repost.


EDITO =


OHHHH

Funciono JAJA

Medio toscto aun.. pero funciono :D

Código: [Seleccionar]
if ( key_esc ) {

global.nombre_jugador =  get_string("Nombre de Usuario","");
nombre_actual = global.nombre_jugador;
puntuacion_actual = global.puntuacion;

ini_open("score.ini");

nom_0 = ini_read_string("score","n_top_0","Anonimo");
pun_0 = ini_read_real("score","p_top_0",0);
nom_1 = ini_read_string("score","n_top_1","Anonimo");
pun_1 = ini_read_real("score","p_top_1",0);
nom_2 = ini_read_string("score","n_top_2","Anonimo");
pun_2 = ini_read_real("score","p_top_2",0);

top3 = [];
top3[0,0] = nom_0;
top3[0,1] = pun_0;
top3[1,0] = nom_1;
top3[1,1] = pun_1;
top3[2,0] = nom_2;
top3[2,1] = pun_2;

for ( var i = 0 ; i < 3 ; i++ ) {

if ( top3[i,1] < puntuacion_actual ) {
switch(i){
case 0:
ini_write_string("score","n_top_0",nombre_actual);
ini_write_real("score","p_top_0",puntuacion_actual);
ini_close();
room_goto(Room_Scores);
exit;
break;

case 1:
ini_write_string("score","n_top_1",nombre_actual);
ini_write_real("score","p_top_1",puntuacion_actual);
ini_close();
room_goto(Room_Scores);
exit;
break;

case 2:
ini_write_string("score","n_top_2",nombre_actual);
ini_write_real("score","p_top_2",puntuacion_actual);
ini_close();
room_goto(Room_Scores);
exit;
break;
}
}
}
}



Es mas... creo que hacer un array bidimensional es demasiado ... puede que sirva solamente un array unidimensional.


Lo comparto denuevo mejor redactado y ya borre los sobrantes.


Código: [Seleccionar]
//Tomo los datos del usuario y los coloco en variables.
global.nombre_jugador =  get_string("Nombre de Usuario","");
nombre_actual = global.nombre_jugador;
puntuacion_actual = global.puntuacion;

//Abro el archivo para guardar las puntuaciones
ini_open("score.ini");

//Asigno las variables para que guarden los datos del TOP3 de Score.
pun_0 = ini_read_real("score","p_top_0",0);
pun_1 = ini_read_real("score","p_top_1",0);
pun_2 = ini_read_real("score","p_top_2",0);

//Las guardo en un array para poder compararlas.
top3 = [];
top3[0] = pun_0;
top3[1] = pun_1;
top3[2] = pun_2;

//Creo un bucle FOR para recorrer el array de puntuaciones TOP3
for ( var i = 0 ; i < array_length_1d(top3) ; i++ ) {

//Si la puntuacion es mayor que la posicion del TOP seleccionada por el iterador, la modifico.
//Rescribo los valores en la posicion correspondiente.
//Cierro el archivo INI, lo envio a la sala de Scores.
//Salgo del bucle para que no siga sobrescribiendo.
if ( top3[i] < puntuacion_actual ) {
switch(i){
case 0:
ini_write_string("score","n_top_0",nombre_actual);
ini_write_real("score","p_top_0",puntuacion_actual);
ini_close();
room_goto(Room_Scores);
exit;
break;

case 1:
ini_write_string("score","n_top_1",nombre_actual);
ini_write_real("score","p_top_1",puntuacion_actual);
ini_close();
room_goto(Room_Scores);
exit;
break;

case 2:
ini_write_string("score","n_top_2",nombre_actual);
ini_write_real("score","p_top_2",puntuacion_actual);
ini_close();
room_goto(Room_Scores);
exit;
break;
}else {
//Por si el resultado es mas bajo que el bajo.
room_goto(Room_Scores);
}
}
}
}


Ustedes como arman la tabla de puntajes?

6
Preguntas y respuestas / Archivos Ini // Nombre Variables // Bucle For
« en: Diciembre 18, 2018, 09:31:56 pm »
Hola compañeros del GML :D !! Hacia un tiempo que no preguntaba.

Aprendí algunas cosas nuevas desde la última vez que anduve por acá y entre ellas el uso de los archivos Ini.

Ahora quiero poder hacer más personalizados mis "high scores" usando este archivo de guardado.

Tengo 2 preguntas, aunque para ambas tengo una solucion. Me gustaria saber su opinion de ser posible.


A)  Los archivos Ini, recorrer todos sus datos desde un for es imposible verdad?


- La solucion que encontre al no saber cómo recorrerlo y no tener muchas puntuaciones (de momento), fue la siguiente:

1) Tomar el nombre y puntuación del jugador actual y guardarlas en variables.
2) Abrir el archivo INI.
3) Leer la información (Nombre y puntuación) del score del jugador TOP1,TOP2 y TOP3, para guardarlas en variables. (Nom_0,Pun_0,Nom_1,Pun_1,Nom_2,Pun_2);
4) Cerrar el archivo INI.
5) Crear un array bidimensional y asignarle a cada espacio las variables creadas en el paso 3.
EJ:
Score[0,0] = Nom_0;
Score[0,1] = Pun_0;
ETC...

6) Creo un bucle For para revisar la puntuación guardada en score[] y comparo si la puntuación del jugador actual (Paso 1) es mayor a algunas de las existentes. 
7) De ser mayor la puntuación, dependiendo el valor de la iteración del bucle for  se buscará las variables del paso 3 y se reemplazan por las del jugador actual.

Este último paso es el que me da problemas jaja y es mi segunda pregunta:

B) Hay posibilidades de pinchar una variable según el valor de i en la iteración del bucle?


En este caso que les expongo, score[i,1] tiene el 1 fijo ya que en ese punto están guardadas las puntuaciones y en el i se moverá por los distintos jugadores.

Código: [Seleccionar]
for ( var i = 0 ; i < 3 ; i ++ ){
if ( score[i,1] < puntuacion_actual){
 nom_i = nombre_actual;
 pun_i = puntuacion_actual;
}
}

Me gustaría poder modificar las variables nom_1 y pun_1 por ejemplo, si el valor de i es 1.

Nose si me di a entender bien, si no es asi disculpenme y haganmelo saber.

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

Luego de todo esto realizo algun orden para el array con sort() si es que existe en GML y guardo las estadisticas en el archivo ini para luego mostrarlas en la tabla de clasificaciones.

Todo esto de momento es muy comodo ya que son solo 3 jugadores, pero al momento de ser 10, 20 o 100 seguro es un martirio jaja .. ademas es una practica, pero la idea es desarrollar un buen pseudocodigo y codigo para luego utilizarlo en los juegos.



Ustedes de que manera hacen las puntuaciones?

Saludos hermanos de codigo!

===========
EDITO
===========

Tengo pensado usar un switch(i) para editar la variable que corresponda en la pregunta B. Me olvide dar mi posible solucion jaja. Saludos!



Quiero agregar que mi intencion de armar este tipo de guardado, no solamente es para tener en un archivo la puntuacion y nombre de los personajes.  La idea es guardar tiempos, objetos usados, veces muerto, etc. Y con el metodo de guardado de puntuaciones que game maker nos ofrece me quedo corto.


7
Preguntas y respuestas / Re:Instancias se superponen entre si.
« en: Noviembre 25, 2018, 03:37:54 am »
En este casi sí era necesario usar el evento create, pero cuando se necesita estar chequeando colisiones constantemente, esto se hace en el evento step

Hacia falta aclarar eso! JAJA si, tal cual como decis. Para chequear constantemente uso el Step jaja .. Muchas gracias Kain :)

Realmente gracias a la comunidad. Son gente colaborativa.

8
General / Re:Recien llegada!
« en: Noviembre 23, 2018, 05:31:11 pm »
Hacia mucho no veía una presentación, hola yo soy kostrita the kostrer kostrenated y soy especialista en generaciones aleatorias procedurales :B

Voy a tener en cuenta lo de procedurales :D  es algo que me gustaria aprender.

9
General / Re:Steam o Yoyo
« en: Noviembre 23, 2018, 04:05:30 am »
Te doy toda la razon... compro la de Steam. Si en un año se jode mando la queja.

Gracias :) me ahorro unos cuantos dolarucos.


EDIT : En 20 minutos compro esta version de steam ~ Les aviso al rato si puedo exportar a MAC y UBUNTU.  ( Acaba de cerrar la tarjeta de credito jaja le doy 20 minutos de gracia por las dudas )



RE-EDIT:

Permanent   STEAM .... es la edicion DESKTOP y dura permanente. Se puede exportar a Ubuntu,Mac y Windows.

Realmente les recomiendo comprar atraves de steam. Hay mucha diferencia economica.

10
General / Re:Steam o Yoyo
« en: Noviembre 23, 2018, 03:00:52 am »
La licencia de tipo Creator es por tan solo un año, no me lo creo, Yoyo cada vez con mayor ambición, aunque son $30 USD se pasan si toca volver a pagarles



JAJA por eso estaba con preocupacion. Llego a comprar en Steam la version creador windows disfrazada de Developer Desktop y me agarra un infarto.

Me puse a comparar precios, y la de steam esta en igualdad de precios a la de creador.


Me parece que voy a comprar directamente de JOJO'S, no vale la pena arriesgarse y al año tener que pagar denuevo.

11
General / Re:Steam o Yoyo
« en: Noviembre 23, 2018, 01:56:38 am »
Voy a ver que pasa !!

Es que hay una diferencia radical de:

Yoyo : 3000 Pesos Argentinos
Steam: 800 Pesos Argentinos


Muchas gracias Niu... voy a ver que pasa.
De igual manera, si alguno sabe algo, bienvenido :D

12
General / Re:Recien llegada!
« en: Noviembre 22, 2018, 10:18:57 pm »
Bienvenida :) Soy nuevo tambien. Espero te sientas comoda, realmente hay gente muy buena aca.

Saludos!

13
General / Steam o Yoyo
« en: Noviembre 22, 2018, 10:17:18 pm »
Hola gente, les queria hacer una consulta de precios o que conviene mas.

Mañana estoy por comprar el Game Maker Studio 2, quiero la version completa para poder exportar a Windows, Mac y Ubuntu.

Esta la clara opcion de comprarlo directamente de YOYO Games, que su valor esta en $79 dolares. Tendria menos preocupacion, ya que compro directo del fabricante.

Ahora, mirando en steam, veo que esta tambien la version Desktop y asegura darte lo mismo mas barato:

GameMaker Studio 2 Desktop incluye:
Recursos ilimitados
Foro de soporte dedicado
Exportación a Windows Desktop
Exportación a macOS
Exportación a Ubuntu


Link Steam:
https://store.steampowered.com/app/585410/GameMaker_Studio_2_Desktop/

Me preocupa que al comprarlo en un año se me termine la licencia. De ahi su valor mas bajo.


En todo caso, ustedes por donde me recomiendan comprar la licencia?? o donde compraron el suyo :)


PD: Seguro lo barato me sale caro D:



EDIT : oohhhh leyendo por ahi los comentarios y discusiones respecto a si esta bien o no cobrar por el GMS2 jaja, lei que para exportar a IOS necesitarias un celular de ese modelo, o algo similar. No soy amante de los celulares.

Consulto ¿ Para exportar a MAC o UBUNTU, necesito tener una MAC o UBUNTU?? JAJA no creo no... me estoy por comprar el developer desktop para exportar y jugar desde WIN MAC UBUNTU. Vaya a ser que necesito una pc con diferente SO y muero. 

Perdon por la preguntonta

14
Preguntas y respuestas / Re:Instancias se superponen entre si.
« en: Noviembre 22, 2018, 02:39:25 pm »
Niu! Ahora si. Muchisimas gracias.

Es mi primer mes en el Game Maker y armando juegos jaja. Entonces esto me deja en claro 2 cosas:

1 - Que los Timeline crean las instancias sin tomar en cuenta su mascara de colisión.
2 - Que el mejor momento de comprobar si VA A colisionar una instancia es en el CREATE del Objeto. Yo hasta ahora usaba el create sólo para variables del objeto.

Muchisimas gracias enserio :)


15
Preguntas y respuestas / Re:Instancias se superponen entre si.
« en: Noviembre 22, 2018, 04:39:12 am »
Las funciones place_*() comprueban la disponibilidad de un lugar basándose en comprobar si la máscara de colisión del objeto que las ejecuta choca con la máscara de alguna instancia. En tu caso, utilizas una timeline que no tiene máscara de colisión y, por tanto, dichas funciones no van a trabajar correctamente.

Una solución simple podría ser utilizar position_empty() o position_meeting() que no utilizan la máscara de colisión del objeto que las ejecuta, sino que comprueban un choque entre un punto concreto (dado por coordenadas) y la máscara de las otras instancias.


Lo reemplaze por ambas funciones pero no me funciono con ninguna :( .... Creo que tal vez lo mejor sea evitar usar el timeline para generar aleatoriamente cada segundo y ahcerlo con un contador casero..


Páginas: 1 2