Bitácora de desarrollo 26 de agosto de 2025. Ubicación del test: escena Bootstrap sanctum, cámara de título y portal de desarrollo.
Resumen del ritual: Saneamiento de singletons y resurrección de trackers.
Tras ajustar la pantalla de selección de jugador y pulir sistemas ya existentes me encontré con varios problemas durante las pruebas en tiempo de ejecución desde la pantalla de título.
Problema 1 Duplicado del Warden
Descripción El gestor de progreso del jugador se duplicaba al volver a la escena de título cuando accedía al portal de desarrollo.
Causa Unity instanciaba un segundo prefab por el uso de DontDestroyOnLoad y la recarga de escenas.
Solución Moví PlayerProgressManager al bootstrap. Implementé la lógica de singleton y eliminé el prefab de la escena de título.
Resultado No hay duplicados. El Warden persiste a través de las escenas.
Problema 2 Tracker de muertes de zombis nulo
Descripción ZombieKillTracker.Instance regresaba null durante la simulación de trampas a pesar de que antes funcionaba correctamente.
Causa El tracker no estaba presente o inicializado antes de que CheatManager lo invocara.
Solución Colocado ZombieKillTracker en el Bootstrap. Habilitado persistencia entre escenas. Verificado que Awake se ejecuta.
Resultado El tracker persiste y registra las bajas sin errores.
Problema 3 Tracker fantasma duplicado
Descripción Se generaba un segundo ZombieKillTracker en la escena de desarrollo.
Causa El prefab existía en varias escenas y entraba en conflicto con la instancia persistente.
Solución Eliminadas todas las instancias que no pertenecían al bootstrap. Fortalecida la lógica de singleton.
Resultado No hay duplicación. El tracker sobrevive las transiciones de escena.
Problema 4 CheatManager invocado demasiado pronto
Descripción PlayerProgressManager era null al pulsar el botón de trampas en la escena de desarrollo.
Causa El lanzamiento directo de la escena en el Editor omitía la inicialización del Bootstrap y saltaron problemas por inexperiencia.
Solución Forzar que el modo de juego empiece desde Bootstrap. Añadida validación que redirige si se ha saltado la inicialización.
Resultado Todos los managers se inicializan en el orden correcto.
Estado final No hay warnings ni referencias nulas. Todos los singletons son persistentes y limpios. CheatManager funciona como se espera. Flujo de escenas purificado.
Sistema de navegación entre escenas Refactoricé SceneTransitionManager para manejar la lógica de wraparound entre PlayerSelectScene 01 a 09 y corregí el formato de nombres de escena usando índices con dos dígitos para que coincidan con los archivos reales de escena.
Integré ScreenFader para transiciones suaves con lógica de fallback. Verifiqué el comportamiento del fundido en todas las cámaras, el bucle está sellado aunque necesita pulido adicional.
Mejoras en ScreenFader Añadí campos serializados para defaultFadeInDuration y defaultFadeOutDuration para permitir configurar los tiempos desde el Inspector. El fade in ahora dura el doble para enmascarar la eliminación del panel y suavizar las transiciones de desbloqueo.
Preparación para integrar el logo Confirmé la posibilidad de superponer el logotipo del juego en el canvas de fundido para que el emblema viaje con la pantalla durante el fade y aporte presencia de marca. Planeo una identidad visual que evoque supervivencia, legado y dualidad.
Revelación sobre serialización Descubrí el poder de SerializeField después de semanas de trabajo y ahora ritualizo el control desde el Inspector para varios sistemas. Lógica backend y refinamiento frontend convergen mejor.
Rituales de desbloqueo La lógica de confirmación y desbloqueo ahora está sincronizada con los tiempos de fade. La selección del superviviente se siente más mítica y menos mecánica. Las transiciones UI ganan peso cinematográfico.
Resumen del módulo ScreenFader Version Demo Alpha v0.3.7 Objetivo continuar mejorando la experiencia de transición con pantalla negra y sigilo del logotipo para eliminar saltos visuales y artefactos.
Configuración inicial CanvasGroup para fundir pantalla en negro. Logotipo en capa superior que aparece durante el FadeOut y desaparece en FadeIn. Campos serializados para duraciones y multiplicadores de tiempo del logo.
Fases de prueba y correcciones Resumen de problemas resueltos: logo invisible por CanvasGroup, logo siempre visible por alpha no reiniciado, inversión de dirección en la interpolación, desaparición brusca del logo durante el cambio de escena y desalineación de tiempos. Cada caso tuvo su corrección y ahora el logo permanece visible durante el cambio de escena y se atenúa con cortes temporales cuando es necesario.
Notas de mejora futura Añadir curvas de easing para transiciones de alpha, pulso de escala u otro efecto de glow, considerar fade por shader para mayor fidelidad e integrar una señal de audio sincronizada con el punto medio del fundido.
Registro de inventario y nombres de equipo En la UI de selección de jugador el bloque de texto mostraba IDs del backend en lugar de nombres legibles. Solución Creé y poblé un GearRegistry con 510 assets de equipo. Refactoricé PlayerSelectUI para resolver los startingGearIDs y mostrar nombres en pantalla sin alterar el esquema de GearItem.
Resultado UI limpia con nombres legibles y registry preparado para filtros por ranura, facción o relevancia de inventario. Lección Evitar crear campos prematuros y respetar el esquema existente para prevenir drift.
Resultado del ritual El equipamiento del personaje ahora se muestra con nombres claros. El trabajo de fondo y la disciplina de sistemas avanzan lentamente debido a la vida real, pero el progreso es sólido y fundacional.
Sobre Q2BSTUDIO Q2BSTUDIO es una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones tecnológicas modernas. Ofrecemos servicios de software a medida, aplicaciones a medida, inteligencia artificial aplicada al negocio, ciberseguridad, servicios cloud AWS y Azure, y servicios de inteligencia de negocio. Desarrollamos agentes IA y soluciones de ia para empresas, además de integraciones con Power BI y herramientas analíticas para impulsar la toma de decisiones basada en datos.
Qué ofrecemos Consultoría y desarrollo de software a medida, diseño e implementación de aplicaciones a medida escalables, arquitecturas seguras y cumplimiento en ciberseguridad, despliegues en servicios cloud aws y azure, y proyectos de inteligencia de negocio con integración de Power BI. También entregamos soluciones de inteligencia artificial, agentes IA y automatización inteligente adaptada a procesos empresariales.
Por qué elegirnos Experiencia en proyectos personalizados, enfoque en seguridad y rendimiento, capacidad para unir backend robusto con frontend afinado, y compromiso con la adopción responsable de inteligencia artificial. Nuestro objetivo es convertir ideas en productos fiables que generen valor real y escalen con la empresa.
Palabras clave para posicionamiento aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes ia power bi
Reflexión final La jornada no fue espectacular en apariencia, pero fue un gran día de limpieza de sistemas y saneamiento arquitectónico. El ritual continúa mañana y Q2BSTUDIO sigue avanzando en la creación de experiencias pulidas, seguras y con inteligencia integrada.