juegos isometricos, un mundo aparte...

Started by Futu-block, January 20, 2012, 11:24:35 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Futu-block

Pues si, un mundo aparte en los isometricos, igual recordais juegos como el head over heels, batman, alien 8 o monster max...
bien, pues el problema es que tratamos de simular un 3d en dos dimensiones, hasta ahí todo correcto pues para representar una imagen se emplea el 2x1, dos de ancho por uno de alto y asi seguimos con la linea recta pixel a pixel hasta lograr una ''habitacion'' donde se desarrollaremos nuestro juego:



¿porque tanto royo?
es en parte para explicar el concepto :D


cuando movamos un personaje siempre será el doble X de Y para dar sensacion de profundidad, incluso podemos abusar del mapa de durezas para que no avance por las paredes visibles (las traseras) y de las no visibles (las delanteras) que desaparecen para no perder detalle del juego


El problema ahora recae en los saltos, el supuesto eje Z de nuestro protagonista sin duda es la Y de nuestra pantalla, que se puede implementar perfectamente en un bloque for  para la subida y bajada del salto pues no podemos hacer un mapa de durezas para el suelo puesto que casi toda la pantalla es suelo.
Todo eso sin contar que si desplazamos nuestro personaje por el eje Y dá dos sensaciones, una de que sube y otra que anda de punta a punta de la habitacion

Falta tener en cuenta que debemos mecanizar el salto para que avance a la direccion donde esté mirando, por lo menos es una cosa que tenia los antiguos juegos.


Superado el primer nivel de salto pasamos al segundo nivel (y lo que queda...) es el subirse a una plataforma, ¿como sabemos que estamos encima de algo?? puesto que no podemos poner durezas para el suelo... o si??


ejemplo de lo que llevo echo por si acaso sabeis algo de ello o teneis un codigo por ahí esparriao que se puede recuperar/adaptar


http://www.mediafire.com/?kadbejn37xdhzmq

BlySntK

Qué ganas tengo de empezar poquito a poco con el tema que se nos presenta... A ver si voy mirando los códigos (espero no asustarme) y facilitarte la tarea, al menos en un 20 o 30% No te preocupes que sigo aquí, cogiendo el nivel adecuado para seguirte :) A ver si hay gente piadosa de nosotros y nos va echando un cable... Medianamente, si aún no tienes las durezas, las puedo ir creando.. o eso o las estructuras para el personaje, o lo que vayas necesitando... Pero, dame algo de tiempo para adaptarme :) (Para mi es un buen reto a superar)


¡¡¡Que alguien nos socorrraaaaaa xDDDDD!!!!!
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)

KeoH

Lo que yo llevo hecho con isometrico, como se ve en el video de mi blog, es:



       
  • Defino 3 nuevas variables locales para los procesos que estan en el mundo isométrico: xi, yi, zi. Estas significan xInterna, yInterna y zInterna. Que representan las coordenadas 3D del objeto en la isometría.
  • Despues creo una función que reajusta la variable x,y z de todos los procesos que tienen q estar en isometrico, en funcion del valor de las variables xi, yi, zi. Esta funcion la llama cada proyecto antes de hacer frame(). Con esto se consigue ajustar la posicion en pantalla (y su profundidad con la variable local Z).

function isoDraw()


begin
father.z=AltoPantalla-father.y; //AltoPantalla es el la resolucion vertical
father.x=father.xi;
father.y=father.yi-father.zi;
end



       
  • A partir de ese momento, cada vez que quiera cambiar las coordenadas de un objeto (hacer que se mueva en cualquier dirección) lo que hay que ajustar es xi, yi, zi, ya que las coordenadas en pantalla se ajustan automaticamente antes de llegar al frame().
De esta manera, el isometrico se simplifica mucho. Para hacer durezas con el suelo, lo unico que tienes q definir el la altura del suelo en cada sitio (zi) y hacer que el objeto deje de caer al llegar a ese zi.

Fede

Envidiaca chicos.

Todo el mundo programando y sacando cosicas menos yo.  >:(

Futu, al final te vas a convertir en un 'pofessional'.  ;D
Si quieres ser sabio, aprende a interrogar razonablemente, a escuchar con atención, a responder serenamente y a callar cuando no tengas nada que decir.

Futu-block

Ai guatin dis may fren, eso espero, je je je

Quote from: KeoH on January 21, 2012, 02:36:00 AM
Lo que yo llevo hecho con isometrico, como se ve en el video de mi blog, es:

       
  • Defino 3 nuevas variables locales para los procesos que estan en el mundo isométrico: xi, yi, zi. Estas significan xInterna, yInterna y zInterna. Que representan las coordenadas 3D del objeto en la isometría.
  • Despues creo una función que reajusta la variable x,y z de todos los procesos que tienen q estar en isometrico, en funcion del valor de las variables xi, yi, zi. Esta funcion la llama cada proyecto antes de hacer frame(). Con esto se consigue ajustar la posicion en pantalla (y su profundidad con la variable local Z).

function isoDraw()


begin
father.z=AltoPantalla-father.y; //AltoPantalla es el la resolucion vertical
father.x=father.xi;
father.y=father.yi-father.zi;
end



       
  • A partir de ese momento, cada vez que quiera cambiar las coordenadas de un objeto (hacer que se mueva en cualquier dirección) lo que hay que ajustar es xi, yi, zi, ya que las coordenadas en pantalla se ajustan automaticamente antes de llegar al frame().
De esta manera, el isometrico se simplifica mucho. Para hacer durezas con el suelo, lo unico que tienes q definir el la altura del suelo en cada sitio (zi) y hacer que el objeto deje de caer al llegar a ese zi.

lo probaré porque el mio es muy ortopedico ;)

BlySntK

No sé si en la biblia bennusiana vendrá el tema de saltar; de ser así no me digáis cómo se hace hasta que haya llegado y si no lo entiendo, ya vendrá a que me lo suspliquéis (expliquéis en mañico) xD De no venir en la biblia... os pido un por favor: que me digáis cómo hacer saltar a un personaje xD
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)

osk

En mi manualillo lo de saltar sólo se explica cuando se habla de juegos de plataforma tipo Mario/Sonic. De isométricos no comento nada, pero es una buena idea para la próxima edición...

Futu-block

hombre, habló dios... :D

he estado indagando y buscando codigos y tutoriales pero lo que encuentro no salta precisamente; hay que escarbar en abandonwares y esas cosas

KeoH

Con la funcion y la forma de montar el isometrico que he puesto, hacer que salte el personaje es igual q en un plataformas, solo que hay q usar la variable "zi" en vez de la "y".

Futu-block


BlySntK

#10
Quote from: osk on January 22, 2012, 11:17:46 AM
En mi manualillo lo de saltar sólo se explica cuando se habla de juegos de plataforma tipo Mario/Sonic. De isométricos no comento nada, pero es una buena idea para la próxima edición...

Qué jodio el killo este... xD Perdona, ¿manualillo? Menos modestias, ¿eh? Que te capo xD Ejem!! No sé tú, pero tu "manualillo" a motivado a que este foro suba como la bilis de un epileptico... Pues mira, en la proxima biblia bennusera 2.0 ya tienes curro pa hacer, ale...

edito: Lo que no logro entender entonces es cómo sabéis presentar un mundo isométrico... pensé que había alguna documentación al respecto
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)

osk

Gracias, es todo un honor...
Tengo un montón de cosas por poner en la versión "2.0" que he ido recopilando por el foro de hace tiempo, pero no encuentro el momento, mecachis.
A ver si en verano...

Futu-block

no te preocupes jefe, si todo es ponerse y ahora no encuentro cinco minutillos ´·`

BlySntK

Quote from: osk on January 23, 2012, 10:46:00 AM
Gracias, es todo un honor...
Tengo un montón de cosas por poner en la versión "2.0" que he ido recopilando por el foro de hace tiempo, pero no encuentro el momento, mecachis.
A ver si en verano...

Sois unos fieras :) Os tengo mucho aprecio ;) osk, ánimo, en lo que podamos, te ayudamos a implantar todas las secciones que quieras o decidas poner en la biblia, yo me ofrezco voluntario ha realizar alguna de las secciones, no hace falta que las hagas tú todas, así es menos trabajoso. Además, la primera biblia está cojonuda y se aprende muchísimo; sí, en mi opinión y una vez comprendido su contenido, podría mejorarse pero... eso se puede realizar en posteriores versiones con muchos más datos actualizados. Ya digo, la 2.0, si sientes algo de saturación o quieres algunas manos que te ayuden, yo soy uno de los que se ofrecen :) Seguro que muchos otros también lo harían.

El tema de la isometría, puedo comprender que realizar el mapa básico es lo fácil, pero la programación es lo que no alcanzo a entender (puede que sea porque tengo que mirar los códigos que me paso futu, que haber si lo hago, creo sentirme preparado para hacerlo (para leer código de otros usuarios), a ver si despejo un poco lo que he de terminar de aprender de la biblia, que voy por el capitulo 10 ya...
Esnucándote contra la pared no sé si conseguiré mucho, mejor lo pruebo y salímos de dudas ^_^
-------------------------------------------------------
Blaisantka Games > (Official developer web site)