domingo, 3 de julio de 2016

¿Cómo debo optimizar mi juego?

Hola a todos, soy Edgar
Si bien ya hice una entrada de como hacer que el juego se vea visualmente agradable, es hora de que hablemos sobre como optimizar el juego y los sistemas que tenemos para poder hacerlo, esta sera una entrada un poco pequeña, debido a que, a pesar de que existen pocas formas de optimizar bien el juego, todas permiten una buena calidad, a continuación, hablaré de las mas conocidas, todas estas optimizaciones ayudarán a que tu juego vaya a una cantidad notable de fotogramas y evitará que tengas que disminuír muchas cosas dentro de él

Level Of Detail

A medida que el jugador se va alejando de un elemento, se vuelve innecesario mantener la misma calidad de detalle, hablese de textura o de cantidad de poligonos, el Level Of Detail nos permite disminuir la cantidad de poligonos y el tamaño de la textura a medida que nos vamos alejando del objeto en cuestión, lo cual, bien usado, no afecta a la calidad visual del juego

Bakeo de Normal maps

Este tipo de optimización, permite reducir la cantidad de polígonos y transformarlos en un normal map, lo cual permite que podamos tener un modelo de alto detalle sin tirar la optimización por la ventana, es muy usado y personalmente lo recomiendo, puedes disminuir la cantidad de poligonos o triangulos a mas de la mitad sin comprometer el modelo.
Iluminación estática (bakeada)

Este método, debe ser mayormente utilizado cuando tu personaje recorrerá una escena en la cual no se harán cambios de iluminación, este metodo se encarga de proyectar la iluminación como una textura sobre puesta dentro de las superficies del nivel, lo cual permite evitar que se haga en tiempo real sin razón, sobre todo si estamos utilizando iluminación global, que utiliza mas recursos que la iluminación estándar, y no importa si tenemos iluminación global o estándar de forma estática, las dos consumen la misma cantidad de recursos, pero cabe destacar, que al hacer esto, las luces no proyectarán sombras de objetos dinámicos.

Disminución de frames (Animaciones)

Otra de las cosas que podemos llevar a cabo es la disminución de frames, con esto, nos referimos a eliminar frames basura o innecesarias, para tener una mayor fluidez dentro del juego, esto se debe hacer con mucho cuidado, ya que si borramos un frame clave, esto puede dañar fuertemente la animación o hacer que se vea extraña
Occlusion Culling

Este elemento, elimina cosas que no se encuentren al alcance de la vista del jugador, ya sea caras, modelos, o cualquier otra cosa, es importante utilizar esto de forma dinámica para evitar que se borre lo que el jugador no está viendo, de manera que la escena se va construyendo a medida que el personaje avanza a través de ella, esto puede ayudar bastante al rendimiento y dejar una fluidez dentro del entorno bastante notable
Unión de mallas
A la hora de cargar el juego, él se encarga de llamar a todos y cada uno de los modelos, sistemas, objetos, animaciones, sonidos y demás que sean usados en la escena en cuestión, para disminuír el tiempo de carga, lo mas sencillo que podemos hacer es unir varias mayas y disminuír la cantidad de llamados, de esta forma, el nivel cargará mas rápido, como en la comparación (No unas mayas de objetos que se muevan o reproduzcan animaciones con otras)

Object Pooling
Con esto podemos lograr una muy buena optimización, y, como su nombre lo indica, es básicamente crear un piscina de objetos para llamarlos cuando sea necesario, si por ejemplo, dentro de nuestro juego de disparos necesitamos crear shells (Casquillos) después de cada disparo, es mejor tener una piscina de objetos con ellos y así evitamos crear y crear mas casquillos, es un buen metodo, a pesar de ser dificil de utilizar.

Hasta ahora, estos son los metodos de optimización mas utilizados, la forma de aplicación es diferente según el motor gráfico que estés utilizando, haciendo uso de todos o cada uno de estos, puedo estar totalmente seguro de que tu juego correrá al doble de los fotogramas que corría antes, sin tomar en cuenta la disminución de tiempo de carga.
Por favor tomate un segundo para darle like a Midnight Studios mediante el botón de aquí abajo, esto me ayudaría mucho y allí publicaré fotos, vídeos y demás sobre el desarrollo de mi juego, muchas gracias!

POR CIERTO!


Tengo una nueva página, codedgar.com.ve, allí subiré contenido cada una semana, habrá contenido más variado y muchas más cosas, pásate y échale un vistazo

1 comentario:

  1. con respecto a la iluminacion Backeada como podria hacerlo a verdad tengo muchas luces en la escena y me lag el game

    ResponderEliminar