• Domingo 22 de Diciembre de 2024, 23:06

Autor Tema:  Tiles  (Leído 2165 veces)

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Tiles
« en: Viernes 4 de Junio de 2004, 06:50 »
0
Bueno patra lo de mi mproyecto he estado bucscnado tecnicas opara las escenas..
pero la tecnica clasica de tiles no me sirve porque la idea de escenario es muy parecida a los de DonkeyKong Country, es decir no son simples cuadritos repitiendose en una capa, sino que son figuras mas complejas en varias capas para dar la sensacion de profundidad, y con buena variedad que no se vean como se ven los tiles... segun hemos ensayado los tiles estan ok para ersoluciones de 320 * 240 pero en resoluiciones matyores son demasiado problematicos y con el numero de capas tienden a demejorar notablemente el rendimeinto del juego.


Por fa ayudenme con la informacion que tengan al respecto, ya que no he podido encontrar nada diferente al estilo de tiles de los super marios... siempre es lo mismo copn pequeñas variantes... :'(

PLease  HELPPPPPPPPPPP USSSSSSSSSS,.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Amilius

  • Miembro HIPER activo
  • ****
  • Mensajes: 665
    • Ver Perfil
Re: Tiles
« Respuesta #1 en: Domingo 6 de Junio de 2004, 04:56 »
0
Como nadie contesta...

Bueno, es muy probable que ya estés haciendo esto, pero de todos modos alla va:

1.- Tiles rectangulares de tamaño variable:

La idea es tener una aplicación auxiliar para "cortar" los gráficos del juego, de forma de evitar tener demasiadas partes transparentes. (ver gráfico adjuntado) También sería necesario una clase auxiliar que "encapsule" todo el lio de volver a armar el gráfico (ver la palmera adjuntada).

El objetivo es ahorrar memoria y al mismo tiempo evitar desperdiciar ciclos de cpu en zonas totalmente transparentes: En lugar de tener un gráfico sólido de la palmera con todas las partes en blanco desperdiciadas, se podría tener un conjunto de 3 a 6 (no demasiadas) regiones rectangulares de cada pedazo de la palmera.

Si los pedazos son demasiado chicos existe el peligro de perder todas las ventajas ganadas por que el peso del código adicional se haría sentir.

Si se dibuja y se tiene en memoria la palmera completa se desperdicia memoria y ciclos de cpu en zonas transparentes.

Para evitar complicar las cosas al momento de dibujar la palmera, tendría que existir algo de código de forma que sólo llamando a un método "dibujar" del objeto gráfico "palmera" se dibujen sus distintas partes.

Sería muy bueno que la aplicación auxiliar calculara la mejor forma de "partir" la imágen de forma de minimizar el áreas transparentes con un mínimo de áreas rectangulares.
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

mortiz

  • Nuevo Miembro
  • *
  • Mensajes: 14
    • Ver Perfil
Re: Tiles
« Respuesta #2 en: Domingo 6 de Junio de 2004, 06:57 »
0
Hola:
Creo que si empleas Dx9 , tendrias mas posibilidades, quedan muy simpaticos los tiles, ademas, puedes poner una pelicula atras de los tiles con DirectShow, para que parezca que caminan o algo. :hola:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Tiles
« Respuesta #3 en: Domingo 6 de Junio de 2004, 15:45 »
0
Lo de direct show es nua alternativa, pero no aplica para el jueo puesto que este tuipo de trucos generan efectos que se ven muy feos,.. no pareceria un juego sino otra cosa, y mi juego es de aventuras en 2D, con multiples capas y manejo de colisiones , cosa que haciendo algo con direct show no funcionaria mui bien


En cuanto a lo que propones amilus...
1- Gracias por contestar.. ala gente siempre le da miedo contestar cosas de estas porqe temen que sus ideas no sean valiosas.
2- en efecto si estamos intentando algo asi, no tan enfocado a ahorrar tiempo en dibujo de areas transparentes, sin embargo es lo mismo pero enfocado, o mejor fuie deducido pensando en minimizar los tiempos de dibujo.
3- Por otro lado el problema de las palmeras, o su equivalente en nuestro juego es que muchas de ese tipo de objetos en el escenario no generan colisiones, mientras que otras si.
lo cual nos genera la necesidad de trabajar dos clases diferentes para el diseño del fondo y las capas de fondo de la escena y queremos evitar eso.
hemos pensado en que si un objeto puede en relacion al suelo o a un arbol en fondo esta palmera deberiamos tratarla como un personaje mas de la escena y no como parte del fondo.

4- Existen muchas dudas en este momento, y dada la complemjidad de las escenas es muy probable que nos resolvamos por utilizar el metodo que te mencione para poder decirle a la palmera en su metodo dibujo, como se debe dibujar, lo cuial no se aleja de la conceppcion existente del metodo de dibujo de cada personaje, mientras que para los escenarios deberia ser una unica rutina que se encarge de pegar los elementos en el lugar adecuado.
Te mantendre al tanto de la solucion que obtengamos.

Gracias.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

SilentBob

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Tiles
« Respuesta #4 en: Jueves 1 de Julio de 2004, 11:04 »
0
Hola JuanK, yo tb estoy realizando un juego, basado en scroll paralax, para ello la solucion que me he planteado es usar varias listas para los distintos elementos de fondo, y otras para los personajes, enemigos y demas elementos con los que se puede interactuar, por tanto solo evaluo las colisiones entre los elementos que pertencen a estas ultimas listas.

De esta forma podrias poner palmeras en el fondo, en el plano de los presonajes o en un plano delantero, pero solo evaluarias las colisiones entre el personaje y las palmeras que se encuentran ese plano.

Espero que mi idea te pueda servir.

Un Saludo.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Tiles
« Respuesta #5 en: Lunes 5 de Julio de 2004, 23:18 »
0
OK, gracias a ambos

silent, tus ideas funcionan pero la verdad son demasiado triviales para el problema que plantie,
sirven pero para otro poprblema que tuve hace ya mucho tiempo y lo solucione de esa manera.

Lo de los tiles so soluciopne de una manera diferente.

Se usan en lo que llamo la capa de coliciones (es decir donde los dibujos puden chocar con el personaje, no en los backgrounds) algoritmos asi:

Detectar colicion de rectangulo

si hubo colision de rectangulo haga
detectar colision por color.


Una vez hice esta soluion me di cuenta que no me servia porque las superficies en mi juego son en general demasiado irregulares y el sistema de coliciones de esa manera generaria que el personaje cambiara su linea de movimiento solo porque ubiesen 1 o mas pixeles a otra altura lo cual hace que si va caminando horizontalmente en un momento determinado al colisionar con por ejemlo una ramita pintada en el piso, el personaje caminara sobre la ramita en vez de seguir su curso normal.

Asi que la soucion es crear una capa de coliciones donde se encuentre la infromacion de colision a manera de poligonos que describan la escena de una manera mas abstracta y pensada solo para detectar las coliciones..
estoy trabajando es eso los mantendre informados.

amilus , tu solcion me gusto mucho pero dada la complejidad en las escenas que estoy haciendo, resulta mas rapido usar pocos tiles grandes  que muchos tiles pequeños.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

Lenko

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Tiles
« Respuesta #6 en: Miércoles 4 de Agosto de 2004, 10:38 »
0
Antes de nada este es mi primer mensaje así que hola a todos . Me alegro de haber encontrado un sitio como este para resolver mis múltiples problemas.

JuanK por si te sirve de ayuda para buscar por internet soluciones a tu problema, creo que el método que has comentado basado en una capa de colisiones se suele llamar "mapa de durezas" que vendría a ser una especie de máscara para los objetos estáticos.
- Lenko -

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Tiles
« Respuesta #7 en: Jueves 5 de Agosto de 2004, 07:48 »
0
te agradezo ,
sin embargo le echare un ojo a lo que me dices,
pero ya tenemos nuestro propio istema de coliciones dadptado a nuestras necesides de eficiencia ...
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io