Game Maker Studio: Dudas y colaboraciones

metanoia

#60 La solución más sencilla no se me había ocurrido xDDD the derpiness is strong with this one.

No sé si será la manera más correcta, pero supongo que puede dar el pego igualmente. Lo probaré más adelante, es la última de mis preocupaciones ahora pero anoche me entró en la cabeza y quería encontrar la solución cuanto antes.

1 respuesta
javifugitivo

#61 Si no te da problemas de rendimiento, te puede servir, la otra opción es usar una surface y aplicarle un shader (a partir de game maker 1.2 beta ya están disponibles). Pero su controles mucho más complicado, por lo que prueba lo del sprite o incluso poner un background como "foreground" a ver que resulta :-p

2
Humanoide

a falta de shaders, si usas el 8.1 o para atrás, yo probaría lo del foreground pero ten en cuenta que tienes que meterlo por codigo ya que en las rooms los foregrounds no salen con transparencias y no vas a poder hacer nada

2
9 días después
Alberteban

¿Conocéis algún manual en español? Los que hay en #1 están todos en inglés y aunque los entiendo bastante bien la verdad es que preferiría empezar con alguno en castellano.

Galbix

¿Alguno conoce tutoriales sobre implementación automática de tiles en Game Maker? He trasteado algunas cosas y encontrado información interesante (esto, por ejemplo, aunque no es específicamente de GM), pero me gustaría leer cualquier tipo de información al respecto que tengáis a bien compartir.

Ya de paso, también ando buscando info sobre juegos tipo 'endless runner', aunque esto no me corre demasiado prisa a día de hoy.

1 respuesta
javifugitivo

#65 Pues cualquier generación aleatoria de terreno se puede adaptar a creación de tiles. Todo sería montar un "for" para que vaya haciendo barridos a la pantalla y vaya llenandola de tiles aleatorios por ejemplo:
http://gmc.yoyogames.com/index.php?showtopic=325700

Sobre el endless runner, en Game Maker imagino que todo se trata ir haciendo aparecer instances en movimiento hacia el jugador y que el jugador se quede quieto, y cuando salgan por un lado, se destruyan y se vayan creando nuevas al otro lado de la pantalla. Yo usaría un sistema de alarmas, fácilmente configurable para conseguir niveles distintos.

1
21 días después
Jastro

Buenas gente, tengo un pequeño problema, a la hora de correr el prota, tengo 2 colisiones que estan "en el aire" y al llegar a esa animaciones, el pj se hunde en el suelo y se queda atascado, en cambio si elimino esos 2 frames, el personaje va perfecto. ¿A alguien mas le ha pasado?

Image 2 y 6;

1 respuesta
Humanoide

#67 quita el automatico de la collision box y hazlo manualmente frame a frame en la ventana del sprite

1 respuesta
Jastro

#68 grache mile

Jastro

Bueno, vuelvo a tener cosillas raras :S. Me pasa una cosa extraña, tengo hecho un proyecto, de windows y a fullscreen. Hay momentos en que se difumina la imagen, es un sinsentido total, la imagen esta bien ( no esta borrosa ) y solo ocurre en determinados momentos, como que salta y camina y pasa a veces. ¿A alguien le suena este error? ¿o es cosa mia?

1 respuesta
Humanoide

#70

mira en las opciones generales, interpolate colors between pixels, a ver si es eso

2 respuestas
Jastro

#71 sigo con lo mismo, es una cosa rara, cuando avanza la camara con el personaje, va bien, pero si se queda quieta se ve borrosa :S

3 respuestas
Humanoide

pues pensaba que sería eso pero si no... mira a ver que no sea alguna movida de reescalado, también en las opciones generales #72

GreyShock

#72 Loco, en las opciones de Graphics de la pestaña de Windows, dile que no te interpole los pixeles.

Además, poner el juego a 60fps, en lugar de los 30fps por defecto, hará que los movimientos de cámara se vean mucho más definidos y fluidos.

1 1 respuesta
elkaoD

#72 puedes subir un video o exe demo?

1 respuesta
Jastro

#74 lo del interpolate esta quitado. El problema está en que cuando esta quieta es como mas "difuminado" pero en movimiento no.

#75 es un exe: http://www.mediafire.com/?4e5okk5oc5yb2nw

Controles:

Flechas izquierda y derecha: movimiento
Flecha arriba: apunta arriba
Espacio: saltar
Z: Disparar
X: Dash

2 respuestas
GreyShock

#76 No sé a lo que te refieres, pero la veo igual tanto parada como corriendo. Osea, no es un problema solo del frame estático. No estáras haciendo algo con el image_xscale o algo? Parece que está ligeramente redimensionada de ancho y los píxeles se rallan.

2 respuestas
Jastro

#77 no tiene nada de image_scale ni nada, sprite_index, image_speed, nada mas, es mas se aplica para todo lo mismo :S. Igualmente creo que lo dejare si no lo consigo, porque casi nadie lo nota, solo yo y 2 o 3 personas mas xD

2 respuestas
javifugitivo

#78 Prueba activar el filtro AA, a ver si así se ve mas uniforme.

GreyShock

#78

Re recomiendo que vayas a graphics, y le digas que te haga una preview de la hoja de texturas, después dale a F5, llegarás al nivel secreto de tu juego:

2
elkaoD

#76 yo como #77 también lo veo igual parado y corriendo.

¿Quizá con screenshots remarcando a qué te refieres?

1 respuesta
Jastro

#81 nah igual es cosa mia, porque no lo ve casi nadie, asi que ná me dedico a otra cosa :P

1 respuesta
javifugitivo

#82 Te puedo decir que en teoria ese movimiento "borroso" aparece por un tema de que estás moviéndolo por coordenadas, estilo X + 5. Puede (igual me equivoco) que si se moviera el personaje por velocidad (hspeed y vspeed) no haga ese movimiento. Pero también depende de muchas cosas: La posición de los códigos, del draw_self, etc.

1 respuesta
Jastro

#83 Yo lo doy por perdido ya jajajajaja. Sinceramente, prefiero dejarlo estar y ponerme a otras cosas, mas que nada, porque el fallo solo lo veo yo. Los demas ni dios, asi que igual soy yo, que me da una embolia cerebral cuando la pj corre y no avanza la camara. Igualmente yo uso hspeed, no uso x. Y no creo que sea fallo del codigo, porque solo ocurre cuando la camara no avanza y con ese frame en cuestion(correr) los demas van bien. Lo dejaré como un expediente X, eso si, gracias a lo de #71 solucioné muchos errores tambien, que a veces se desenfocaba :D

PD: Estoy totalmente enamorado de gamemaker, solo por el evento de end animation, mi amor ha cambiado por completo :$

1 1 respuesta
javifugitivo

#84 Explicame ese evento,que se activa cuando acaban los frames de un sprite con varias imágenes?

Humanoide

si es así tambien te puede ser MUY util image_index, que básicamente te devuelve el frame en el que está el sprite del objeto.

y con respecto a lo otro... prueba a hacerlo con x e y en vez de hspeed y vspeed, que deberia ser un segundo muy probablemente se te arregle.

si os meteis por los foros vereis que para cosas con un minimo de complejidad se aconseja sudar de ese tipo de comandos

2 respuestas
Jastro

#86 el image_index ya lo conocia, lo usaba bastante. El hspeed y vspeed, la verdad es que lo cambie, por la x e y, porque en su momento no me iba como queria, se supone que es lo mismo, pero no me iba tan bien. Igualmente, hare un par de test a ver.

GreyShock

#86 pero x e y sirven para velocidad de movimiento? Son para posición, no?

Yo uso hspeed y vspeed y se me ve fino el juego.

1 respuesta
javifugitivo

#88 Digamos que lo primero es explicar como funciona game maker:

Game Maker dibuja en una pantalla "interna" que no vemos y después con los comandos "draw" muestra a cada objeto en su posición, etc.

Si Vspeed = 1 Hace que muevas un objeto un pixel a la derecha cada paso, con x += 1 haces exactamente lo mismo, ya que cambias la posición cada paso en 1 pixel a la derecha, sólo que funcionas por coordenadas.

En conclusión ambas cosas hacen lo mismo de distinta forma xD

Por ejemplo para detectar una colisión y que un personaje no "rebote continuamente", se suele usar lo de if place_free(x-1,y) antes del movimiento (si el movimiento es de 1 pixel) para evitar que se mueva y no haga efectos raros.

1 respuesta
GreyShock

#89 mmm yo ahora mismo estoy gestionando así el movimiento point'n'click

//point'n'click movement
if(position_empty(mouse_x, mouse_y) and global.moveok){ //if there's no target
    //set speed towards direction
    if(mouse_x<x){
        hspeed = -WALK_VEL;
    }else{
        hspeed = WALK_VEL;
    }
    
//save destination destx = mouse_x; }

y luego en el step detecto si ha llegado ya al destino o no, para detener el movimiento

        if(hspeed<0 and x < destx) hspeed = 0;
        if(hspeed>0 and x > destx) hspeed = 0;

Y vaya, me va bien, no hay fallos en la visualización.

Si utilizas x+1 puede que no se note, pero si utilizases x+20 no iría a saltos el movimiento? de 20 en 20 pixeles? usando velocidades, independientemente del timestep de tu juego, entiendo que el objeto se moverá fluido a través x espacio en y cantidad de tiempo.

...creo que me he explicado fatal xD Pero vaya, lo que quiero decir que es que incrementando la posición daremos saltos como en un grid, de 20 en 20, y con velocidad, será un movimiento constante que puede estar en 17,3563834 en el eje x si hace falta, hasta que llegue al destino.

1 respuesta
Tema cerrado