¿Cómo puedo obtener texturas en el borde de las paredes como en Super Metroid y Aquaria?

57

Juegos como Super Metroid y Aquaria presentan el terreno con las otras partes enfrentadas que tienen rocas y cosas mientras que más profundo detrás de ellas (es decir, bajo tierra) hay diferentes detalles o simplemente negro.

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Me gustaría hacer algo similar usando polígonos. El terreno se crea en mi nivel actual como un conjunto de cuadros cuadrados superpuestos. No estoy seguro de si este método de renderizado funcionará como un sistema para crear terreno, pero si alguien tiene ideas, me encantaría escucharlas. De lo contrario, me gustaría saber cómo debería volver a escribir el sistema de representación del terreno para que realmente funcione para dibujar el terreno de esta manera ...

medicamentos
fuente
1
Aquaria incluye un editor de niveles, por lo que puede ver eso para ver exactamente cómo construyeron los activos.
2
Además de mirar el editor de niveles de Aquaria, el método básico utilizado aquí es tener dos (o más) capas de terreno renderizadas.
Thedaian

Respuestas:

133

Metroid solo está usando mosaicos, no pasa nada especial allí.

Aquaria, sin embargo, está haciendo algo bastante inteligente. Si te das cuenta, muchas de esas rocas en la cama se repiten varias veces. Aquí está una de las rocas, por ejemplo:

una variedad de roca repetida con cada instancia en un círculo

Parece que acaban de arrojar sprites a lo largo de los bordes de su terreno. Es algo así como lo que hizo Metroid: un arsenal masivo de fichas de borde, pero si prestas atención puedes notar la repetición de las fichas. Acquaria está haciendo lo mismo, excepto con sprites de roca, y no en una cuadrícula.

Cómo replicarlo

Puede que no sea exactamente cómo lo hacen, pero es una forma de producir el mismo resultado final.

Primero, obtén un buen montón de sprites de roca como este:

algunos sprites de roca perdy

Ahora hay un proceso a seguir para que sepa dónde colocarlos.

Determine los vértices y bordes que componen su terreno.  Atravesarlos como una araña caminando a través de una línea de tela y, a distancias regulares, almacenar la coordenada actual.  ¡La distancia inverval depende del tamaño de tus sprites!  Colorea un lado de negro y luego voltea un sprite en cada punto que grabaste.

Tada!

Puedes usar esto una vez para generar una lista de rocas y dónde dibujarlas, luego solo dibujas todos tus sprites de roca. ¡O tal vez puedas dibujar todos los puntos y elegir un sprite diferente para dibujar en cada paso, haciendo el borde de un pozo de lava o un terreno alienígena!

Y otras características del terreno ...

Aquaria podría haber usado un método muy similar para arrojar todos los hongos, corales y otras características en el fondo marino (incluidas las estructuras rocosas gigantes que forman el telón de fondo). Los hongos podrían haberse generado así:

  1. Reúna algunos puntos a intervalos aleatorios , no a intervalos fijos.
  2. No solo guardes el punto. También almacene la normalidad del borde del que eligió el punto.
  3. Elija una rotación aleatoria dentro de un cierto rango de rotación de la normalidad. Por ejemplo, si lo normal apunta a 30 grados, elija una rotación dentro de 20 grados de eso (es decir, entre 10-50 grados).
  4. Dibuja tu hongo en la rotación elegida y con una longitud de tallo al azar.

Todo lo demás es probablemente una variación de esas mismas instrucciones: el coral no gira mucho, esas dos conchas / piedras probablemente solo se colocan si el terreno normal apunta aproximadamente hacia arriba (es decir, el terreno es plano).

Notas finales

Como un comentarista preguntó: creo estas imágenes en Adobe Photoshop (reducido aquí en un 50% para líneas nítidas) usando una tableta Wacom Intuos3 (que me permite dibujar a mano alzada y naturalmente, y variar el ancho de línea, etc.).

doppelgreener
fuente
25
¡Buena respuesta! Gran obra de arte acompañante.
Tim Holt
2
Wow, la mayoría de los dibujos y fotos que he visto en una respuesta.
Xeoncross
La mejor respuesta. Gran trabajo
Ellis
2
@ Jonathan Hobbs: Muy bonita obra de arte. ¿Dibujaste todo esto? Si es así, ¿qué programa usaste? Realmente me gusta el resultado y el efecto que produce cuando intento demostrar algo. Gracias.
Jesse Emond
44
Creo "¡Tengo que comprar una de esas tabletas para poder hacer un buen arte así!" Entonces pienso "Oh, claro, no soy bueno dibujando de todos modos y una tableta no va a ayudar eso"
MichaelHouse
3

Hacer esto con polígonos sería bastante simple, siempre y cuando tenga un buen patrón de repetición / mosaico, puede configurar fácilmente sus modelos para duplicarlos a lo largo de una curva, nada complejo en absoluto.

Espero que ayude.

Dan_Tsukasa
fuente
Después de esto, PODRÍAS renderizarlo, y solo usar planos para lograr el mismo resultado (siempre que sean solo para el primer plano y el jugador nunca los toque, de esta manera la cuenta múltiple dentro de la escena sería más pequeña, ya que es posible que tener tantos los objetos duplicados (como en los 2 ejemplos anteriores) serán bastante polivinílicos.
Dan_Tsukasa
Si usa una tira triangular para crear el borde, será menos polivinílico (N / 2) +2, pero no podrá obtener el agradable efecto de 'superposición' sin crear mosaicos específicos.
Jonathan Connell