martes, 23 de octubre de 2018

Hijos de Camelot: Tablas de profundidad


  • Por defecto todo objeto en GM tiene como profundidad 0.
  • En caso de “empate” la instancia creada más tarde aparece por delante.
  • Número positivos de profundidad indican instancia alejada del jugador (es decir, más lejos, hacia “dentro” de la pantalla). 
  • Número negativos de profundidad indican instancia cercana al jugador (es decir, más cerca, hacia “fuera” de la pantalla).
  • Los controles virtuales, por tanto, deberían tener profundidad negativa (p.e. -9999)

Se puede asignar la profundidad en la declaración del objeto (por tanto es fija, en tiempo de programación), en el evento CREATE (por tanto es fija, en tiempo de ejecución) o bien en el evento STEP (cambia cada frame, profundidad dinámica, cambia en tiempo de ejecución).

A menudo se hace coincidir la profundidad con el valor de “y” negativo, ya que en una pantalla la coordenada y=0 está arriba y a medida que bajamos físicamente en la pantalla la "y" aumenta. De esta forma si un objeto se está moviendo arriba y abajo, cambia su profundidad:
Se suele poner en el evento STEP:   depth = -y;



Ejemplo: Tabla de profundidad Fase 1 del juego "Blood Bros"
OBJETOPROFUNDIDAD
Carreta, Enemigo común (alejado)-200
Edificios-225
Enemigo común-250
Enemigo a caballo, Bonus-300
Barril rodante-325
Balas enemigos-350
Explosión-375
Bala del player-400
Mira-450
Barril defensa player-475
Player-500
Elementos del interfaz (puntos, vidas, marcadores)-9999

Los valores de la tabla los he asignado yo, por tanto podrían empezar en cero (por ejemplo) e ir subiendo en valores negativos. O bien empezar en cero para los elementos del interfaz e ir sumando cada vez más en los elementos más alejados. Da igual como lo hagas.

Para entender la tabla veamos una captura del juego Blood Bros:

 

Los players (el indio y el vaquero) son los objetos más cercano a nosotros, es decir, tienen un valor de profundidad (negativo) mayor que el resto de elementos.
Justo detrás están los barriles de defensa y las miras.
Por detrás de estos, el barril rodante, los enemigos y caballos comunes.
Detrás de ellos están los edificios.
etc.

Por delante de todos (incluido players), está el marcador (arriba), al ser un juego arcade los controles no están sobre la pantalla, pero para un juego móvil los controles deberían tener el valor negativo más alto.

En "Hijos de Camelot" he usado una tabla muy similar a la anterior.


La mayor diferencia es el uso de controles en pantalla. Estos objetos tendrán una profundidad -9999.
Exactamente igual que el marcador superior.

Luego tenemos el player, los enemigos comunes, los edificios, los arqueros, las carretas,etc.
Por detrás del todo (valores de profundidad más positivos), las nubes, que se mueven sobre el fondo.
No hay comentarios :

No hay comentarios :

Publicar un comentario