¿Cómo puedo modificar cómo se dibuja mi escena para que parezca que está teniendo lugar en diferentes momentos del día?

8

Mi juego tiene una asociación diurna con la escena, que la luz de la mañana será diferente de la tarde y la noche. Pero no sé cómo hacer esta diferencia.

Aquí hay un ejemplo en el juego de Pokemon:

ingrese la descripción de la imagen aquí

Tengo una idea que pone una capa en la parte superior del juego con una transparencia de aproximadamente 10-20%, y cambiar su color depende del tiempo, pero no sé qué color es bueno.

¿Hay algún otro mecanismo para hacer algún tipo de ciclo día / noche en un juego de este estilo?

Luke Vo
fuente
¿Cuál es la pregunta exactamente?
doppelgreener
@ JonathanHobbs Me gustaría saber la mejor manera de hacer la diferencia de la luz del día.
Luke Vo
Nuevos sprites que se adaptan a una condición de rayo que no tiene nada que haga que esas ventanas y el techo brillen.
doppelgreener

Respuestas:

10

Hay dos maneras de hacer esto. La manera fácil y la forma en que realmente se verá como si estuviera oscuro.

La manera fácil es exactamente lo que dijiste: tira un quad de pantalla completa que oscurece la escena. Pero:

Tengo una idea que pone una capa en la parte superior del juego con una transparencia de aproximadamente 10-20%, y cambiar su color depende del tiempo, pero no sé qué color es bueno.

Eso es porque no hay "bueno". Solo hay diferentes niveles de maldad. Siempre se verá como es claramente: una escena brillante que se ha oscurecido. La verdadera noche no es simplemente una escena brillante que se ha oscurecido. Las diferentes áreas son más oscuras de diferentes maneras.

Lo mejor que puede hacer es ejecutar un montón de pruebas y encontrar el color que sea menos ofensivo. Nadie puede darle un "buen color", porque tal cosa no existe. Solo hay "lo que usted puede tolerar personalmente para su escena particular".

La forma correcta de hacerlo es hacer que tus artistas vuelvan a dibujar todos los sprites para una escena más oscura. Obviamente, esto requiere mucha mano de obra, razón por la cual la mayoría de los juegos basados ​​en sprites no tienen ciclos de día y noche.

De hecho, los juegos de sprites que hicieron algunas escenas nocturnas también tenían la ventaja de usar sprites paletizados. En esos casos, simplemente crearon una paleta especial de "noche" para los sprites. Esto les dio la oportunidad de ajustar los colores para obtener el mejor efecto visual.

Podrías probar algo similar a esto, pero requeriría que uses sprites paletizados tú mismo.

Nicol Bolas
fuente
¡Muchas gracias! Es malo que no tengamos mucho tiempo para nuestros artistas. ¡Quizás tengamos que aceptar el color menos ofensivo!
Luke Vo
2

Tengo una idea que pone una capa en la parte superior del juego con una transparencia de aproximadamente 10-20%, y cambiar su color depende del tiempo, pero no sé qué color es bueno.

Prueba y error es una gran cosa. Tienes la idea, una superposición de algún tipo sería la más fácil. La sugerencia de usar naranja para el anochecer y negro para la noche también es buena. Pero nadie aquí puede decirte qué colores usar para que tu juego se vea bien, eso depende totalmente de ti y de tu sentido del diseño.

Una forma mucho más complicada de cambiar la hora del día es generar un conjunto completamente nuevo de sprites para cada período del día. La mayoría de estos sprites simplemente se sombrearían de manera diferente, como si estuviera usando la superposición anterior, pero esto permitiría otros efectos como farolas y demás.

dlras2
fuente
Hmm, probé algunos colores pero el resultado no es muy bueno. Soy muy malo en diseño gráfico. ¿Me puede dar un buen color (RGB y alfa)? Gracias por responder.
Luke Vo
@WN - "[N] obody aquí puede decirte qué colores usar para que tu juego se vea bien". Eso me incluye a mí mismo. Vea la respuesta de Nicol Bolas para saber por qué esto no es posible.
dlras2
(¿Alguna explicación para un voto negativo?)
voto negativo
1

Desde mi experiencia muy limitada haciendo este tipo de cosas en un par de juegos que he hecho, para hacerlo "más oscuro", es decir, durante la noche, haría lo que dijiste y agregaría una capa negra sobre el juego, y lo haré más cercano a transparente que opaco.

Para la noche, haría lo mismo, pero con un color naranja para darle una sensación de "anochecer".

Si desea que se vuelva más oscuro (o naranja) gradualmente, aumente gradualmente la opacidad del color con el tiempo.

Eso es lo que haría de todos modos. Estoy seguro de que puede haber una mejor manera de salir.

Nicholas
fuente
¿Me puede dar el código de color que experimentó?
Luke Vo
@WN No tengo ningún código disponible en este momento. Lo que intentaría es hacer una imagen en negro del tamaño de la pantalla. Cárgalo en tu juego frente a todo lo demás. Ahora, si aumenta la transparencia de la imagen en negro, debería hacer que todo lo que está detrás sea visible, mientras agrega un tono oscuro sobre todo. Si no puede cambiar los valores alfa de la imagen en el marco / lenguaje en el que está trabajando, disminuya la opacidad antes de guardar la imagen en su software de edición de imágenes y asegúrese de guardar la imagen también como png.
Nicholas