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 - cristopher2545

21
Desarrollo de Scripts / Pushable Box Code
Enero 07, 2018, 12:01:10 AM
Autor original: CRISTOPHER2545
Versión de GM utilizada: :GM8: :GMS:
Descripción: este script sirve para crear una caja que el jugador pueda empujar. el código esta optimizado para evitar bajas en la memoria.
Código:



CREATE EVENT

//movimiento
hsp = 0;
vsp = 0;

//gravedad
grav = 0.5;
m=1
//salto y movimiento
jumpspeed = 11

//friccion maxima
groundAccel = 1//puedes modificar esto para tener friccion en el piso
groundFric  =1 //puedes modificar esto para tener friccion en el piso
airAccel    = 0.4 //0.4 valores recomendados
airFric     = 0.1// valores recomendados
onGround=false
// velocidad maxima
maxH        = 5
maxV        = 0.1

jumps=0
jumpsmax=2
move_lock = false;
grounded = false;


STEP EVENT
var tempAccel, tempFric;

//Get the player's input
key_right = keyboard_check(vk_right);
key_left = keyboard_check(vk_left);
key_down = keyboard_check(vk_down);
key_jump = keyboard_check_pressed(vk_space);
key_jump_held = keyboard_check(vk_space)
//React to inputs

if (onGround) {
    tempAccel = groundAccel;
    tempFric  = groundFric;
} else {
    tempAccel = airAccel;
    tempFric  = airFric;
}

if (vsp < 10) vsp += grav;

move_lock = false;
{
// Moving right
if  place_meeting(x+2,y,obj_player)
{
    if (hsp > 0)
        hsp = Approach(hsp, 0, tempFric);   
    hsp = Approach(hsp, -maxH, tempAccel);


if  place_meeting(x-2,y,obj_player)
{
     if (hsp < 0)
        hsp = Approach(hsp, 0, tempFric);   
    hsp = Approach(hsp, maxH, tempAccel);

}

if  !place_meeting(x-1,y,obj_player) && !place_meeting(x+1,y,obj_player)
{
hsp=0
}

//Horizontal Collision
if place_meeting(x+hsp,y,obj_wall)
{
    yplus = 0;
    //subir las cuestas
    while (place_meeting(x+hsp,y-yplus,obj_wall) && yplus <= abs(1*hsp)) yplus += 1;
    if place_meeting(x+hsp,y-yplus,obj_wall)
    {
        while (!place_meeting(x+sign(hsp),y,obj_wall)) x+=sign(hsp);
        hsp = 0;
    }
    else
    {
        y -= yplus
    }
}
x += hsp;
//bajar las cuestas
if !place_meeting(x,y,obj_wall) && vsp >= 0 && place_meeting(x,y+2+abs(hsp),obj_wall)
{while(!place_meeting(x,y+1,obj_wall)) {y += 1;}}

//Vertical Collision
if (place_meeting(x,y+vsp,obj_wall))
{
    while(!place_meeting(x,y+sign(vsp),obj_wall))
    {
        y += sign(vsp);
    }
    vsp= 0;
}
y += vsp;


if (!place_meeting(x,y+1,obj_wall))
{
onGround=false
}
else
{
onGround=true
airAccel    = 0.4
}




if (vsp < 0) && (!key_jump_held)
{
    vsp += grav;//+
}





22
Preguntas y respuestas / empujar una caja [resuelto]
Diciembre 22, 2017, 06:03:58 AM
Eh vuelto de nuevo, realmente no quiero pero me frustre muchísimo

estoy tratando de hacer que mi personaje empuje una caja en un juego de plataformas use este codigo


if keyboard_check(vk_left) && place_meeting(x-2,y,obj_box)
{
hsp=-3
}
else
hsp=0


este código funciona correctamente el personaje empuja la caja a lo largo del nivel, pero cuando pongo ese mismo código invertido para que el personaje la empuje hacia el otro lado el código deja de funcionar por completo.

no se que estoy haciendo mal al invertir el código pero al ponerlo todo deja de funcionar alguna idea de que pueda ser?

de antemano gracias y feliz casi navidad  :)
23
Desarrollo de Scripts / Platformer "ENGINE" source code
Diciembre 21, 2017, 10:57:47 AM
Autor original: Shaun spalding
Modificación por: CRISTOPHER2545
Versión de GM utilizada:  :GM8: :GMS:
Descripción: este script es una modificación al código de SHAUN SPALDING que agrega algunas mejoras técnicas a los controles conservando toda la funcionalidad del original.
Código:
"puedes usar este código en un script o en un objeto jugador."
"este código ah sido comprimido para mejor eficiencia y mas rendimiento"
Create event

//movimiento
hsp = 0;
vsp = 0;

//gravedad
grav = 0.5;
m=1
//salto y movimiento
jumpspeed = 11

//friccion maxima
groundAccel = 1 //puedes modificar esto para tener friccion en el piso
groundFric  =1 //puedes modificar esto para tener friccion en el piso
airAccel    = 0.4 //0.4 valores recomendados
airFric     = 0.1// valores recomendados
onGround=false
// velocidad maxima
maxH        = 5
maxV        = 0.1

jumps=0
jumpsmax=2
move_lock = false;
grounded = false;


Alarm 0 event
move_lock = false;

Step event
var tempAccel, tempFric;

//Get the player's input
key_right = keyboard_check(vk_right);
key_left = keyboard_check(vk_left);
key_down = keyboard_check(vk_down);
key_jump = keyboard_check_pressed(vk_space);
key_jump_held = keyboard_check(vk_space)
//React to inputs

if (onGround) {
    tempAccel = groundAccel;
    tempFric  = groundFric;
} else {
    tempAccel = airAccel;
    tempFric  = airFric;
}

if (vsp < 10) vsp += grav;

move_lock = false;
{
// Moving right
if (key_left) && (!key_right)
{
    if (hsp > 0)
        hsp = Approach(hsp, 0, tempFric);   
    hsp = Approach(hsp, -maxH, tempAccel);


if (key_right) && (!key_left)
{
     if (hsp < 0)
        hsp = Approach(hsp, 0, tempFric);   
    hsp = Approach(hsp, maxH, tempAccel);

}


if (!key_left) && (!key_right) && !onGround
    hsp = Approach(hsp, 0, tempFric);
else if (!key_left) && (!key_right)
{
hsp=0
}

//Horizontal Collision
if place_meeting(x+hsp,y,obj_wall)
{
    yplus = 0;
    //subir las cuestas
    while (place_meeting(x+hsp,y-yplus,obj_wall) && yplus <= abs(1*hsp)) yplus += 1;
    if place_meeting(x+hsp,y-yplus,obj_wall)
    {
        while (!place_meeting(x+sign(hsp),y,obj_wall)) x+=sign(hsp);
        hsp = 0;
    }
    else
    {
        y -= yplus
    }
}
x += hsp;
//bajar las cuestas
if !place_meeting(x,y,obj_wall) && vsp >= 0 && place_meeting(x,y+2+abs(hsp),obj_wall)
{while(!place_meeting(x,y+1,obj_wall)) {y += 1;}}

//Vertical Collision
if (place_meeting(x,y+vsp,obj_wall))
{
    while(!place_meeting(x,y+sign(vsp),obj_wall))
    {
        y += sign(vsp);
    }
    vsp= 0;
}
y += vsp;


if (!place_meeting(x,y+1,obj_wall))
{
onGround=false
}
else
{
onGround=true
airAccel    = 0.4
}

if (place_meeting(x,y+1,obj_wall))
{
    jumps = jumpsmax; 
}

if (key_jump) && (jumps > 0)
{
    jumps -= 1;
    vsp = -jumpspeed;
}




if (vsp < 0) && (!key_jump_held)
{
    vsp += grav;//+
}


//wall jump system
if key_jump and place_meeting(x + 1, y, obj_wall) and grounded=false
{
    vsp = -12;
    move_lock = true;
     hsp=-6
     jumps=1
     alarm[0]=5
   
}
else

if place_meeting(x + 1, y, obj_wall) && vsp>0
{
vsp=1
}


if key_jump and place_meeting(x - 1, y, obj_wall) and  grounded=false 
{
    vsp = - 12;
       move_lock = true;
       alarm[0]=5

   hsp=6
   jumps=1
}
else

if place_meeting(x- 1, y, obj_wall) && vsp>0
{
vsp=1
}



"debes de crear un script con el nombre "Approach" para que el código anterior funcione"
"este código sirve para detectar las colisiones con las paredes"


if (argument0 < argument1)
    return min(argument0 + argument2, argument1);
else
    return max(argument0 - argument2, argument1);



"el código funciona perfectamente ya trae el doble salto y el wall jump al igual que los "slopes" si deseas agregar mas cosas puedes ver los vídeos de shaun spalding ya que este código sigue siendo compatible con sus códigos aunque tambien puedes integrar códigos externos para mejorar este codigo"

se recomienda correr el juego a 60 FPS ya que el código esta adaptado para esa velocidad si deseas usar 30 FPS recomiendo cambiar todos los valores en el evento CREATE para que se adapten a la velocidad del juego.

para usar las colisiones es necesario crear un objeto llamado "obj_wall" este puede ser cambiado tomando en cuenta que se debe cambiar el nombre en todo el código, al tener este objeto todas las funciones operaran correctamente incluso el wall jump, la versión del wall jump es antigua y es la misma que utilizaba en mis juegos de prueba.

DATO CURIOSO: a todo esto me costo exactamente 3 semanas en re-crear y testear el código las partes mas difíciles de añadir fue la fricción aérea y en el piso al igual que el wall jump, el código es totalmente amigable y puedes DESACTIVAR todas las habilidades extras que el código ofrece.

cualquier problema con este código puedes mandarme un correo a cagamesco@gmail.com o en la mensajería de este foro y responderé a la brevedad, si encuentras algún bug favor de notificarlo para poder postear un parche en el código
24
Preguntas y respuestas / impulso en el salto [RESUELTO]
Diciembre 17, 2017, 09:16:37 AM
Hey hola que tal! tanto tiempo de no estar por aquí pero vengo con un problema espero puedan ayudarme.

uso el código de shaun spalding porque es el que tengo para practicar, me preguntaba si hay alguna forma de agregar fricción en el aire en el salto me explico cuando saltas y presionas alguna flecha de dirección te mueves a lado que elijes pero si la sueltas el personaje se frena en el aire en seco me gustaría que en vez de eso que cuando se presione la tecla (dependiendo de lo fuerte que la toques)  y la sueltes el personaje se mueva en el aire y vaya disminuyendo su velocidad hasta frenar

si alguien sabe como seria genial me apoyara lo agrade-seria muchísimo..

gracias  :)
25
Preguntas y respuestas / guardar una variable con letras
Noviembre 09, 2017, 06:43:44 AM
Hola a todos!

eh estado trabajando en agregarle un sistema de slots de guardado al juego que estoy creando y todo va genial uso .inis para guardar los datos para que el usuario pueda guardar su progreso aunque llegue a un problema con esto

tengo una variable global llamada
global.nombre=""
esta variable esta en blanco porque el jugador almacena su nombre por medio de un imput que hay en el juego


para "guardar" el nombre y para cargarlo uso

GUARDAR
ini_open("ranura1.ini")
{
global.nombre=ini_write_real("save","nombre",global.nombre)

}
ini_close()

//CARGAR
ini_open("ranura1.ini")
{
global.nombre=ini_read_real("save","nombre",global.nombre)
}
ini_close()


en el .ini me sale asi
[save]
nombre="0.0000"

alguna idea de lo que hago mal?
26
Hola a todos!

eh estado trabajando con 2 shaders que conseguí en Internet uno que curva la pantalla como si fuera un televisor antiguo y otro que añade pequeñas lineas a la pantalla para hacer un efecto de pantalla defectuosa ambos funcionan bien y me encantan pero hay un problema me gustaría unirlos para que en pantalla se vieran los 2 shaders a la vez eh leido que hay maneras de tener en pantalla 2 shaders en el mismo cuarto no quiero modificar el codigo de ninguno de los 2 porque parece funcionar muy bien la pregunta seria


se puede o hay algun codigo que me puedan proporcionar que haga que existan 2 shaders en pantalla al mismo tiempo?

de antemano gracias!

27
Preguntas y respuestas / Animación de giro
Octubre 28, 2017, 11:54:13 PM
Hey hola a todos!

estaba manoseando un proyecto muy antiguo que tenia tirado un plataformero hecho en game marker 8 con el drag and drop y se me ocurrio portearlo a game marker studio usando GML de entre medias vi que algunos enemigos no tenian la animacion de giro al dar la vuelta.. me explico

como en los juegos como metal slug los tanques, los enemigos y todas las cosas moviles tenian un pequeño frame de animacion para darce la vuelta no lo hacían tan brusco, la diferencia es muy grande cuando no tienen la animacion se giran de forma tosca pero cuando la tienen suavemente se ve como se giran para ver al jugador

como agregarle esa animacion o "frame" al jugador y enemigos para que se den la vuelta suavemente?

Agradesco sus respuestas  :) (no tengo codigo que pasar porque todo era drag and drop y como que se descompuso)
28
Desarrolladores / CRISTOPHER ANIMATED GAMES (unete!)
Octubre 12, 2017, 03:36:16 AM

CRISTOPHER ANIMATED GAMES CO.  (CAGAMESCO.)


-CRISTOPHER2545 (Programador-Escritor)
     -RAFAEL MORALES (Sabe encender el pc y da buenas ideas)


     19/AGOSTO/2001

    MEXICO

Somos una pequeña empresa independiente que crea pequeños juegos, practicantes de la programación que desean hacer cosas divertidas y pasar un buen rato entre amigos programamos juegos sencillos, o calvez complicados teniendo el material necesario, nada de lo que hacemos es enserio aun ya que no tenemos un buen equipo completo pero mientras tanto seguiremos practicando y haciendo cosas simples para mejorar poco a poco.

creamos ideas, y las hacemos realidad con nuestras manos o tal vez no.



- Beat em up engine 75% (http://www.comunidadgm.org/juegos-en-desarrollo/beat-em-up-proyect/)
- Crash bandicoot engine 67% (http://www.comunidadgm.org/juegos-en-desarrollo/crash-bandicoot-engine/)
- Cristopher adventures 1 100% (fue eliminado de la web porque era muy feo)



- SUPER PONG! (fase de boceto )
- THE TIME IS OVER 15% (código y A.I)
- JUMP AND FALL (en desarrollo)




Si te interesa unirte a nuestro equipo puedes enviar un correo o un mensaje privado no importa cuanto sabes o lo que sabes hacer lo único que importa es que lo quieras pasar bien haciendo cosas chulas

correo: cagamesco@gmail.com
29
Hey hola a todos! estaba recreando el arma del metal slug llamada "Enemy chasser" ya saben los misiles que siguen a todos los enemigos pero tengo un problema mis enemigos son todos el mismo objeto duplicado así que cuando el misil aparece solo sigue a uno aunque saque varios misiles todos van al primer enemigo que ven solo cuando este muere entonces siguen al siguiente..

tengo este código que va en el objeto misil que detecta al enemigo y lo sigue

var pd =point_direction(x, y, obj_player.x, obj_player.y);

var dd = angle_difference(image_angle, pd);
image_angle -= min(abs(dd), 10) * sign(dd);


   move_towards_point(obj_player.x, obj_player.y, 2);


me gustaría saber como hacerlo agradezco su ayuda de antemano y muchas gracias
30
HEY! hola a todos

últimamente eh estado parado sin hacer nada a culpa de la escuela pero un día me salio una duda es posible pausar y reanudar una pista de música en el juego o hacer que la música vaya rápido y lento cuando pase algo en especial? eh visto que lo hacen en unity pero tenia la curiosidad de saber si en gm se podia

aprecio sus respuestas de antemano gracias!
31
estoy algo cansado eh esforzado mi mente al máximo eh usado ds_maps eh usado variables eh usado tutoriales de Internet eh estado en lugares de la web que ningún hombre ah estado jamas eh usado cosas como esta https://www.youtube.com/watch?v=prcksMAo2e8 pero no soy capas de hacer un sistema de combate para un juego de peleas que sea fluido y funcional vamos no pido que venga bill gates a darme el código pero al menos algo que se sienta bien para que todos podamos nutrirnos de el aun sigo con el proyecto beat em up aqui un pequeño avance agregue enemigos que tienen un patrol bastante meh pero tienen una animación de caída aun le falta la de levantare pero la llevo fina aqui el videohttps://www.youtube.com/watch?v=MMHy3uRNGBQ&feature=youtu.be

si alguien sabe como hacerlo o tiene algo para ayudarme lo agradeceré mucho. el código que uso esta aqui

http://www.comunidadgm.org/juegos-en-desarrollo/beat-em-up-proyect/
32
Hola a todos!

eh estado trabajando en muchos proyectos últimamente y actualizando el proyecto BEAT EP UP agregue un sistema para que los jugadores escribieran su nombre para que durante todo el juego pudieran ver su nombre u apodo en la partida hasta las puntuaciones del final pero siento que hacerlo con el keyboard_string es muy soso ya que básicamente lo hago a la clásica con este código en esto


if string_length(keyboard_string) > 15
{
keyboard_string = string_copy(keyboard_string,1,15)
}
draw_text(x,y,keyboard_string +"|")

if keyboard_check_pressed(vk_enter)
{
room_goto_next()
nombre=keyboard_string
}


básicamente guardo el nombre que el jugador escribe con el teclado en la variable nombre y al darle nombre esta se dibuja en todo el juego

eh estado practicando para hacer menus interactivos de esos que funcionan con las flechas y con esos cursores que reaccionan al movimiento y me ah resultado genial pero mi duda entra en como hago para que al seleccionar una "letra" en el menub imaginario tenga las mismas funciones como si las presionara en el teclado de verdad ya saben borrar teclas espacio

y con teclado arcade me refiero a ese teclado que estaba en las maquinitas

QWERTYUIP
ASDFGHJJK
ZXCVBNM END <

y con las flechas de la arcade ibas seleccionando cada letra a tu antojo tengo una cierta idea de como se hace pero cuando la probe realmente no funciono no la pondré porque es muy tonta y hasta da pena ponerla...


agradesco sus respuestas de corazon ya que han sido de mucha ayuda desde que llegue aqui <3
33
Hola a todos de nuevo aquí con una duda en la que no eh podido encontrar información al respecto

bueno explico eh tratado de hacer un pequeño sistema de lectura que me permita dibujar y recibir variables desde una pagina de Internet por ejemplo en la base de datos de la pagina de Internet tener una variable global

global.Cosa=0

desde el "juego" pueda sumar un punto a esa variable "X" pero que a la vez pueda ver como ese valor sube dibujando la variable de la pagina de Internet en la ventana del juego para que todos los que lo tengan puedan ver esa variable algo así como un conteo global de donaciones que se pueda ver al inicio del juego y que en "tiempo real" suba el conteo

global.cosa+=1

eh estado leyendo un poco la guía de códigos GML  para aprender un poco mas de como recibir y dibujar datos en pantalla desde una base de datos o un archivo de texto hosteado en una pagina web pero sin resultados no logro comprender la lógica de hacerlo trate con el

http_get

pero solo entendí que se usa para pedir acceso a la pagina solicitada por eso hoy pido ayuda para ver si pueden darme la ayuda para saber mas de este tema le estaré muy agradecido como siempre por su ayuda y de antemano muchas gracias por su respuestas
34
Preguntas y respuestas / puntuacion [solved]
Agosto 25, 2017, 06:03:40 AM
eh visto en muchos juegos que el score o puntuación siempre se ve de esta manera

Puntuación:00000000

y conforme va sumando puntos el score conserva sus ceros pero simplemente los va sumando algo parecido a los scores  en los juegos de la nes que eran como 10 ceros y al sumarle el puntaje simplemente esos ceros iban cambiando por el score

Puntuación:00000279


espero me explique bien alguien tiene una idea de como hacerlo en game marker? siento que se ve mas bonito asi que solo tener un cero
35
Preguntas y respuestas / Plataformas moviles
Agosto 16, 2017, 06:27:57 AM
Hola a todos!

eh vuelto con una nueva duda que me tiene muy nervioso y esto es sobre las plataformas móviles o ascensores oh los pixeles que te mueven de arriba y abajo pues vale como siempre me vi como el dios shaun spalding programaba las horizontales y al seguir el tutorial (copiar y pegar de forma salvaje el codigo) me di cuenta que solo había programado las horizontales y dado que no soy muy bueno con gml decidí yo sólito programar el de las verticales y empezó mi calvario...

el personaje se sube a la plataforma la plataforma lo sube y aquí viene el primer error el personaje se baja un pixel al subir y se hunde a la plataforma lo cual no le puse mucha atención porque realmente funcionaba bien de no ser por lo que pasaba después, la plataforma esta programada para rebotar en la pared para que siga su ciclo de movimiento pero al hacer eso el personaje da un salto y se queda saltando cuando la plataforma va de bajada y al subir el pixel que se hunde el personaje hace que este se calme para volver a repetir la acción cuando la plataforma baja. ademas de vez en cuando al rebotar la plataforma  el jugador decide que ya no quiere estar sobre ella y se baja sólito no entiendo porque pero lo hace

no se que estoy saltando en el código o que estoy poniendo de mas pero  me esta poniendo muy nervioso pero es este siento que tal-vez le falta algo para que el personaje se quede pegado en todo momento al piso de la plataforma hasta que yo le ordene saltar o moverse pero bueno este es mi código modificado

evento CREATE de la plataforma

vsp=0
dir=1
movespeed=2



evento STEP de la plataforma

//movimiento de la plataforma
vsp=dir*movespeed

//al tener algo solido la plataforma rebota de vuelta o empuja al jugador fuera
if (place_meeting(x,y+vsp,obj_wall))
{
while(!place_meeting(x,y+sign(vsp),obj_wall))
{
y+=sign(vsp)
}
vsp=0
dir*=-1
}
y+=vsp


// si el jugador esta sobre ella esta lo sube y aveces lo baja
    if place_meeting(x,y-1,obj_player)
    {
    obj_player.vsp=vsp
    }



por favor ayúdenme que me esta poniendo muy nervioso y no puedo hacer un juego si no tiene estas plataformas roba hijos </3 se los agradecere de todo corazon  :love: y de antemano muchísimas gracias por sus respuestas
36
Juegos en desarrollo / Crash bandicoot engine
Agosto 04, 2017, 07:39:25 AM


Crash bandicoot ENGINE


Plataformas


GM: Studio

este es un editable de crash bandicoot destruye cajas, inventa tu aventura y derrota al doctor cortex. (no inventes fan fics o juegos baratos porque lo mismo papa activision se enoja)






Archivo adjunto


Hola a todos cristian aquí con un nuevo proyecto entre manos y nada mejor que un editable del crash bandicoot para empezar fuerte (para los que sigan interesados en el engine de beat em up tengan paciencia saldrá pronto solo que es algo muy complicado y me da pereza) bien dejando estas cosas en claro vamos a ver que contiene este editable y contengan sus pajas mentales que todo es real no fake el único el inigualable cresh bendicot engine

que trae este editable

-movimiento de plataformas basico (incluye doble salto)
-ataque tornado
-wumpas y vidas
-mascara aku aku (esta tiene inteligencia artificial para que te siga y al coleccionar 3 entras en modo rape)
-ataque de agro (este lo obtienes cuando juntas 3 akus rompes y recojes todo lo que se te pone enfrente)
-cajas (con colisiones perfectas incluye tu cajita de ? tu cajita de vidas, tu cajita de 10 wumpas y tu cajita de un wumpa)
-hud funcional (al presionar shift el hud aparece y al soltarlo se va y cuando obtienes una vida o wumpas el hud sale solo y se esconde solo)
-si le das vueltas a algo cercano se va volando (siente la furia del tornado)
-animacion al saltar sobre las cajas (no aceptes imitaciones
-el tornado tiene su propia mascara de colision para tener cierto agro al romper las cajas
-tiene integradas las colinas asi que dile adios a tus niveles derechos y sin forma
-y fuente personalizada

atascate mi rey que hay caldo y del bueno el editable esta listo para funcionar y cambiarle lo que a ti te venga en gana agregarle cosas es muy facil solo debes ver las colisiones de wumpas o cajas para saber como meterle nuevo contenido pero si eres de los que saben esperar puedes  esperarte a la update 2 del editable que tendra

-1 template para un jefe
-contador de cajas
-gemas y cristales
-niveles prueba,bonus y death route
-enemigos
-y mas objetos como (trampolines, que tu cajita que le saltas 5 veces que tu nitro que tu tnt que tu cajita destruye todo entre mas)
-time trial
-check points

el credito no es necesario pero si en tu alma sale ponerle un link a mi canal de youtube (https://www.youtube.com/channel/UCVECgpSAG-_lC0J-s21RI1w) te lo agradecere de corazoncillo los sprites no me pertenecen asi que no se si puedas usarlos yo le pedi permiso al muchacho que es este

http://theguy07.deviantart.com/

ahi le pides chanza al muchacho a ver si te los presta aunque puedes usar los que estan en internet para mejor seguridad

cualquier duda respecto a este editable favor de contactarme por aqui o por mi canal de youtube para informar de un bug o de algo que quieran que le ponga

si por algo no te sientes seguro con tu compra (notese el sarcasmo aqui) ve este video con el engine funcionando
https://www.youtube.com/watch?v=JJ09RGQQIS8&feature=youtu.be

es todo y es un placer nos vemos en la proxima update o en otro proyecto bonico

37
HOLA!

ah pasado mucho tiempo y como tal eh regresado con muchas dudas respecto a un pequeño proyecto estaba practicando la programacion con maquinas de estado cuando de repente se me ocurrió crear un fan game de crash bandicoot todo iba bien hasta que llegue a las cajas esas cosas engendradas por lucifer que no soy capaz de completar al principio crei que era facil pero me di cuenta que no era asi.... hice este código pensando que con eso ya tendría


if other.vspeed>0
{

  obj_player.vspeed=-10
instance_destroy()
}else if obj_player.vspeed<0 && other.top=false
{
obj_player.vspeed=2
instance_destroy()

}


y funcionaba ya que se rompía una caja a cada salto pero empece a tener errores si saltaba muy pegado a la caja esta se rompia sin saltarle encima si saltaba alado de una torre de cajas cuando el jugador alcanzaba el salto maximo como que saltaba de nuevo sobre una caja y se trepaba hacia arriba hice variables nuevas pero al saltar sobre las cajas rompían de 2 o 3 y ese no es el plan...
alguien sabe como hacer unas cajas que funcionen correctamente?
38
Hola a todos! eh estado trabajando en un sistema básico de combate para un beat em up y funciona muy bien pero el problema es cuando usas teclas que ya tienen una función asignada para un combo por ejemplo la tecla X da un puñetazo y la C una patada pero si presionas la X y C al mismo tiempo haces un ataque distinto y eso no funciona bien ya que el ataque sale cuando el sistema quiere. como hacer para desactivar teclas cuando haces un combo? ya saben al estilo de double dragon das un combo y las otras funciones se desactivan.. si alguien me puede ayudar a mejorar este sistema o alguien a experimentado con uno mejor se los agradecería mucho esto me ah tenido parado el proyecto

este es el código que uso

punch_k = keyboard_check_pressed(ord("X"))
kick_k =keyboard_check_pressed(ord("C"))
cover_k = keyboard_check(ord("V"))
down_k = keyboard_check(vk_down)
C1= keyboard_check_pressed(ord("C")) && keyboard_check_pressed(ord("X"))
C2= keyboard_check_pressed(ord("C")) && keyboard_check_pressed(vk_down)



if (C1) && atack=true && jump=false
{
state="codazo"
combo=true
punch=true
atack=false
v=0
h=0
run=false
image_index=0   
lock=true
}

if (C2) && atack=true && jump=false
{
state="down kick"
punch=true
combo=true
atack=false
v=0
h=0
run=false
image_index=0   
lock=true
}


if combo=false
{
if (punch_k) && atack=true && jump=false && state!="kick"
{
atack=false

punch=true
state="punch"
lock=true
image_index=0
h=0
v=0
}

if (kick_k) && atack=true && jump=false && state!="punch"
{
punch=true
state="kick"
atack=false
lock=true
image_index=0
h=0
v=0
}
}

39
Preguntas y respuestas / Suavizar colisiones
Junio 07, 2017, 07:36:37 PM
HEY! tanto tiempo sin publicar por aquí me alegra mucho que este sitio siga vivo y con futuro  :) y como todos los martes llego la hora favorita de papa molestarlos con una duda :( prometo sera cortita

estaba trabajando en el proyecto Beat em up si no saben cual es pueden conseguir  el código fuente y saber mas de el aquí:
http://www.comunidadgm.org/juegos-en-desarrollo/beat-em-up-proyect/msg127183/#msg127183

bueno el punto es tengo unas colisiones independientes a las que uso para la pared esas colisiones pertenecen a los bloques  que puedo saltarles ensima todo funciona 10/10 pero hay un diminuto problema las colisiones no son lisas a que me refiero? a diferencia de las que tengo para paredes cuando te pegas a ellas y caminas reaccionan a tus movimientos dejándote deslizarte y eso es genial pero con las que tengo especialmente para objetos a los que me puedo trepar el sistema no funciona nada bien si trato de hacer lo mismo que en las otras me quedo atorado y no me puedo mover hasta que dejo de caminar contra el bloque.. alguna idea para repararlas?

código de colisión de objetos (te atoras) (este va en el evento colisión de cada objeto)
//sistema de colisiones
    if ( ( z < other.z && other.height+other.z < z ) // de aqui
         || ( z+height < other.z && z > other.height+other.z ) )
    {
  x1 = 0;
        y1 = 0;
        x = xprevious;
        y = yprevious;
       

    }// a aqui es el problema que menciono trate de reconstruir el sistema pero se niega a funcionar
    else
    {
        if( z < other.height+other.z ) //si estas sobre el bloque
        {
            if( y < other.y ) depth = other.depth - (other.y - y); //profundidad en el punto z
            z_floor = other.height+other.z-1;
        }
        else if( z > other.z) //si esta mas alto que el personaje dejalo pasar
        {
            if( y > other.y ) depth = other.depth + (other.y+y);
            //no hagas nada
        }
    }
}



y este código es para colisiones con objetos sólidos como una pared (este funciona genial y va en el evento STEP)
if (place_meeting(x+xSpeed,y,collider))
{
while(!place_meeting(x+sign(xSpeed),y,collider))
{
  x+=sign(xSpeed);
}
xSpeed = 0;
if (ySpeed == 0)
{
  RoundXCorners();
}
}
x += xSpeed;

if (place_meeting(x,y+ySpeed,collider))
{
while(!place_meeting(x,y+sign(ySpeed),collider))
{
  y+=sign(ySpeed);
}
ySpeed = 0;

}
y += ySpeed;



aqui un video ejemplo de lo que pasa atencion como trato de alejarme lo mas posible de los sestos verdes y los bloques de mario en algunas ocasiones me quedo atascado al caminar

https://www.youtube.com/watch?v=mHuniNICVEs&feature=youtu.be
40
Juegos en desarrollo / -The Beat Em Up Proyect-
Mayo 19, 2017, 04:39:58 AM


-The Beat Em Up Proyect-


COMBATE


GM: Studio


este es un pequeño proyecto independiente que llevo desarrollando desde hace algunos años donde intento replicar la jugabilidad de los clásicos ochenteros, la finalidad de este juego es obtener una experiencia jugable en ordenador al estilo de castle crashers , double dragon advance.

estos juegos no merecen una presentación ya que todos alguna vez hemos jugado un beat em up, el tipico juego isometrico donde te lias a golpes con otros seres humanos en segmentos.





No hay imágenes, pero pueden ver el proyecto en funcionamiento en este vídeo que esta en mi canal de youtube
https://www.youtube.com/watch?v=lwfZ98SbQ6M&feature=youtu.be




Archivo adjunto


=========================================================================================================================


RUN & PUNCH UPDATE  NEW (versión 1.23.5-B)

Esta es la primera versión de este año en concreto y sobre la que seguiré trabajando hasta la update 3
que hay de nuevo en esta version?

- moverte libre en 8 direcciones
- double tap izquierda o derecha para correr
- mientras corres pulsa x para hacer un dash que derriba a los enemigos
- Z para puñetazo básico
- X para patada básica
- si conectas el primer golpe al enemigo y sigues apretando la Z entraras en un combo triple
- los enemigos reaccionan a los golpes y al ser derribados estos se levantaran aleatoria mente dependiendo del daño recibido
- si te paras sobre los enemigos estos no se levantaran hasta que te quites
- los enemigos giraran a verte
- no hay inteligencia artificial de ningún tipo (solo que los enemigos se levanten)
- los enemigos reaccionan a los golpes de forma correcta
- el debug mode esta activado por defecto (hitboxes y elementos de código son visibles)
- se implemento de 10% a 20% la distancia para acertar golpes
- las hitboxes son de tamaño estandar
- los enemigos tienen HP al perderla toda estos caerán y desaparecerán poco a poco