Dos semanas y media de desarrollo
Este es uno de nuestros registros de desarrollo más extensos hasta la fecha y abarca el trabajo realizado entre el 1 y el 17 de agosto. Gran parte de este período estuvo dedicada a una parte fundamental de la experiencia: cómo se mueven tu personaje y todos los jugadores a tu alrededor.
También realizamos amplias mejoras en el combate, los talentos, las interfaces, el rendimiento, el launcher y numerosos sistemas utilizados diariamente. Entre bastidores, comenzamos a desarrollar una nueva generación de herramientas internas que nos ayudará a crear contenido y resolver problemas con mayor eficiencia en el futuro.
Renovación completa del movimiento de otros jugadores
El mayor esfuerzo de este período fue una investigación completa sobre cómo se mueven los demás jugadores en tu pantalla.
Instrumentamos dos clientes simultáneamente y registramos los datos exactos de posición y tiempo enviados, recibidos y mostrados por ambos. Esto nos permitió investigar varios problemas relacionados, incluyendo jugadores que se deslizaban o cambiaban repentinamente de posición después de esquivar, saltos que terminaban antes de llegar al destino y corregían su posición en el último instante, habilidades de movimiento que parecían ejecutarse en el mismo lugar antes de teletransportar al personaje y personajes que se desviaban al caminar hacia atrás.
Estos problemas eran causados por varias fallas diferentes que actuaban en conjunto. En lugar de corregir cada síntoma por separado, renovamos la forma en que el cliente reconstruye el movimiento de otros jugadores a partir de los datos recibidos por la red.
Las esquivas ahora terminan mucho más cerca de su destino correcto. Los saltos de otros jugadores comienzan desde la posición adecuada, mantienen su velocidad durante todo el recorrido y realizan correctamente la transición hacia la animación de aterrizaje. Los personajes ya no continúan deslizándose mientras permanecen inmóviles en la postura de aterrizaje, y el movimiento hacia atrás ya no provoca desviaciones visibles.
Las habilidades que desplazan al personaje, como Scamper, ahora se muestran correctamente a los jugadores cercanos, en lugar de parecer que se ejecutan en el mismo lugar antes de mover repentinamente al personaje hasta su posición final.
Tiempos de combate y efectos de estado
La investigación del movimiento también reveló varios problemas relacionados con los tiempos de combate y los efectos de estado.
Knockdown, los lanzamientos por los aires y otros efectos de control terminaban aproximadamente un 10% antes de lo previsto en el servidor. Esto creaba un pequeño intervalo durante el cual los jugadores podían actuar antes de que el efecto debiera finalizar. Ahora estas duraciones se aplican de forma consistente.
Las reacciones al recibir un golpe ahora aplican correctamente su bloqueo de acciones y ya no pueden cancelarse antes de tiempo. También corregimos situaciones en las que algunas habilidades podían utilizarse durante efectos de estado que deberían haberlas impedido.
Otro problema hacía que la siguiente habilidad utilizada por un jugador remoto pasara a una capa de animación más débil después de determinadas habilidades de movimiento. Esto fue corregido.
Los tiempos de reutilización de los talentos ahora permanecen sincronizados cuando una habilidad es rechazada o cancelada. Anteriormente, el tiempo mostrado podía ser incorrecto y ocasionar que una habilidad fallara justo cuando la interfaz indicaba que estaba disponible.
Defensa, esquiva y combos
La defensa recibió varias correcciones importantes. Cuando el servidor rechaza una defensa porque el personaje no tiene suficiente stamina o no puede actuar, el cliente ahora recibe esa información inmediatamente. Antes, el personaje podía permanecer visualmente en posición defensiva aunque el servidor ya hubiera cancelado la acción. Esta era la causa de que la defensa pareciera dejar de funcionar después de recibir varios ataques de un jefe.
Levantar y bajar la defensa mientras se camina ahora produce una transición fluida en lugar de cambiar bruscamente entre animaciones. La barra de stamina también refleja el coste de la defensa en cuanto se levanta.
Las esquivas ahora terminan al finalizar su animación, eliminando el retraso adicional que podía impedir que el personaje actuara incluso después de ponerse en pie. La esquiva tampoco puede cancelar incorrectamente una reacción al recibir daño.
En PvP, el intervalo para encadenar una habilidad con la siguiente era menor de lo previsto. Se aumentó a 2 segundos para restaurar el flujo de combate esperado.
Las habilidades introducidas durante una secuencia de ataques básicos ahora se añaden a la cola de forma más consistente, en lugar de ser ignoradas silenciosamente. Esto era especialmente perceptible al encadenar habilidades después de ataques super o upper.
Todos los tipos de arma ahora pueden continuar correctamente con un ataque después de una esquiva. Anteriormente, esto solo funcionaba como se esperaba con espadas, mazas y arcos. Las lanzas, espadas de dos manos, hachas de dos manos, staffs y armas dobles podían impedir que el personaje actuara hasta que la esquiva terminara completamente.
Usar una poción, consumir comida o aplicar una venda ya no será interrumpido inesperadamente por un cambio de postura no relacionado con la acción.
También corregimos problemas visuales del equipamiento que podían ocultar el escudo de otro jugador durante el combate o mostrar un arma en la mano y en la espalda del personaje al mismo tiempo.
Talentos, tiempos de reutilización y mejoras
Encontramos y corregimos un defecto que había estado reduciendo silenciosamente a cero el daño de 47 mejoras diferentes desde mediados de mayo.
Esto incluía la explosión final de la secuencia de acumulaciones de todas las gemas elementales, reconocida habitualmente por los jugadores como los diamantes elementales. Si observaste que las acumulaciones se formaban correctamente, pero el golpe final no causaba daño, esta era la razón. El efecto final ahora causa el daño correspondiente.
Una habilidad pasiva de Sorcerer destinada a reducir los tiempos de reutilización de Flame Pillar y Flame Tornado se estaba aplicando de forma inversa, aumentando los tiempos en lugar de reducirlos. El efecto ahora funciona correctamente.
También corregimos los tiempos de reutilización mostrados, que indicaban sistemáticamente un segundo más que la duración real.
El requisito Style Mastery para habilidades de otros estilos se mostraba incorrectamente en rojo para todos los personajes, incluyendo aquellos que ya habían cumplido el requisito. Ahora su estado se muestra correctamente.
Los objetos de gestos adquiridos, incluyendo el baile de pareja y la reverencia de Año Nuevo, ahora solo aparecen como opciones para la barra de acciones cuando el personaje realmente los posee. Antes, los gestos no disponibles podían aparecer como elementos que se podían arrastrar antes de ser rechazados con un mensaje confuso.
Otra corrección evita que el segundo efecto de determinados tipos de mejora sea descartado silenciosamente.
Elemental Solvent
Los jugadores que deseen eliminar el encantamiento elemental de un arma sin sustituirlo por otro elemento ahora pueden utilizar el Elemental Solvent.
La piedra elimina el encantamiento elemental actual y devuelve el arma a su estado sin encantar. No existe probabilidad de fallo ni coste adicional en gold más allá de la propia piedra.
Mejoras en la barra de acciones y la interfaz
Corregimos dos problemas que afectaban a la barra de acciones. Colocar una habilidad o un objeto en la segunda o tercera página podía enviarlo incorrectamente a la primera, y aumentar el nivel de una habilidad podía dejar la versión anterior en la barra en lugar de sustituirla por la nueva.
Los mensajes del chat que contienen apóstrofes ya no se descartan silenciosamente.
La pantalla de carga ahora muestra el nombre de la zona de destino.
Find a Party fue restaurado. La ventana no mostraba ningún grupo disponible y todo el sistema de búsqueda estaba inoperativo. Los listados de grupos, las solicitudes de entrada, la aceptación de jugadores y la salida del grupo ahora funcionan de principio a fin.
Las notificaciones de conexión de amigos ahora muestran un mensaje completo en lugar de presentar solamente el nombre del personaje.
Escribir en cualquier campo de texto ya no mueve al personaje. Esta corrección se aplica al chat, las búsquedas del Trade Market, el correo, los avisos del gremio y los demás campos de texto del juego.
Apuntado de habilidades dirigidas al suelo
Las habilidades dirigidas al suelo, como Meteor y la curación dirigida de Cleric, ahora pueden apuntarse correctamente en todas las direcciones.
Anteriormente, el indicador de objetivo podía quedar fuera de alcance cerca de las esquinas de la pantalla, y su movimiento se volvía progresivamente más pesado a medida que el cursor se alejaba. Iniciar la habilidad también podía forzar la cámara hacia un ángulo fijo.
Estas limitaciones fueron eliminadas. El indicador ahora se desplaza de forma consistente por toda el área disponible y la cámara permanece en el ángulo elegido por el jugador.
Arena y eventos programados
Los contadores de las colas de Arena aparecían una fila alejados de los botones que representaban, haciendo que cada botón mostrara la cantidad de jugadores de una actividad diferente. Ahora los contadores están alineados con las actividades correctas.
También corregimos un problema que hacía que el evento programado Capture the Flag rechazara todos los intentos de registro sin mostrar ninguna respuesta.
Vista previa y precios de la Cash Shop
El botón de vista previa de la Cash Shop ahora funciona con los 588 productos disponibles actualmente.
Los jugadores pueden visualizar armaduras, armas, paquetes y el contenido de las lucky boxes. Cuando una caja puede contener varios trajes, la vista previa permite alternar entre todas las apariencias posibles.
Los descuentos de los paquetes ahora aparecen reflejados en el precio mostrado. El importe correcto con descuento ya se cobraba al realizar la compra, pero la página del producto continuaba mostrando el precio original.
Bank y Trade Market
Las pestañas premium 2 y 3 del Bank ahora pueden desbloquearse correctamente.
El equipamiento encantado almacenado en el Bank ahora muestra sus atributos reales en lugar de presentar únicamente las estadísticas básicas del objeto.
La opción Reset Interface, que anteriormente no producía ningún efecto, vuelve a funcionar.
Las búsquedas del Trade Market ya no muestran objetos que nunca deberían haber sido publicados. También añadimos una validación en el servidor para impedir que clientes modificados coloquen objetos no intercambiables en el mercado.
Rendimiento durante la transición entre zonas
Viajar entre zonas podía provocar interrupciones de más de 400 milisegundos mientras los NPC cercanos salían del alcance y eran completamente destruidos por el cliente.
Ahora, los NPC que salen del alcance se colocan en un estado reutilizable. Si el jugador regresa, pueden restaurarse inmediatamente en lugar de reconstruirse desde el principio. Esto redujo la interrupción durante la transición a una fracción de su duración anterior.
Mejor rendimiento en batallas concurridas
Los efectos de partículas y las actualizaciones de animaciones ahora pueden procesarse en varios núcleos de la CPU en lugar de ejecutarse de forma secuencial. Esto proporciona una mejora perceptible de la tasa de fotogramas durante batallas concurridas y escenas con muchos efectos activos.
También corregimos una fuga de memoria que hacía que el rendimiento empeorara durante batallas prolongadas con numerosos NPC. En casos graves, el juego podía caer hasta aproximadamente un fotograma por segundo después de unos 30 minutos de combate.
Otra fuga de memoria afectaba a los clientes que permanecían cerca de NPC durante períodos prolongados. Los datos de animación facial continuaban acumulándose sin ser liberados, lo que podía reducir el rendimiento de 250 a aproximadamente 30 fotogramas por segundo durante la noche. Estos datos ahora se liberan correctamente.
Un pico de latencia específico del combate fue localizado en una comprobación del indicador de objetivo que competía por el mismo recurso utilizado para cargar texturas. Esto fue corregido.
La música de fondo tampoco vuelve a ser interrumpida por los efectos de sonido del combate durante encuentros concurridos.
Mejoras visuales
El equipamiento con iluminación propia, incluyendo gemas brillantes y efectos similares, ya no parpadea ni se oscurece dependiendo del ángulo de la cámara.
Los reflejos del entorno fueron mejorados y ahora se aproximan más a la representación del juego original, en lugar de parecer excesivamente planos o apagados.
Corregimos una valla de madera distante cuyos bordes iluminados podían parpadear en lugar de permanecer estables.
En los ajustes gráficos más altos, los objetos ahora cambian a niveles inferiores de detalle a la distancia prevista, en lugar de hacerlo demasiado cerca de la cámara.
Los árboles y la vegetación recibieron mejoras de iluminación, distancia y detalle para acercar su apariencia a la del motor gráfico original. Este trabajo continuará mientras completamos la transición para sustituir la antigua biblioteca de renderizado de árboles.
Mejoras en el launcher
Las descargas interrumpidas ahora vuelven a intentarse automáticamente utilizando intervalos progresivamente mayores, en lugar de detenerse inmediatamente y depender de un intento manual que podía volver a fallar.
Las instalaciones grandes ahora se descargan en una cantidad menor de partes más grandes, en lugar de cientos de archivos pequeños. Esto también hace que la barra de progreso y la estimación del tiempo restante sean más estables.
Corregimos un problema que abría una segunda ventana vacía cuando el launcher ya estaba en ejecución, además de otro que podía solicitar permisos de administrador dos veces durante el mismo inicio.
El juego ya no necesita permisos de administrador para iniciarse. El botón Play fue actualizado y ahora abre el juego correctamente sin una elevación innecesaria de privilegios.
También corregimos un fallo del launcher que podía producirse al ejecutar el juego mediante Wine o Proton en Linux.
Nuevas herramientas de desarrollo
Entre bastidores, comenzamos a desarrollar nuestra primera generación de editores internos dedicados.
Un editor independiente de efectos ahora nos permite crear y ajustar efectos visuales mientras observamos los resultados de inmediato. También comenzamos un nuevo editor de árboles como parte de la sustitución de la antigua biblioteca externa de renderizado, junto con la primera versión de un editor de colisiones para encontrar y corregir áreas sin colisión en paredes o suelos.
Estas herramientas no son directamente visibles para los jugadores, pero representan una inversión importante en el futuro del proyecto. Nos ayudarán a crear nuevos contenidos, investigar problemas y aplicar correcciones con mayor eficiencia a medida que avance el desarrollo.
Qué viene después
Este Dev Log #10 actualiza el progreso de Client Alpha hasta su estado actual. El trabajo realizado durante este período mejora el movimiento, la respuesta del combate, la estabilidad, el rendimiento y muchos de los sistemas utilizados diariamente por los jugadores.
Continuaremos compartiendo las actualizaciones de desarrollo en conjuntos como este para que todos puedan seguir el progreso de RaiderZ Global sin necesidad de buscar individualmente cada cambio técnico.