Saludo guerreros de Calradia!
La principal ventaja de crear su propio motor de juego es que, en lugar de ser una navaja suiza (la segunda mejor en todo lo que intenta), puede diseñarla para que se especialice en lo que necesita hacer. Como saben, creamos un motor desde cero para Mount & Blade II: Bannerlord. Tuvimos muchos objetivos cuando comenzamos a trabajar en él, pero tres de ellos tenían la máxima prioridad: por supuesto, tenía que hacer lo que necesitábamos para crear un juego de sandbox tan grande como este, pero también tenía que ser fácilmente modificable, y además de eso, tenía que ser lo suficientemente flexible como para funcionar en computadoras de bajo costo. En el blog de esta semana, hablamos con Engine Programmer, Burak Dermanlı, una de las personas responsables del motor y su optimización para todo tipo de computadoras.
NOMBRE
Burak Dermanlı
DE
Istanbul, Turquía
UNIDO TALEWORLDS
2013
EDUCACIÓN
BS, Universidad Técnica de Yildiz, Ingeniería Matemática
DESCRIPCIÓN OFICIAL DEL TRABAJO
Programador de motor
¿QUE HACES NORMALMENTE DURANTE TU DIA?
" Como programador, paso la mayor parte del tiempo trabajando en problemas que, por lo general, se programan mensualmente. Sin embargo, trabajar en el nivel del motor requiere estar preparado para cualquier interrupción durante el día, como un error que impide que las personas progresen en su trabajo.
La mayor parte de mi trabajo gira en torno a los sistemas de partículas, el inventario de activos, la simulación de tejidos y la gestión de la memoria. Implemento nuevas funciones según lo solicitado, pero se puede decir que están casi finalizadas para las necesidades de Bannerlord. Tanto los sistemas de partículas como la simulación de tela están extremadamente optimizados para que puedan funcionar de manera eficiente en hardware de gama baja. A veces veo las preocupaciones de la gente sobre este tipo de sistemas y si enfrentarán un cuello de botella de rendimiento con el juego. Existe un hecho psicológico de que si hay algo visualmente atractivo en la pantalla, esos elementos son objeto de escrutinio cuando surgen problemas de rendimiento. Tengo tanto GPU de gama baja como de gama alta equipadas en mi plataforma y estoy constantemente comprobando su rendimiento durante el desarrollo. Por ejemplo, la simulación de tela no tomó más de un milisegundo por fotograma en hardware de gama baja en ninguna de las escenas que ha visto en nuestros videos de juego. "
¿QUÉ ES LO QUE MÁS GUSTA DE BANNERLORD?
" Me gusta el espíritu de Mount y Blade y estoy seguro de que también lo sentirás cuando lo juegues. Casi todas las partes del juego se han desarrollado o modificado desde cero. Sin embargo, estamos dedicados a preservar los elementos únicos de Mount & Blade. Bannerlord es un nuevo juego de Mount and Blade con más funciones, un juego más fluido, mejores gráficos y batallas más grandes. Puedo asegurarle que no defraudará a nadie a quien le gusten nuestros juegos anteriores. No puedo esperar para ver el increíble trabajo que nuestros modders harán con Bannerlord. "
¿CUÁL ES LA COSA MÁS DIFÍCIL QUE RESOLVIÓ HASTA EL MOMENTO, DURANTE LA PRODUCCIÓN DE BANNERLORD?
" Es difícil recordar cada problema que he resuelto en cinco años, pero recuerdo que había un pequeño problema de nerviosismo en los componentes de la tela causado por un problema de comunicación en el juego. Pude resolverlo un par de meses más tarde de lo que terminé la implementación real.
También quiero mencionar problemas de importación y compresión de activos. Un compresor de imágenes puede arruinar sus mapas normales si le dice que es un mapa normal o que puede ver que un archivo de activos no puede ser importado por el programa que realmente lo exportó. Necesita pasar horas o incluso días para resolver el problema. "
¿EN QUÉ TRABAJAS ACTUALMENTE?
" Actualmente trabajo en la mejora de nuestro sistema de cartelera de flora. Estoy implementando una técnica moderna que utiliza el mapeo de paralaje para que no puedas notar las transiciones entre los árboles reales y los carteles. Estamos planeando usar esto en la mayoría de nuestras escenas y en el mapa de la campaña. Al mismo tiempo, estoy empezando a diseñar pequeños refactores con el resto de mi equipo en nuestro sistema de administración de recursos para acelerar el proceso de modificación de contenido tanto para nuestros artistas como para los modders. "
¿QUÉ FACCIÓN TE GUSTA MÁS EN BANNERLORD?
" Me gusta más Khuzait porque me gusta su cultura, el estilo arquitectónico y la simulación de tela se ve muy bien en sus armaduras. "
¿SERÍA POSIBLE INCLUIR ALGUNAS ÁREAS MUY DETALLADAS, COMO TABERAS, EN GRANDES MAPAS MULTIJUGADOR SIN PERDER EL RENDIMIENTO?
" Principalmente hago optimizaciones para la GPU / CPU, así que solo responderé a esas partes del problema. Nuestro motor puede marcar objetos estáticos de manera muy eficiente. No necesita hacer ninguna optimización especial y puede poblar el interior del edificio con muchas mallas estáticas.Los agentes también se marcan, animan y representan de la manera más eficiente.Para el rendimiento de la GPU, lo primero que comprobaría es si los cuerpos oclusores en las paredes de la taberna están configurados correctamente. Si es así, las mallas dentro de la No se renderizará edificio para gbuffer y sombras. Finalmente, puedo decir que, teniendo cuidado en algunos puntos específicos, esto es muy posible con nuestro motor " .
¿PODEMOS DISEÑAR NUESTROS PROPIOS EFECTOS DE PARTÍCULAS CON EL MOTOR? (POR EJEMPLO, SI QUIERE EFECTUAR "EFECTOS MÁGICOS" O BLOQUES DE PÁJAROS EN SU MOD)
" Tenemos un editor de partículas muy detallado creado a partir de los comentarios de nuestros artistas. Es posible crear un número infinito de diferentes efectos de partículas con este editor definiendo la emisión, el movimiento y las propiedades visuales del efecto de partículas deseado. Puede usar uno o más emisores en un solo efecto (que puede tener una relación padre-hijo) para crear efectos complejos como una piedra voladora que crea un rastro de polvo, o como se mencionó, un efecto mágico. Pero actualmente, no tenemos un algoritmo de bandadas incorporado implementado en el sistema de partículas. Sin embargo, puede implementarlo usted mismo con nuestro sistema de scripting. "