Consideraciones del Equipo de Desarrollo
Última actualización
Última actualización
INTERACCIONES EN EL LOBBY
En el lobby se cuentan con diversas interacciones, entre ellas las que he desarrollado son:
Widgets interactivos, existen 3 tipos los cuales funcionan en un 100%: - Monolito informativo: Este se activa al presionar un botón tanto en el mouse como en el control del izquierdo del oculus. - Pilar informativo: Se activa de forma automática, cuenta con la opción de pasar de página y ver información diferente. - Pilar informativo Kaia: Se activa de forma automática cuando se llega a él, cada vez que se abre la imagen de kaia cambia (sale en diferentes posiciones), se puede setear para que sea la versión masculina o femenina.
- Mapa interactivo del lobby: Es una versión real del lobby a una escala reducida, cuenta con todas las edificaciones se puede seleccionar cada una y sobre ellas sale un gráfico que indica el nombre de la edificación. Este desarrollo se encuentra en un 70% aproximadamente debido a que la estructura mostrada en la imagen no es la final y algunas edificaciones cambian de posición. No se utilizan los modelos a escala del lobby y la edificación porque se requiere un modelo del volumen en un low poly.
- Sistema de puertas universal para la entrada a las edificaciones: Cada edificación cuenta con su puerta, estas se abren automáticamente cuando se está cerca de ella. La funcionalidad se encuentra en un 100% ya que es un actor escalable. Su implementación se encuentra en un 25% ya que solo se cuenta con 3 de las 12 puertas. En total este sistema se encuentra en un 62.5%.
- Sistema de portales: Viajan entre ellos en un mismo mapa y viajan entre niveles. Su funcionalidad se encuentra en un 100%.
- Sistema de elevadores: Actualmente se encuentra en un 50% aproximadamente. Esto debido a que faltan todos los modelos 3D de las cabinas y las puertas correspondientes a cada edificación.
- Sistema de renta de salas para reuniones (conference center): El sistema se encuentra aproximadamente en un 70% de su desarrollo, esto debido a que falta su integración con el sistema de multijugador y el cambio de sesiones por sala, es decir, cada sala lleva a un nuevo “mapa” en donde solo podrán entrar los jugadores que cuenten con la contraseña de la sala; de igual forma falta implementar la parte de renta por medio de la billetera virtual de los usuarios.
MODELOS 3D
Aunque el equipo de modelado de props y personajes de LANDIAN realiza sus propios lineamientos, consideramos que es necesario aclarar que en el ámbito de desarrollo los los modelos 3D deben ser enviados en archivos de tipo FBX, integrando sus materiales y texturas, con bajo o medio poligonaje menor a 100.000 poligonos y texturas hechas bajo la técnica de bake, esto permitirá que los props sean de bajo peso y permitan un optimo rendimiento dentro del proyecto en modo producción. También consideramos importante resaltar que todos los modelos deben ser enviados e importados con el pivote en el punto 0.
OPTIMIZACIÓN DE CÓDIGO
Para nosotros los desarrolladores la compilación y funcionamiento de manera correcta siempre es nuestro objetivo principal en nuestra labor, sin embargo es importante realizar un diagnóstico del código que se desarrolle para el proyecto, teniendo en cuenta las características para cual está desarrollado el producto LANDIAN, se tomará en cuenta aspectos importantes en el performance del aplicativo, puesto que al ser un proyecto enfocado en el sistema operativo Android y Oculus, el rendimiento es limitado y se requiere optimizar constantemente para que este logre correr en tiempo real de manera eficiente. Se recomienda entonces que en la construcción de Blueprints, líneas de código C++ se utilizan nudos o líneas de comandos que ocupen la menor cantidad de recursos en el frame por frame, un ejemplo claro es el nodo GET ALL ACTORS FOR CLASS, que según la documentación oficial de Unreal Engine, este nodo ralentiza los procesos por frame, debido a que requiere mucho tiempo para su lectura en tiempo real.
En este mismo sentido, recomendamos no usar frecuentemente el recurso del evento Tick, ya que este también dispone del procesamiento continuo del hardware y en algunos casos este evento es utilizado para enviar señal continua a un Blueprint que no se usa constantemente dentro del aplicativo.
Solo queda agregar que de parte de cada desarrollador su aporte a realizar consideraciones en el ámbito de desarrollo y optimización con las versiones venideras de Unreal Engine, serán bien recibidas para mejorar la calidad de nuestros productos.
RESPONSABLES DEL DOCUMENTO
· Daniel Vergara: Director Tecnológico
· José Jaramillo: Desarrollador Senior Unreal Engine
· Julian Camilo Mejia: Desarrollador Junior Unreal Engine
· Jairo Vergara: Desarrollador Junior Unreal Engine
· Diego Martínez Guerrero: Desarrollador Junior Unreal Engine