PDA

Ver la versión completa : Juego en Isometrica en Fenix !! -Duda-



l_draven
21/03/2006, 05:37
Hola chicos estoy planificando el desarrollo de un juego para la Gp2X pero el tema es que me gusta el estilo isometrico tipo Diablo.

Mi duda es: sabeis cual es la mejor manera de llevar a cabo un estilo isometrico en 2d en Fenix ??? es que no se me ocurre la idea de como hacer que un personaje diferencie cuando esta delante o esta pasando por detras de una casa, arbol, o cualquier objeto. No se si me explico jeje.

Nosotros tenemos un escenario completo con todo renderizado en isometrico (o igual es mejor tenerlo separado todo en imagenes sueltas como por un lado una casa, otra imagen un arbol, etc.. no lo se, que es mejor???), como hago que el personaje se oculte por detras de la casa pero que cuando la rodees y pases por delante la casa se quede detras?.

Teneis algun tuto de div/fenix o fuente para hacerme una idea??

Muchas gracias por la ayuda.

Un abrazo.

Wild[Kyo]
21/03/2006, 05:40
Pues siento no tener respuesta a tu pregunta pero Jhonnystorm hizo hace poco un juego de StarWars en Fenix y con vistas Isometrica bastante impresionante y seguro que te puede ayudar.

chipan
21/03/2006, 05:48
la clave está en hacer que la variable local Z (que es lka que indica cual sprite se pinta por encíma) sea proporcional a la variable Y de los objetos, de manera que cuando mayor sea la Y menor sea la Z para que pinte por encima los personajes que esten mas abajó.

Meldinov
21/03/2006, 05:51
El d Jhonnystorm era en modo7, y si, impresionaba ver modo 7 en la gp.

Exactamene, k dudo tienes, ¿no sabes como saber si esta delante o detras, o no sabes como hacer que si esta detras se oculte?

saruman
21/03/2006, 05:57
Yo creo que lo más lógico es hacer lo que ha dicho Chipan. Así que sí vas a necesitar que el fondo y los objetos sean imágenes separadas.

Wild[Kyo]
21/03/2006, 06:03
El d Jhonnystorm era en modo7, y si, impresionaba ver modo 7 en la gp.

Exactamene, k dudo tienes, ¿no sabes como saber si esta delante o detras, o no sabes como hacer que si esta detras se oculte?

Ostia, pues tienes razón. Lo siento por mi despiste!!! ~_^

l_draven
21/03/2006, 06:05
Hola chicos, lo primero gracias a todos por las respuestas.

El tema es que como dice Chipan, una casa en isometrica tiene una fachada por la que el personaje va a estar encima y otra por la que va a estar detras y el tema es que esas fachadas ocupan un espacio determinado en diagonal, no son solo un punto Y de la imagen, no se si me explico.

Mi duda Meldinov es que cual es el mejor camino para hacer una isometria en Fenix (con tiles, solo con imagenes y usar sus coords y dimensiones, etc...).

Gracias de nuevo.

Un abrazo.

Neodreamer
21/03/2006, 06:13
Tienes varias opciones...una es la de poner las cosas como procesos ya sean arboles, casas y demas para q como dice chipan, puedas pasar por detras o delante de ellos segun su Z crezca comparando con la Y(Eso mismo me dijo a mi hace un año con ejemplos de colores y todo...jeje)
Otra solucion mas rapida pero cutre a la par, es pintar las casas y arboles con un mapa de durezas de manera q solo puedas pasar por encima, no x detras....lo cual tampoco es una burrada segun los graficos q tengas hechos xq si no lo haces asi sino como deciamos al principio, tendras q usar transparencias cuando el personaje pase detras de objetos grandes no? (no se si me entiendes o explico bien...)
Si la casa es pequeña y se pasa x arriba(es decir, tu y es inferior a la suya)lo de las durezas vale y no tendras ni q mover tantos procesos en memoria ni repintar nada...pero si el objeto es mu grande y quieres q pase x detras...a crear procesos se ha dicho...pero ten en cuenta eso q te digo del tamaño...
No es lo mismo hacer un plataformas en el q pases detras de arboles q estan en primer plano solo unos segundos(no molestan) q hacer un juego isometrico tipo diablo o baldurs gate(fijate como este cuando llegas a esquinas o zonas q te tapan hace uso de transparencias y en fenix no se si habria q cambiar el grafico o hay funcion q haga esto...)
1saludo

Jhonnystorm
21/03/2006, 06:24
']Pues siento no tener respuesta a tu pregunta pero Jhonnystorm hizo hace poco un juego de StarWars en Fenix y con vistas Isometrica bastante impresionante y seguro que te puede ayudar.

Meldinov El d Jhonnystorm era en modo7, y si, impresionaba ver modo 7 en la gp.[/QUOTE]

offtopic
menos mal que alguien a opinado bien de mi demo, unffff, unffff, gracias wild y meldinov.

respecto a la perspectiva como bien te aconsejan lo mejor es usar la variable z, y hacer procesos distintos para cada objeto.
en cuanto a cuando debe ir delante o detras tendras que cambiar dicha variable en funcion a la altura de mismo respecto al personaje principal, no se si me explico.:D :D

chipan
21/03/2006, 06:27
Hola chicos, lo primero gracias a todos por las respuestas.

El tema es que como dice Chipan, una casa en isometrica tiene una fachada por la que el personaje va a estar encima y otra por la que va a estar detras y el tema es que esas fachadas ocupan un espacio determinado en diagonal, no son solo un punto Y de la imagen, no se si me explico.

Mi duda Meldinov es que cual es el mejor camino para hacer una isometria en Fenix (con tiles, solo con imagenes y usar sus coords y dimensiones, etc...).

Gracias de nuevo.

Un abrazo.
Pues mira, con que cada casa sea un proceso la cosa está solucionda; mira este dibujo:
http://img213.imageshack.us/img213/6963/isometric16nt.png
Como ves es una casa (cutre pero válida) en el primer dibujo ves la casa en si, en el segundo la estructura, y en el tercero ves donde se debería marcar el punto de control de la casa (una ventaja propia de los mapas de fenix).
Con el punto bien marcado puedes asignar al personaje y a la casa dependiente de su variable Y de manera que si está mas arriba aparezca detras de la casa y si está mas abajo, que aparezca delante; como se muestra a continuación
http://img103.imageshack.us/img103/2348/isometric27ej.png
espero que esto te ayude

l_draven
21/03/2006, 06:37
Millones de gracias chicos.

Chipan gracias por tu explicacion y por currarte los dibus explicativos la verdad que ayuda muchisimo lo visual.

Solamente veo el problema a tu explicacion con una casa que no es cuadrada exacta en su forma en ancho y profundo sino que por ejemplo es mas larga en una medida, es decir que es mas profunda que ancha o mas ancha que profunda, nu se si me explicado bien jejeje.

Un abrazo.

Jhonnystorm
21/03/2006, 06:39
este chipan si que se sabe explicar, jejeje, eso es lo que yo queria decir:rolleyes:

Neodreamer
21/03/2006, 08:06
Chipan, te has explicado de pu.....pero no aclarais lo q yo ponia en duda q es el tema de q segun el tamaño del personaje de ejemplo q has puesto respecto a la casa, cuando pase detras o se quede parado tras la misma, q pasa? se pierde demasiado tiempo de vista al proceso principal(el prota)...la consola sabra donde esta, pero nosotros? jeje...
La pregunta seria entonces sobre las trasnparencias...siguiendo el ejemplo y viendo q no kereis durezas y seguimos el camino de coordenadas z e y...se podria hacer q el grafico sea transparente cuando los procesos se toquen?
Pon q como dice el amigo, quieres poner un edificio mas largo q alto o ancho...(a lo largo del eje x). No vemos al personaje hasta q acabe la fase? jejeje
1saludo y a ver si me lo aclarais please.

Me ha pikado el gusanillo y me he puesto a buscar cosas...Chipan...a ver si me explicas como lo harias con este ejemplo de la foto del diablo...aparte de q los muros estan en diagonal(con lo q mirar la y de uno y otro objeto para variar la z...dificil, al menos no lo comprendo) pero encima mira el arco....como pasariamos x debajo de manera q despues el muro cambie de z????

http://img.gamespot.com/gamespot/images/screenshots/5/11255/diabl_screen003.jpg

Tambien he estado mirando mis viejas.."viejisimas" revistas de div y los 3 libros q salieron y ya en el numero 1 le daban publicidad al juego comercial hecho con div: "tokenkai". Este es isometrico y ademas tiene en pantalla muchisimos objetos x lo q dudo q cada uno sea un proceso...
Otro ejemplo seria el comandos...en este si entrabas en una casa se hacian transparencias...x tanto las casas seguro q eran procesos...pero el resto del escenario no srian durezas?
X favor, aclaradme esas cosillas.
Gracias

Coelophysis
21/03/2006, 14:41
Que no es tan difícil... el arco es un objeto que SIEMPRE estaría en primer plano... y en cuanto a lo de que las casas no sean cuadradas, es tan solo cuestión de crearlas a base de varias casas cuadradas... es decir, imaginaros la casa de Chipan repetida varias veces y pegadas unas a la otras de manera que hacen una casa más grande y rectangular... si las durezas están bien puestas no tiene que haber ningún problema, esté el personaje delante o detrás...

chipan
21/03/2006, 15:41
Que no es tan difícil... el arco es un objeto que SIEMPRE estaría en primer plano... y en cuanto a lo de que las casas no sean cuadradas, es tan solo cuestión de crearlas a base de varias casas cuadradas... es decir, imaginaros la casa de Chipan repetida varias veces y pegadas unas a la otras de manera que hacen una casa más grande y rectangular... si las durezas están bien puestas no tiene que haber ningún problema, esté el personaje delante o detrás...
pues eso... mira que facil, gracias coleophysis

Neodreamer
21/03/2006, 16:58
La idea de q los objetos como el arco se repinten siempre encima del resto de objetos es muy buena...no se xq pense q se notaria el corte de un plano a otro(?¿)...sobre lo de las casas mas grandes...yo no lo entiendo, xq el ejemplo de la foto q necesitaba q me dijerais son dos muros en diagonal...El problema q le veo en este caso es q como se puede pasar x debajo del arco(ahora si ;) ) una vez estas tras el muro el plano varía. Por tanto, es necesario jugar con las Z, pero cada objeto tiene un solo centro y espero q no me digas q para un escenario tan simple como el de la foto, vayas a usar 200 tramos pequeños de muro para usar sus Z respecto al prota(lo digo x lo de varios cubos para casas grandes).
Q hariais para este dilema? Tambien me fije anoche entre foto y foto, q los primero juegos de isometria, no tenian apenas paredes(starcraft, comand and conquer, etc) pero si no es para un juego medieval o de guerra estrategica queda un poco soso no? En caso de ser un rpg deberiamos de meter pasillos con paredes o similar para darle algo de chicha...
1saludo y gracias

l_draven
21/03/2006, 18:12
Gracias a todos por responder.

Exactamente es la duda que plantea Neodreamer la que yo tengo, objetos alargados que tapan mucho escenario como paredes que por detras te tapan pero cuando cruzas una puerta (o arco como en este caso) estas delante de ellas.

Gracias.

Un abrazo.

oankali
21/03/2006, 21:03
Yo de Fenix no sé nada, pero intuyo que para un juego isométrico, la Z a secas no es la mejor solución.
Yo lo que haría, es trabajar con una matriz interna indicando qué contiene cada casilla del mapa. Que si una pared, que si agua, que si hierba, que si... Esa matriz no solo serviría para controlar como dibujar la pantalla, sino también para saber por donde puede pasar el prota.
Luego miraría en que casilla se encuentra el prota. Luego dibujaría los objetos del más lejano al más cercano, y del más bajo al más alto (inclusive el prota).
Supongo que en Fenix se usaria esa Z.
Me imagino, que si hay muchos objetos grandes, se podría optimizar evitando dibujar objetos que quedarían completamente escondidos detrás de otros objetos, aunque me temo que el cálculo para controlar esto puede llegar a ser complicado.

No sé si he ayudado, pero aquí tienes mi propuesta. :)

l_draven
22/03/2006, 00:08
Gracias por la aportacion oankali, me la apunto tb :).

Toy mirando cositas a ver, por lo que veo A.R.C.H.E.R en los foros de gp32 veo que hizo algo medieval de rol en isometrica pero no encentro ni fotos ni nada del proyecto, a ver si encuentro algo.

Un saludete.

Drumpi
24/03/2006, 21:28
Eso de los muros, la solucion es: divide y vencerás. Si haces que todos los objetos tengan un "ancho" y un "alto" de un tile (que no altura) puedes tratar su z de forma independiente, lo que pasa es que en la imagen de diablo, los gráficos estan diseñados para que el final de un "tile" se continue con el principio de otro y de la impresion de ser uno.
Respecto a las casas, pues igual. Trata que los graficos tengan el tamaño de un tile... a menos que estos vayan en horixzontal respecto a la pantalla, que no tienes el problema de las z.

Otra cosa es que un personaje detecte que "colisiona" con alguna pared o algun objeto del escenario y reajuste su z respecto a este.

Licantropo
25/03/2006, 00:40
Buenas. Yo creo que lo mas facil en fenix es usar durezas. Que dividas la casa en dos, la parte que taparia al prota y la parte por la que el protagonista pasa por delante. Al tener dos imagenes usas la z de fenix hechando una parte por delante de la z del protagonista y otra por detras. Con eso saldria bien (el tema es que a la hora de dibujarlas cases bien las imagenes para que no se note). Bueno, ta luego, espero haberte ayudado.