Arquitectura Técnica de NULL_SIGNAL: Un OS Ficticio en el Navegador
NULL_SIGNAL no usa frameworks de UI, ni React, ni componentes. Es un sistema operativo ficticio construido desde cero con Vanilla JavaScript, un bus de eventos custom, y CSS puro.
El Window Manager: WM.js
El corazón de la experiencia es un gestor de ventanas completo implementado en ~450 líneas de JavaScript. Soporta drag & drop, z-index dinámico, minimizar/maximizar/cerrar, barra de tareas real, y notificaciones con timeout configurable (incluyendo persistentes hasta clic manual).
El Boot Sequence
Antes de ver el escritorio, el jugador experimenta una secuencia de arranque falsa que simula un POST de BIOS, carga de kernel, comprobación de integridad de memoria y montaje de sistemas de archivos. Son ~20 etapas con texto monoespaciado que avanza progresivamente. Antes del boot, un splash de producción muestra el logo de Rulebug durante 3 segundos.
El Motor de Historia: story.js
La trama corre en un fichero de ~700 líneas basado en tres primitivas: un estado global con flags booleanos, un bus de eventos (on/emit) que conecta las acciones del jugador con los beats narrativos, y una función waitFor(flag) que permite que la historia espere pasivamente a que el jugador complete una acción sin bloquear nada.
CSS: estética CRT sin imágenes
Todo el diseño visual se logra exclusivamente con CSS: scanlines con repeating-linear-gradient, glow con text-shadow cyan, wallpaper con gradiente radial y rejilla SVG, y animaciones de glitch con clip-path. Peso total: ~93KB JS + 61KB CSS, comprimido a ~40KB. Cero dependencias. Cero imágenes. Carga en menos de 200ms.
El desafío más difícil: el pacing
El mayor reto técnico fue el ritmo narrativo. La solución fue un rediseño del sistema de tiempos: delays proporcionales a la longitud del mensaje, notificaciones persistentes, nunca cerrar ventanas automáticamente, y esperar con waitFor() en vez de timers fijos.