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.

Mensajes - cristopher2545

166
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
167
Juegos en desarrollo / Re:Beat em up Proyect
Junio 06, 2017, 11:12:49 PM
Cita de: somnus en Junio 06, 2017, 10:10:33 PM
puedes ir intentando hacer algo asi y checar haber si se siente bien, si no pues dejar lo Bueno y cambiar lo malo. yo siempre opto mas por controles sencillos en vez de crear funcionalidad para otros botones. golpe , patada, golpe y arriba un ataque diferente, golpe y abajo otro ataque, cosas asi, sin necesidas de tener que tener botnes A, b,c,d,e,f,g,h....a22,b22,etc.

comprendo y suena bastante bien aunque ese sistema queda algo obsoleto cuando quieres meter muchos ataques y dar botonazos tu sabes que cuando tu pruebas tu juego lo haces con cariño y delicadeza pero cuando se lo das a alguien mas para que lo pruebe lo pone a sufrir en agonia para ver si tu codigo aguanta o se rompe en el intento, pues realmente me siento muy muy cómodo con el sistema actual solo que tiene detallitos que me sacan de mis casillas como por ejemplo si das puñetazos y rápidamente das una patada el sistema no comprende la orden y se atascan los botones se siente ese ligero "perate we muchos botones" que corta la acción cuando suba la nueva update veré si los cambios que hice son buenos y espero recibir el feedback que me hace falta para hacer algo bien :)
168
Juegos en desarrollo / Re:Beat em up Proyect
Junio 06, 2017, 07:05:49 AM
Cita de: somnus en Junio 04, 2017, 08:03:32 AM
se ve muy bien, te felicito, el sistema de combos supongo que llega a ser un poco tedioso cuando se quiere implementar bien, pero yo estuve pensando en algo diferente a ese sistema,

basicamente es usar golpe y patada, brinco presionando esos 2 botones ( como doble dragon de nes), sin embargo , para hacer durar mas los combos que sobre el enemigo golpeado aparescan las teclas aleatoriamente y al presionarse que se siga con el combo hasta que se equivoque el jugaodr o que se complete todo el combo, si el control es de pantalla tactil se pudiera hacer haciendo diferentes "gestures".

Lo agradezco y agradezco el comentario :D este tipo de juegos lucen fáciles de crear pero son un infierno si no sabes manejar colisiones caídas y demás cosas dentro de la lógica 2.5 D es un total sufrimiento, sobre el sistema de combo eh estado trabajando bastante duro para descubrir la mejor técnica posible quiero que se sienta original pero que te recuerde a los juegos de antaño que tomes el control y digas "siento haber jugado algo parecido" sin tomar en cuenta el genero eh avanzado mucho pero no tanto como lo desearía la verdad

suena bastante prometedor aunque como en tu punto de vista agregarías un sistema de combo que se sienta fluido? que tu des botonazos en tu control y el personaje los haga en una cadena sin frenar eh considerado usar mucho las DS_LIST pero no lo se tu que me aconsejas?

y de nuevo gracias por tu opinion vale mucho :)
169
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
170
HOLA!  :) como saben eh estado trabajando en el proyecto beat em up y eh logrado añadir colisiones verticales y horizontales al juego y funcionaban del lo mejor ayer conseguí este código de este lugar https://marketplace.yoyogames.com/assets/759/top-down-shooter-engine:

// Actual collision checks + movement
var i;

// Vertical
for (i = 0; i < abs(v); ++i) {
    // UP slope
    if (place_meeting(x, y + sign(v), oParSolid) && !place_meeting(x - 1, y + sign(v+1), oParSolid))
        --x;
   
    if (place_meeting(x, y + sign(v), oParSolid) && !place_meeting(x + 1, y + sign(v+1), oParSolid))
        ++x;

    if (!place_meeting(x, y + sign(v), oParSolid))
        y += sign(v);
    else {
        v = 0;
        break;
    }
}

// Horizontal
for (i = 0; i < abs(h); ++i) {
    // Slopes
    if (place_meeting(x + sign(h), y, oParSolid) && !place_meeting(x + sign(h), y - 1, oParSolid))
        --y;
   
    if (place_meeting(x + sign(h), y, oParSolid) && !place_meeting(x + sign(h), y + 1, oParSolid))
        ++y;
         
    if (!place_meeting(x + sign(h), y, oParSolid))
        x += sign(h);
    else {
        h = 0;
        break;
    }
}

///////////////////////////////////////////////////////////////////////////////



este código funciona bien en colinas de 45 grados te permite deslizarte suavemente por ellas sin quedarte atorado y si estas junto a una colina y presionas arriba automáticamente se desliza por ella el problema es que solo funciona con angulos de 45 si tratas de meterle ángulos fuera de esa cifra deja de funcionar el código en vez de ser automático tienes que presionar las teclas de movimiento  y arriba o abajo al mismo tiempo para que el personaje se deslice.. si han jugado los leyend of zelda de antaño sabran a que me refiero con deslizarce

hay alguna forma de quitar el bloqueo de los 45 grados o hay algún código que funcione bien en las colinas? el codigo que yo usaba antes de obtener ese es este y hace lo mismo que el anterior si me pego a la colina y presiono los botones el personaje la sobe y la baja pero se atora un poco y no la sube de forma automatica:


if place_meeting(x,y+velv,obj_solid)
{
if directionv=0
move_contact_solid(90,-1)
if directionv=1
move_contact_solid(270,-1)
velv=0 //esta variable controla la velocidad de movimiento vertical


if place_meeting(x+velh,y,obj_solid)
{
if direction=0
move_contact_solid(180,-1)
if direction=1
move_contact_solid(0,-1)
velv=0 //esta variable controla la velocidad de movimiento horizontal


si alguien pudiera ayudarme seria genial! lo agradeceria mucho!  :)

dejo aquí el editable de lo que llevo para que todos puedan usarlo :) y para todos aquellos que usan studio lo pase a esa versión

Gracias :D


171
Cita de: Clamud en Mayo 05, 2017, 06:28:48 PM
Primero deberías diseñar un sistema de colisiones del mundo visto desde arriba, y después agregar el movmiento en el eje z.
El diseño de los escenarios se podría hacer en dos partes, en un lugar agregas la información sobre la altura del terreno y la posición de los objetos y en otro lugar agregas los gráficos. Todo se movería en una cuadrícula 2D y las coordenadas se transforman para dibujar los gráficos en la posición correcta, de acuerdo al estilo de proyección de los escenarios. Me gustaría hacer un ejemplo, pero tengo poco tiempo, espero terminar pronto con el trabajo.

hey hola!  :) gracias por responder  es lo que tenia planeado empezar a hacer  crear 2 bloques especiales uno que fuerze la gravedad falsa del personaje haciéndolo caer al segundo bloque que es el que lo frenaría en su lugar eh estado diseñando un pequeño test y hasta ahora parece querer funcionar aunque debo ponerlo a parir chayotes con espinas para probar la eficiencia del mismo y espero tengas suerte con tu trabajo y no te apures por el ejemplo si me atoro en cualquier cosa haciendo esto subo el ejemplo y actualizo el tema  te lo agradezco :D
172
Cita de: Johann en Mayo 05, 2017, 02:45:32 AM
Si esta en Game maker 8 pones el icono de  :GM8: para que se sepa, ese icono no es de adorno, hace parte del titulo.

Oh disculpa realmente el gmk simplemente es para que todos puedan cogerlo y sacar cosas de interés de el aunque es parte del post no es de relevancia por eso pongo el icono de game marker studio porque el proyecto original esta hecho en esa vercion

saludos y disculpa
173
Cita de: nfire14 en Mayo 04, 2017, 08:52:40 AM
hola, yo encontre hace mucho en el sandbox que tenia yoyogames este ejemplo de un mario isometrico de un usuario llamado Poisonous Mushroom, que te adjunto,se salta con la Z,tiene algunos errores como que te quedas atorado entre los blockes pero
funciona,espero que te sirva.

eh estado echándole un vistazo y funciona bastante bien aunque no tengo ni la menor idea de como adaptarlo a un beat em up en 2.5 D le metere mano y si logro hacerlo funcionar edito el post y subo el avance de igual forma te agradezco mucho  :)
174
eh estado trabajando un poco en este pequeño proyecto que me tiene muy nervioso ya eh conseguido muchas cosas
estoy clonando el tan viejo juego de peleas Double dragon advance para el GBA pero añadiéndole cosas nuevas para mejorar un poco la experiencia de juego hasta ahora llevo

- salto del personaje con fisicas falsas [en realidad el personaje no salta como tal es una animación que se reproduce dando la ilusión de estar saltando este es el codigo de la misma]
jump=keyboard_check_pressed(vk_space)
switch(state)
     {
     case "idle":
         
           if (jump)
              {
              spawn=false
         
              zairSpd += 7;
              land=1
              state = "jump";
               
             
              }
          break;

     case "jump":
          z -= zairSpd
           if (z < zfloor)
               {
               zairSpd -= grav;
               }
          if (z >= zfloor)
              {
              z = 0;
              zairSpd = 0;
              if spawn=false
              {
              land=0
              state = "idle";
           break;
     }
}
}


z -= zairSpd
           if (z < zfloor)
               {
               zairSpd -= grav;
               }
          if (z >= zfloor)
              {
              z = 0;
              zairSpd = 0;
               if spawn=false
              {
              land=0
                 state = "idle";
           break;
     }
     }
}



-animaciones para cada angulo de caminar se puede caminar libremente en plano Z

- estoy a puntito de crear slopes y colisiones isometricas para crear diferentes escenarios

- y a diferencia del original en este clon puedes saltar en diagonal para tener mas movilidad ante todo


en esta imagen se puede ver lo que trato de hacer para crear un beat em up platformer eh estado jugando con variables de gravedad eh estado tratando de hacer que el salto tenga gravedad de verdad pero me ah sido inútil no eh logrado nada mas que el salto falso que aunque se ve bien me gustaría inovar un poco mas[esta imgen no es mia la tome de aqui: https://forums.tigsource.com/index.php?topic=10254.0 y la modifique para representar lo que trato de emular





dejare el editable de lo que llevo por si alguien quiere usar ese pequeño ejemplo esta en game marker 8 ya que estaba haciendo pruebas pero funciona en studio y también dejo un visual para que vean que es lo que llevo si alguien puede ayudar o tiene ideas de como hacer funcionar esto lo agradeceré!  ;)

video mostrando el avance https://www.youtube.com/watch?v=G_KAZcVGkD4