PDA

Ver la versión completa : Algun tuto bueno para juego Isometrico?



IronArthur
10/10/2007, 14:06
Buenas,

Ando intentando programar algo en formato vista isometrica( del estilo a los tactics: FFT u Ogre tactics).

Tengo algo programado en sdl con unos tiles guarros por la ventana y un bicho que se mueve, pero me gustaria hacerlo bien que seguro que se me escapan cosas. de mientras seguire buscando graficos en isometrico que anda que no es dificil, ando usando los del fft de la psx que encontre por ahi para probar.

Por cierto no me importa fenix o sdl( c o c++, prefiero c++).

PD: Si consigo en fenix Y sdl seria más que feliz, asi me curro lo en los dos.

Gracias de antemano y saludos. :brindis:

Theck
10/10/2007, 14:14
A mi también me interesa pues también estoy mirando cosas en isométrico.

La verdad es que aun no me he puesto, pero supongo que la cosa es pensar como si lo vieras a vista de pájaro y luego representarlo diferente. No se si me explico :P

BUHOnero
10/10/2007, 14:20
tutoriales ni idea :D

pero no creo que sea tan dificil, así a bote pronto te preguntaría si el movimiento será por casillas, o se verá exonométrico pero con libertad de movimiento.

Lo que siempre se me ha hecho raro es controlar personajes en exonométrico, ya que no te sirve con pensar arriba-abajo-derecha-izquierda, sino que hay que mirar las diagonales... creo que es complicarse.

IronArthur
10/10/2007, 14:23
Lo que me esta costando es plantar los tiles cuadrados en isometrico uno pegado al otro de forma transparente( progamandolo me refiero) independientemente de la imagen, porque la imagen es mas grande que el tile y hasta ahora lo estoy haciendo a ojo. Pero asi no hay forma de hacer dinamicamente el mapa... A ver si puedo sacar una screen luego de lo que he hecho para que me entedais lo que quiero hacer.

Donde este algo hecho xD por un pro:
http://farm1.static.flickr.com/142/407025575_b1f025f8b2.jpg



Por poner un ejemplo estoy usando este tile:

BUHOnero
10/10/2007, 14:37
Lo que me esta costando es plantar los tiles cuadrados en isometrico uno pegado al otro de forma transparente( progamandolo me refiero) independientemente de la imagen, porque la imagen es mas grande que el tile y hasta ahora lo estoy haciendo a ojo. Pero asi no hay forma de hacer dinamicamente el mapa... A ver si puedo sacar una screen luego de lo que he hecho para que me entedais lo que quiero hacer.

Donde este algo hecho xD por un pro:
http://farm1.static.flickr.com/142/407025575_b1f025f8b2.jpg



Por poner un ejemplo estoy usando este tile:
pues poner los tiles no tendría que ser mucho problema, básicamente se trata de matemáticas sencillitas :) mira el juego GPrina, ahí las piezas equivalen a hexágonos.

Para poder ponerlas bien te recomiendo que lo mires por filas, sabiendo cuanto hacen de alto y ancho los tiles, puedes poner cada fila en estas posicion:

filas pares x,y
filas impares en x+ancho/2,y+alto/2

Esta sería la bes que yo usaría, otro tema es la profundidad del escenario, que se tendría que controlar con la z de cada objeto sobre el escenario.

Bueno, yo hablo en Fenix, que es el que uso yo :brindis:

IronArthur
10/10/2007, 16:23
Weno, eso funciona siempre y cuando modifiques la imagen del tile para que las esquinas del "rombo" esten siempre en el medio del lado.. Cosa que no pasa porque los tiles tienen altura...

Supongo que igual es mas facil adaptar las imagenes que rallarse demasiado.

De todos modos si alguien me pasara un tuto me vendria al pelo. Que ya he perdido mucha practica programando y quiero volverla a recuperar..

josepzin
10/10/2007, 17:07
Un motor isométrico en Python (http://www.webalice.it/simon.gillespie/Isotope.html)

Isometric Coordinate Calculation Tutorial (http://soapdragon.emedia.net.nz/soapdragon/Tutorials/IsometricCoordinateCalculation/tabid/58/Default.aspx)

Sugerencia: Google -> tutorial isometric

juanvvc
10/10/2007, 17:08
IronArthur, la idea es que tengas en la imagen del tile un pixel especial como origen de coordenadas de la imagen. En tu caso, precisamente la esquina más a la izquierda: necesitas un formato de imagen que almacene esos "píxeles especiales" como hace Fenix, pero puedes también incluirlo manualmente en PNG o JPG con programas especiales. En realidad bastaría con cualquier imagen y además un archivo de configuración con líneas tipo:


tile1245.png=0,45
tile1246.png=0,17

y a la hora de dibujar tienes en cuenta esos orígenes de coordenadas de cada imagen.

IronArthur
10/10/2007, 17:38
Weno despues de mirar el Isometric Coordinate Calculation Tutorial, veo que mi problema es calcular el tileHeight en las imagenes porque sino se me queda como la foto adjunta.

Habia buscado en google lo de isometric tutorial, el problema es casi todo lo que sale son tutoriales para dibujar los tiles.

juanvvc, no te entiendo muy bien cual es la utilidad para dibujar un tile el saber el punto de mas a la izq... supongo que sera por la forma de dibujar en fenix que no me la he mirado.

Edit: Aunque pensandolo bien, si tienes ese punto se puede hallar donde acaba el cuadrado y empieza la altura...( siempre que sea proporcional)

josepzin
10/10/2007, 17:59
Más cosas! :)

Google: "programando isometrico juego" (http://www.google.es/search?hl=es&client=firefox-a&rls=org.mozilla%3Aes-ES%3Aofficial&hs=Stc&q=programando+isometrico+juego&btnG=Buscar&meta=)
Ejemplo: Programación 2D en SDL - Juego isométrico (http://www.wired-weasel.com/users/serhid/blog/?page_id=4)


Google "programming isometric game" (http://www.google.es/search?q=programming+isometric+game&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:es-ES:official&client=firefox-a)
Ejemplo: Isometric Transformations (http://www.kirupa.com/developer/actionscript/isometric_transforms.htm)

IronArthur
10/10/2007, 18:18
Graciasss

parece que el primero tiene buena pinta. Le voy a echar un vistazo.

Por lo que veo, perdon por no buscar mejor [propeller]

josepzin
10/10/2007, 18:31
Zas! Zas! (latigazos)

sereno
10/10/2007, 19:43
http://www.tonypa.pri.ee/tbw/start.html

Otro enlace más a la lista :D

josepzin
10/10/2007, 19:45
Sereno: ese enlace esta genial!! lo tenía agendado en alguna parte pero no lo encontré :D

Aiken
10/10/2007, 22:14
Lo que me esta costando es plantar los tiles cuadrados en isometrico uno pegado al otro de forma transparente( progamandolo me refiero) independientemente de la imagen, porque la imagen es mas grande que el tile y hasta ahora lo estoy haciendo a ojo. Pero asi no hay forma de hacer dinamicamente el mapa... A ver si puedo sacar una screen luego de lo que he hecho para que me entedais lo que quiero hacer.

Donde este algo hecho xD por un pro:
http://farm1.static.flickr.com/142/407025575_b1f025f8b2.jpg


dependiendo de la orientacion de lo isometrico, pero es muy importante pintar los tiles en orden, posiblemente de arriba a abajo y de izquierda a derecha, eso ya lo habras descubierto.

y colocarlos lo unico es que tienes que calcular la distancia entre tiles para colocarlos, lo mas facil es que lo hagas a ojo para los dos primeros tiles, luego lo mas probable es que sean todos del mismo tamaño y encuanto calcules a ojo con los dos primeros los demas les aplicas la misma distancia y te quedaran geniales. ;)

PD. El tile que usas parece poco inclinado, lo mismo se te van a tapar unos con otros, pero aun asi cada uno elige la inclinacion que desea para su juego y quedara guay si lo montas bien.

Yo personalmente prefiero un isometrico bien hecho (pixelart), que un 3d hecho guarramente con unos modelos y ala!

Aiken

< - >

Weno despues de mirar el Isometric Coordinate Calculation Tutorial, veo que mi problema es calcular el tileHeight en las imagenes porque sino se me queda como la foto adjunta.

Habia buscado en google lo de isometric tutorial, el problema es casi todo lo que sale son tutoriales para dibujar los tiles.

juanvvc, no te entiendo muy bien cual es la utilidad para dibujar un tile el saber el punto de mas a la izq... supongo que sera por la forma de dibujar en fenix que no me la he mirado.

Edit: Aunque pensandolo bien, si tienes ese punto se puede hallar donde acaba el cuadrado y empieza la altura...( siempre que sea proporcional)

dejate de calculos tio! asi a ojo lo puedes sacar, simplemente tienes que quitarle algun pixel de "alto" a los tiles (no al grafico, si no a la coordenada de cada tile y a correr)

lo que no se que tal se van a llevar las colissiones de fenix que son 2D de un solo plano con un isometrico que los tiles se solapan en el plano 2d :(

Aiken

joanvr
11/10/2007, 00:38
pero es que si los tiles tienen distinta altura necesitaras por lo menos tres capas de tiles, una para cada dimension. Unos cuyo vector normal apunte hacia (1, 0, 0) otro (0, 1, 0) y otro (0, 0, 1).

No se si me he explicado muy bien, pero esa es la idea. Además, no puedes tener en un mismo tile la altura. Tienes que separar cada uno de los tres planos.

BUHOnero
11/10/2007, 08:54
lo que no se que tal se van a llevar las colissiones de fenix que son 2D de un solo plano con un isometrico que los tiles se solapan en el plano 2d :(

Aiken

Para esto hay que jugar con la Z, que es la profundidad de los procesos en Fenix, usando una Z y mirando la posicion x,y de los objetos puedes guarrear unas durezas que den al pego :brindis: