ForgeNG Engine 1.4.1: motor 3D WebGPU modular para proyectos exigentes
ForgeNG Engine 1.4.1 es un motor 3D WebGPU modular para juegos, simulaciones y experiencias 3D interactivas en navegadores web modernos. La nueva versión completa una arquitectura en la que los sistemas principales están separados mediante contratos estables, mientras la configuración predeterminada continúa lista para funcionar sin ensamblar manualmente cada subsistema.
El cambio más importante no es simplemente otra función del renderizador. ForgeNG separa claramente el núcleo del motor de las implementaciones concretas de renderizado, física, audio, entrada, almacenamiento, animación y transporte de red. Así, un sistema individual puede sustituirse o evolucionar de forma independiente sin reconstruir todo el motor.
¿Qué es ForgeNG Engine 1.4.1?
ForgeNG Engine 1.4.1 es un motor 3D WebGPU con una arquitectura de proveedores controlada por configuración. Su renderizador 3D predeterminado usa WebGPU; los demás sistemas pueden utilizar una implementación estándar, una alternativa compatible o, cuando el contrato lo permite, un modo desactivado. El núcleo se comunica mediante contratos tipados y no depende directamente de los detalles de un backend concreto.
En la práctica, esto reduce el acoplamiento, hace predecible el ciclo de vida de los recursos y facilita las pruebas. Cada instancia del motor posee sus propios proveedores y recursos, por lo que dos juegos en una misma página no necesitan compartir estado global mutable.
Capacidades principales de la nueva versión
Renderizador 3D WebGPU modular
El renderizador predeterminado utiliza WebGPU y admite rutas de shaders WGSL estándar, instanciadas, enmascaradas, físicas y personalizadas. La infraestructura incluye sombras, postprocesado y módulos de renderizado extensibles, mientras los recursos de GPU quedan aislados por dispositivo e instancia del motor.
ForgeNG 1.4.1 establece un límite claro para el proveedor de renderizado. Es posible elegir un renderizador compatible mediante configuración, y el núcleo ya no selecciona una implementación concreta de forma oculta. La inicialización, el cambio de tamaño, la pérdida del dispositivo GPU y el cierre siguen reglas definidas de propiedad y rollback.
Sistemas sustituibles sin modificar el núcleo
- Renderizador: WebGPU 3D predeterminado o un proveedor personalizado compatible.
- Física: ForgePhysics o un proveedor alternativo con el mismo contrato y ciclo de vida.
- Audio: proveedor WebAudio, implementación personalizada o modo desactivado.
- Entrada: teclado, ratón, rueda, táctil y gamepad, aislados por canvas.
- Almacenamiento: persistencia en navegador, proveedor en memoria o modo desactivado con espacios de nombres separados.
- Animación: animación esquelética como proveedor independiente conectado a modelos y paletas de renderizado.
- Transporte de red: capa opcional con colas limitadas, control de backpressure y reconexión controlada.
Física con propiedad explícita de escenas y cuerpos
La capa de física distingue cuerpos dinámicos, estáticos y cinemáticos. Los datos tipados cubren formas, transformaciones, velocidad, material y filtros de colisión. Cada escena obtiene su propio ámbito de física; los cuerpos tienen creación, comandos, snapshots y eliminación controlados. Un proveedor alternativo puede sustituir el sistema estándar mediante composición, sin modificar las escenas ni el núcleo.
Escenas, transiciones e integración ECS más seguras
Las transiciones de escena son transaccionales, tolerantes a fallos y cancelables. La escena anterior no se destruye antes del punto de commit definido para la nueva, y un preload o setup fallido no deja el motor medio activo. El almacenamiento de objetos, el puente de renderizado y la orquestación del ciclo de vida tienen responsabilidades separadas; la planificación ECS utiliza un límite de adaptador claro.
Animación esquelética para modelos glTF y GLB
ForgeNG procesa esqueletos, clips y transformaciones TRS de recursos glTF/GLB mediante un modelo de animación neutral respecto al proveedor. El renderizador posee las paletas GPU de skinning y el mismo resultado se usa en los pases principal y de sombras. El ABI actual admite hasta 128 matrices de articulaciones por paleta, con validación de límites y liberación controlada de recursos GPU.
Entrada, almacenamiento, audio y una capa de UI compartida
El proveedor de entrada del navegador evita que los eventos se mezclen entre varios canvas y procesa teclado, ratón, rueda, táctil y gamepad. La capa de almacenamiento ofrece un backend IndexedDB persistente y una alternativa en memoria, con espacios de nombres aislados para aplicación e hijos, escrituras atómicas y orden predecible de operaciones concurrentes.
El sistema de audio utiliza WebAudio para reproducción, sonido espacial, mezcla y ducking, pero sigue siendo sustituible y puede desactivarse. Los paneles de depuración y sistema se registran mediante una UI compartida, en lugar de que cada subsistema posea su propio marco DOM.
Transporte de red opcional sin prometer una replicación completa
El motor ofrece un contrato de transporte neutral y una ruta WebSocket opcional para comunicación binaria fiable y ordenada. Las colas de envío están limitadas, los payloads se copian antes de cruzar límites asíncronos y la reconexión crea una nueva instancia del proveedor con un número limitado de intentos. La replicación automática del estado del mundo no forma parte de la versión 1.4.1; el transporte es la base estable para construirla.
Estabilidad, seguridad y control de recursos
ForgeNG valida la configuración antes de realizar asignaciones de GPU u otros recursos costosos. La inicialización es transaccional: si falla un paso posterior, los recursos adquiridos se liberan en orden inverso. Los cierres repetidos o paralelos comparten el mismo proceso de finalización, y la limpieza continúa aunque un recurso individual informe de un error.
Shaders, pipelines, texturas y recursos IBL quedan ligados a un dispositivo GPU concreto. Esto evita reutilizar por accidente objetos de otra instancia o de un dispositivo perdido. Las comprobaciones de arquitectura, shaders, paridad de tipos, paquetes y navegador real forman parte del proceso de publicación.
¿Para qué proyectos está pensado ForgeNG?
- juegos 3D que se ejecutan directamente en navegadores modernos;
- presentaciones interactivas de productos y showrooms digitales;
- simulaciones técnicas, educativas y físicas;
- visualizaciones con shaders personalizados, sombras y postprocesado;
- proyectos que necesitan física, audio, entrada o almacenamiento sustituibles;
- proyectos de motor a largo plazo donde las pruebas y el control de recursos importan más que los atajos frágiles.
Preguntas frecuentes sobre ForgeNG Engine 1.4.1
¿ForgeNG utiliza WebGPU?
Sí. El renderizador 3D predeterminado usa WebGPU y shaders WGSL. La versión 1.4.1 ofrece actualmente un modo 3D funcional y no anuncia un renderizador 2D inexistente.
¿Puedo sustituir solo la física o el renderizador?
Sí. La arquitectura de proveedores permite sustituir un sistema compatible mediante configuración, sin modificar el núcleo ni ejecutar dos implementaciones del mismo slot exclusivo.
¿El motor incluye audio, controles y almacenamiento?
Sí. Las capas WebAudio, entrada de navegador y almacenamiento están disponibles con modos estándar, alternativos o desactivados cuando sus contratos lo permiten.
¿Está terminada la replicación multijugador completa?
No. Existe la base de transporte, incluida la comunicación WebSocket opcional y la reconexión controlada, pero la replicación automática del mundo y las entidades sigue siendo una fase futura independiente.
ForgeNG 1.4.1 como base para el desarrollo futuro
ForgeNG Engine 1.4.1 marca el paso de una colección monolítica de funciones a un sistema con límites claros, proveedores sustituibles y ciclos de vida de recursos verificables. El resultado es un motor 3D WebGPU capaz de ejecutar escenas complejas en el navegador, mientras permite que renderizado, física, animación, audio, entrada, almacenamiento y transporte evolucionen de forma independiente.