Caerse de una plataforma en un beatemup

Started by DCelso, October 20, 2009, 02:30:28 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

SplinterGU

te sirvieron las sugerencias? pudiste usar alguna?
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DCelso

SplinterGU, pues creo que todas, no se, mira a ver si me dejé alguna, porque verdaderamente he renombrado variables para ajustarlas a lo que proponías, he reajustado la función de comprobación de altura como proponías, he eliminado el obtener_elevación como proponías, pero los dos primeros puntos no sabía exactamente a qué te referías porque más o menos eso hacía un color por plano y una altura por plano.
De todas formas queda mucho trabajo por hacer porque no está puesto lo que comentaste de chocar contra la pared y no avanzar en x, ahí volvería a necesitar de tu magnífica ayuda para saber por donde encajar los tiros, que supongo que van en relación a lo que comenta DJSonyc de bajar los puntos de control de izquierda y derecha hasta los pies de Mars. Si puedes ver el ejemplo y juzgar tu mismo sería de gran utilidad.

En cuanto WindGate, lo que decías de crear una librería (o modulo o lo que sea) para abstraer el código pues lo tenía en mente pero creo que es bastante más complejo y no quisiera entrar en un proyecto de larga envergadura que me llevase todos unos años :D.
En principio lo insertaré en un remake facilote para el apagame.

Recuerdo a todos la primera finalidad que quería darle al proyecto apagame era la reunión de muchos motores de juegos clásicos 2D y conocidos para que cualquier iniciado pudiera coger uno y empezar un proyecto de cero basado en su juego preferido, por ejemplo un cadilac & dinosaurs, un supersprint, un gaunlet, un starforce, un manic miner, un galaxian, un pacman, etc. Incluso poder mezclar técnicas de un motor y otro para crearte un híbrido o cosas así como yo hice en su tiempo con el anarkanoid. De ahí que muchas veces insista en crear una sola fase e ir directamente al grano de lo que enseñar para no adornarlo mucho y tal ya que por lo general los adornos cada uno los pone a gusto y lo que importa es saber mover al personaje y los eneminos en el mundo ficticio creado :D.

Así de camino evitar que todo el mundo haga el mismo juego inicial de shot'emup :D
(Toooma offtopicada)

Lo que sería de gran ayuda y (un bombazo :D) sería que Bomberlink participara en apagame creando un mini motorcillo de su magnífico SOR remake, o que almenos compartiera el código fuente de una de sus primeras versiones :D.

Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

si, vi el ejemplo, en principio deberias bajar los puntos a los pies...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

DjSonyk

Pues te digo DCelso,si lo que quieres es para apagame motores de plataformas ,se deverian crear al menos 2 distintos,uno en 2D tipo Ghost&Goblins,Sonic,ect y otro tipo Cadillac&Dinosaurs,Final Fight,pues uno es simple solo deve comprobar que este en el suelo,que no choque con paredes ni techos,y el otro tiene que tener una profundidad relativa,(mas cerca o mas lejos de jugador), para el estilo Gauntlet te puede servir el primer tipo digamos 2D,lo unico que se eliminaria si no estas pisando el suelo descenderias,ya que es de tipo cenital y simplemente con controlar si chocas con paredes valdria,ademas por lo que he visto preferis mapas de tiles en vez de Scroll,o eso me ha perecido,aun seria mas facil ,pues solo se tendria que comprobar si se choca con un proceso "Pared",o un proceso "Puerta" y no tienes llaves.
Yo estoy de acuerdo con Win te has embarcado en lo que posiblemente sea lo mas dificil de resolver sastisfactoriamente,las plataformas,si encima añadimos que has hido directamente a las digamos 3D,pues aun mas dificil,aun asi lo tienes resuelto,lo unico es que deves comprobar en que lugar del sprite tiene que chocar con la pared para que no avance,si choca con la cabeza logicamente pillara los pixel mas altos que con los pies,de ahi que te dijera lo de los pies,y quedara la cabeza cerca de la pared pero el resto del cuerpo mas lejo,aun asi creo que es un buen esfuerzo el que estas haciendo...
Yo si quereis me quedo con el proyecto de Gauntlet ..  ;D

DCelso

DJSonyc tienes razón en todo, pero no pretendo hacer un motor único para todos los tipo de juegos, sino que son motores independientes en juegos independientes cada uno con su motor donde se pueden ver distintas técnicas de programación de juegos, fíjate que apageme actualmente tiene motores para juegos de habilidad o puzle (tetris,columns, drmario, tictactoe, conecta4), para rebotes de pelota (pong y arkanoid, podríamos englobar también el pang ), un recoge objetos (pacman), un matamarcianos (galaxian), un plataformas a dos niveles (wiz), están en proyecto un plataformas sin scroll (manic miner) y otro recoge objetos (jecpac), y puede que insertermos de una forma u otra el de naves tuyo, y si te apuntas a crear un motor para un gaunlet también será bienvenido. La intención es recoger métodos de programación fáciles de juegos para poder iniciar con ellos grandes proyectos usándolos como base por eso lo suyo es centrarse en el motor interno del juego e interacción entre objetos que en otros aspectos menos importantes como menues complicados, guardar estructuras de datos de partidas, crear muchas fases sin aportar nada significativamente nuevo, etc. Vamos ir al grano del asunto de la forma más clara y entendible posible que no siempre tiene que ser ni la más eficaz ni la más eficiente sino la más cómoda/lógica de entender.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

Aqui tengo una nueva versión, ahora va casi todo, he bajado los puntos de control a los pies, simulando lo que sería la planta de los pies. He insertado un nuevo color en el mapa de durezas. Ahora cada uno controla un margen distinto, pero aún así hay problemas todavía.
Necesito solucionar el movimiento en diagonal, por más que estudio el código no entiendo cómo es que yendo en diagonal (digamos arriba y derecha a la vez) Mars traspasa la rampa.¿Ideas?
También tendría que ver por qué si saltas de forma que caigas en la rampa tampoco va.

Veo que una tarea tan sencilla como es saltar para cambiar de plataforma se complica de forma considerable en un beatemup, me parece que lo voy a dejar parado, por lo menos hasta que sepa cuales son todas las variables a controlar. Creo que voy a empezar por intentar hacer un mod (megacutre) para openbor y así ir descubriendo todos los parámetros controlables por éste. :)
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DjSonyk

Chiquillo,aqui te dejo una version temprana del motor para tipo cenital y con tiles ya me diras si es lo que buscas,aun falta depurarla pero el peque no me deja,que lleva toda la semana malo y estoy cuidandole y no me deja ni un segundo  XD

http://www.mediafire.com/file/0nv0luoze4z/Garlec.rar

DCelso

:), me recordaste a Carmen Sevilla. Voy a probarlo.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DjSonyk

Los de las diagonales es facil,si te fijas en el mapa de durezas al hacer una diagonal el punto de control sale de la zona azul dejandole pasar,aun asi te sobraba el color azul....

DCelso

¿Por?, en teoría el azul es para comprobar que no puedes continuar y el verde para comprobar que puedes caerte.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DjSonyk

#40
Lo podias haber hecho con un color,pero vamos si te fijas diagonal abajo funciona bien,el problema esta que hacer la diagonal hacia arriba se va colando en lo azul ,hasta que llega un punto que lee el color verde o incluso el rosa y por eso sube...
P.D.:Con los 2 colores tambien esta bien...

Tendrias que hacer que al tocar el azul y pulsaras arriba,se fuera Marge alejando a la izquierda y lo tendrias resuelto...

DjSonyk

Fijate bien,que la culpa no la tiene la diagonal,lo tiene el pulsar arriba que permite que subas y se va comiendo la zona azul,hasta el punto que sale de ella,fijate tambien el recorrido que hace al hacer diagonal abajo,y tienes que hacer lo mismo para arriba y ya esta.

DCelso

Sipo, esa chapu la pensé pero quería encontrar primero el problema por si fuera un fallo de implementación o de ordenación de algo.
En cuanto a tu jueguecito, está muy verde aún, me recuerda taco a mi crappac (pruébalo si te deja tu niño :D) con el mismo fallo de retroceso visual en caso de impacto :D. En mi caso fue a posta buscando la facilidad y torpeza para una competición en la que ganaba la peor técnica de programación :D. De primeras te aviso que el sonido es horroroso (también a posta) saturado y a bajo bitrate, los gráficos no son tan malos como pretendía me digeron algunos, pero son malotes, gané "el premo a odio a mi juego", creo que Pixel lo hizo especialmente para mí por el mamoneo que me traía insertando y eliminando juegos de la competición :D.

Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

sabes que puedes ver el mapa de durezas en vez de la fase tocando la tecla "d" ¿No?
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DjSonyk

Si se lo de la tecla,por eso he visto el fallo... XD y lo de la A y lo de la F,aunque se me queda la pantalla en negro,el juego-ejemplo ese es para tus tutoriales de juegos que quieres decir como ves apenas son 4 lineas .... xD
Si el problema de eso esque primero tiene que chocar el jugador con la pared,para comprobar si puede ir en esa dirección o no,y si choca regresarle a un estado anterior,sino se quedaria atascado,tenia pensado un proceso "fastasma"que comprobara el choque pero ya que no se puede usar un grafico trasparente para las colisiones no me sirve ya mirare tranquilamente...