GM te sirve para hacer cualquier tipo de juego 2D, tiene algunas limitantes en el lenguaje pero no es algo que te impida lograrlo, solamente tienes que acostumbrarte a la estructura y listo, por lo demás, con GM puedes hacer cosas muy buenas si sabes utilizarlo adecuadamente.
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.
62
Preguntas y respuestas / Re:Colisión de dos instancias que siguen a un objeto
Marzo 04, 2016, 08:27:47 PM
Hola,
Si solo se mueven de forma horizontal entonces puedes poner que revise si tiene colisión con otro objeto del mismo tipo (o un tipo parent)
[gml]
// Supongamos que el sprite del enemigo es de 32x32 y tiene el origin en el centro (16,16)
//Suponiendo que se va a mover a la izquierda
var oX = -3; // offset x, separación de pixeles entre los enemigos, debe ser mayor o igual a la velocidad de movimiento
var xTo = -1; // Velocidad de movimiento (1 pixel por step)
if (!collision_rectangle(x-16+oX,y-16,x+16+oX,y+16,obj_enemigo,true,true)){
x += xTo;
}
[/gml]
Este es un modo básico pero es la idea de como funcionaría.
Saludos
Si solo se mueven de forma horizontal entonces puedes poner que revise si tiene colisión con otro objeto del mismo tipo (o un tipo parent)
[gml]
// Supongamos que el sprite del enemigo es de 32x32 y tiene el origin en el centro (16,16)
//Suponiendo que se va a mover a la izquierda
var oX = -3; // offset x, separación de pixeles entre los enemigos, debe ser mayor o igual a la velocidad de movimiento
var xTo = -1; // Velocidad de movimiento (1 pixel por step)
if (!collision_rectangle(x-16+oX,y-16,x+16+oX,y+16,obj_enemigo,true,true)){
x += xTo;
}
[/gml]
Este es un modo básico pero es la idea de como funcionaría.
Saludos
63
General / Re:¿Que juego estan haciendo ahora y que otro piensan hacer?
Marzo 04, 2016, 04:38:36 PM
Yo estoy trabajando en wraith un tower defense/fps pero como me va a tomar un buen tiempo hacer los modelos 3D y todo el diseño estoy comenzando otro proyecto, un juego de aventura point and click de misterio (aprovechando que estoy haciendo un curso sobre escritura de historias de misterio xD)... pero aún no me he sentado a programarlo.
64
Preguntas y respuestas / Re:Problema con cambio de animaciones
Febrero 29, 2016, 03:48:56 PM
Probablemente sea mejor que manejes las animaciones con una maquina de estados y de ahí derecho puedes manejar mejor los cambios de estados, por ejemplo, normalmente uno tiene variables como "jumping" y "sliding" que se hacen true o false y luego se selecciona el sprite acorde con unas reglas, el problema es que se se añaden muchas esas reglas se vuelven muy complejas y probablemente causen errores:
Primero defines los estados en un macro (preferiblemente):
[gml]
STANDING=0;
RUNNING=1;
JUMPING=2;
SLIDING=3;
[/gml]
Luego en el create lo inicias en STANDING:
[gml]
state = STANDING;
[/gml]
De ahí puedes hacer checks de por ejemplo solo puede correr si esta quieto o solo puede hacer slide si esta corriendo:
[gml]
if (keyboard_check(vk_right) && state == STANDING){ //No tan sencillo como esto pero es la idea principal
state = RUNNING;
}
if (keyboard_check(vk_down) && state == RUNNING){
state = SLIDING;
}
[/gml]
Por ultimo en el evento end_step seleccionas el sprite de acuerdo al estado:
[gml]
switch (state){
case STANDING:
sprite_index = spr_stand;
break;
case RUNNING:
sprite_index = spr_running;
break;
case SLIDING:
sprite_index = spr_slide;
break;
}
[/gml]
De este modo no debería ponerte tanto problema al cambiar de sprites.
Saludos
Primero defines los estados en un macro (preferiblemente):
[gml]
STANDING=0;
RUNNING=1;
JUMPING=2;
SLIDING=3;
[/gml]
Luego en el create lo inicias en STANDING:
[gml]
state = STANDING;
[/gml]
De ahí puedes hacer checks de por ejemplo solo puede correr si esta quieto o solo puede hacer slide si esta corriendo:
[gml]
if (keyboard_check(vk_right) && state == STANDING){ //No tan sencillo como esto pero es la idea principal
state = RUNNING;
}
if (keyboard_check(vk_down) && state == RUNNING){
state = SLIDING;
}
[/gml]
Por ultimo en el evento end_step seleccionas el sprite de acuerdo al estado:
[gml]
switch (state){
case STANDING:
sprite_index = spr_stand;
break;
case RUNNING:
sprite_index = spr_running;
break;
case SLIDING:
sprite_index = spr_slide;
break;
}
[/gml]
De este modo no debería ponerte tanto problema al cambiar de sprites.
Saludos
65
Juegos en desarrollo / Re:Disc Jumper 0.3
Febrero 26, 2016, 04:42:00 AM
Logré recoger 28 monedas :) link
El juego esta bastante entretenido, aún esta primitivo, pero con unas cuantas animaciones y música puedes lograr que sea realmente genial, por ahora no tengo mucho mas que comentar excepto de ánimo con este juego ;D
Saludos
El juego esta bastante entretenido, aún esta primitivo, pero con unas cuantas animaciones y música puedes lograr que sea realmente genial, por ahora no tengo mucho mas que comentar excepto de ánimo con este juego ;D
Saludos
66
Preguntas y respuestas / Re:¿Proteger los juegos creados en GMS?
Febrero 24, 2016, 03:53:53 PM
Hmm entiendo,
Pues siempre hay un modo de lograrlo, si tienes en el código una variable "puntaje" que se inicializa a un valor, es posible encontrar eso en el binario (aunque muy complejo) y modificarlo, lo que te sugeriría es crear una serie de reglas para determinar el puntaje y determinar este puntaje en el server y no en GM, también enviar los datos de un modo encriptado para que no capturen la petición a tu server y la modifiquen tan facilmente, entre mas complejo definas las reglas y la encriptación más complejo será para alguien alterar esos datos, claro esta, nunca es imposible lograrlo.
Saludos
Pues siempre hay un modo de lograrlo, si tienes en el código una variable "puntaje" que se inicializa a un valor, es posible encontrar eso en el binario (aunque muy complejo) y modificarlo, lo que te sugeriría es crear una serie de reglas para determinar el puntaje y determinar este puntaje en el server y no en GM, también enviar los datos de un modo encriptado para que no capturen la petición a tu server y la modifiquen tan facilmente, entre mas complejo definas las reglas y la encriptación más complejo será para alguien alterar esos datos, claro esta, nunca es imposible lograrlo.
Saludos
67
Preguntas y respuestas / Re:¿Proteger los juegos creados en GMS?
Febrero 24, 2016, 03:44:10 PM
¿GameMaker Studio se puede decompilar? creí que era mas difícil ya que el sourcecode no se guarda en el binario... creo que el mejor método sería utilizar YYC y si eso se puede decompilar entonces no creo que haya mucha esperanza. Ahora bien, los recursos como imágenes y eso realmente no los puedes proteger (de una forma definitiva) ya que esos si se guardan como tal en el ejecutable
68
Preguntas y respuestas / Re:instancia por encima del surface
Febrero 24, 2016, 02:35:23 PM
Tienes que dibujar la antorcha en la surface luego de que hagas el dibujado de luces:
[gml]
surface_set_target(dark);
draw_clear(c_black);
with otorch {
draw_sprite(storchlight,irandom(1),x+10*image_xscale,y+6);
// Dibujas la antorcha sobre la luz
draw_sprite(sprite_index, image_index, x, y);
}
draw_set_alpha(0.8);
surface_reset_target();
draw_surface(dark,0,0);
draw_set_alpha(1);
[/gml]
[gml]
surface_set_target(dark);
draw_clear(c_black);
with otorch {
draw_sprite(storchlight,irandom(1),x+10*image_xscale,y+6);
// Dibujas la antorcha sobre la luz
draw_sprite(sprite_index, image_index, x, y);
}
draw_set_alpha(0.8);
surface_reset_target();
draw_surface(dark,0,0);
draw_set_alpha(1);
[/gml]
69
Preguntas y respuestas / Re:image_angle no me hace ni caso
Febrero 24, 2016, 02:31:36 PM
Podrías subir una imagen de tu problema y el valor que toma "direction" luego del point_direection...? también, ¿por qué tienes ese código en el evento create, no debería ser en el step?
70
Preguntas y respuestas / Re:Timelines, que son y como puedo usarlos?
Febrero 18, 2016, 05:59:29 PM
EDIT: Aunque los timelines aplican a las ultimas versiones de GM, no olvides poner el icono al titulo del tema
Hola,
Son "eventos" que se ejecutan cada cierto tiempo de forma secuencial, por ejemplo, digamos que quieres hacer un timeline que controle una escena, entonces harías algo así:
Supongamos que tienes 3 personajes en una habitación y están a cierta distancia uno del otro entonces vas a armar una escena que haga lo siguiente:
* Primero el personaje A se va a acerca al personaje B
* Cuando estén juntos el personaje A le va a decir algo al personaje B
* Luego de 3 segundos el personaje B responde algo
* Ahora ambos van hacia donde se encuentra el personaje C
* Cuando estén juntos al personaje C, el personaje B le dice algo a C
* C Responde con otra pregunta
* A Response la pregunta
* Los 3 personajes salen de la habitación
Como ves estos son secuencias para una escena, los timelines pueden ser usados para resolver esto, algo así:
En el step0 del time line A va donde B, luego en otro Step (digamos el 30) A le habla a B y así...
para utilizarlos desde código (no recuerdo como es en DnD :P) es con:
[gml]
timeline_index = el_timeline_que_quieres_usar;
timeline_position = desde_que_posición_quieres_que_se_ejecute;
timeline_running = true; // Para que se ejecute el timeline
[/gml]
Hay otras variables para controlar timelines como inidicar si es loopeable y cosas así, pero te aconsejo que experimentes un poco primero.
Saludos
Hola,
Son "eventos" que se ejecutan cada cierto tiempo de forma secuencial, por ejemplo, digamos que quieres hacer un timeline que controle una escena, entonces harías algo así:
Supongamos que tienes 3 personajes en una habitación y están a cierta distancia uno del otro entonces vas a armar una escena que haga lo siguiente:
* Primero el personaje A se va a acerca al personaje B
* Cuando estén juntos el personaje A le va a decir algo al personaje B
* Luego de 3 segundos el personaje B responde algo
* Ahora ambos van hacia donde se encuentra el personaje C
* Cuando estén juntos al personaje C, el personaje B le dice algo a C
* C Responde con otra pregunta
* A Response la pregunta
* Los 3 personajes salen de la habitación
Como ves estos son secuencias para una escena, los timelines pueden ser usados para resolver esto, algo así:
En el step0 del time line A va donde B, luego en otro Step (digamos el 30) A le habla a B y así...
para utilizarlos desde código (no recuerdo como es en DnD :P) es con:
[gml]
timeline_index = el_timeline_que_quieres_usar;
timeline_position = desde_que_posición_quieres_que_se_ejecute;
timeline_running = true; // Para que se ejecute el timeline
[/gml]
Hay otras variables para controlar timelines como inidicar si es loopeable y cosas así, pero te aconsejo que experimentes un poco primero.
Saludos
71
Propuestas y soporte / Re:(Propuesta) Ideas para el foro
Febrero 18, 2016, 02:55:56 PM
En lo personal prefiero que la comunidad se mantenga solo en GM, la idea no es traer gente para que se pierda el enfoque original, pero si se podrían añadir nuevas secciones relacionadas con la industria y el desarrollo como tal.
Creo que lo más importante es ofrecer más contenido para ayudar a la gente que recién inicia y que el foro no sea solamente un lugar al que visitas para hacer preguntas y ya si no que haya un motivo extra, algo que he visto es que en juegos en desarrollo los users no siempre están aportando información muy útil a los desarrolladores, cosas sobre como mejorar, temas de errores o consejos sobre el desarrollo, últimamente son cosas como "después lo pruebo" y no aportan nada al desarrollo.
TL;DR creo que se debe ofrecer más ayuda a los users, que haya un razón real para visitar el sitio.
Saludos
Creo que lo más importante es ofrecer más contenido para ayudar a la gente que recién inicia y que el foro no sea solamente un lugar al que visitas para hacer preguntas y ya si no que haya un motivo extra, algo que he visto es que en juegos en desarrollo los users no siempre están aportando información muy útil a los desarrolladores, cosas sobre como mejorar, temas de errores o consejos sobre el desarrollo, últimamente son cosas como "después lo pruebo" y no aportan nada al desarrollo.
TL;DR creo que se debe ofrecer más ayuda a los users, que haya un razón real para visitar el sitio.
Saludos
72
Juegos en desarrollo / Re:Wraith [A.0.1]
Febrero 17, 2016, 03:38:49 PMCita de: GmakerFan en Febrero 16, 2016, 08:49:02 PM
Me gustaria sabes mas de este modo raycaster,
es algo como un modo 7 de GM?
Es diferente, el modo 7 trata de escalar y rotar una textura para darle apariencia de perspectiva, en raycasting no se maneja perspectiva como tal. Básicamente se trata de castear un rayo desde la posición de la cámara en su dirección para determinar que tan lejos se encuantran los objetos, se castean el mismo número de pixeles horizontales y se renderiza una columna con la información de la textura y su tamaño.
Por ejemplo, el surface que usé es de 320x240 osea que cada frame lanzo 320 rayos y dibujo 320 background_parts de forma horizontal tipo: (x,top,x+1,bottom) osea, un pixel horizontal contra varios verticales, lo que le da la apariencia de estar mas cerca o lejos.

La idea es esa, aunque son más rayos por frame, entre más largo sea el rayo más pequeño se va a ver el muro.
Ahora no puedo dibujar para ilustrarlo mejor pero la idea es esa :-[ es un método relativamente rápido, a principios de los 90 fue un metodo muy usado para crear juegos que parecieran 3D.
Hoy en día es mejor dibujar utilizando primitivas ya que la tarjeta gráfica se encarga del raster.
Saludos 8)
73
Preguntas y respuestas / Re:Crear una view mediante código.
Febrero 16, 2016, 08:00:55 PM
Que te falla especificamente? lo otro, tienes alguna vista definida en el room0 (como view enabled)?
74
Juegos en desarrollo / Re:Volcano Shaman
Febrero 16, 2016, 03:29:44 AM
La verdad me gustó el concepto, cuesta un poco entenderlo al principio :-[ .
Me gustaron mucho los gráficos, muy divertidos, trata de que se diferencien bien los animales (con los del hud) ya que hay un par que nunca quedo seguro de cual es el que tengo que lanzar :P
Sería bueno que le pusieras un medidor de fuerza para irse mentalizando cuanta fuerza se necesita para lanzar cada animal y también (tal vez) que los animales tengan un peso diferente para que no sea tan lineal.
Por lo demás, esta aún bastante primitivo pero me gusta como esta luciendo.
Saludos.
Me gustaron mucho los gráficos, muy divertidos, trata de que se diferencien bien los animales (con los del hud) ya que hay un par que nunca quedo seguro de cual es el que tengo que lanzar :P
Sería bueno que le pusieras un medidor de fuerza para irse mentalizando cuanta fuerza se necesita para lanzar cada animal y también (tal vez) que los animales tengan un peso diferente para que no sea tan lineal.
Por lo demás, esta aún bastante primitivo pero me gusta como esta luciendo.
Saludos.
75
Juegos en desarrollo / Re:Wraith [A.0.1]
Febrero 16, 2016, 02:24:09 AMCita de: Wirgwoks en Febrero 15, 2016, 05:24:46 PM
Me gusto :D aunque no logro matar a todos los enemigos y termino perdiendo xD
En serio? y yo que pense que iba a estar de hecho muy fácil :-[ ahí añadí un vídeo al post inicial con la jugabilidad de la demo actual.
Saludos