Primera versión del motor de juego multijugador abierto Ambient

Después de un año de desarrollo, se presenta la primera versión del nuevo motor de juegos abierto Ambient. El motor ofrece un entorno de ejecución para crear juegos multijugador y aplicaciones 3D, compilables en una representación WebAssembly y que utilizan la API WebGPU para el renderizado. El código está escrito en Rust y se distribuye bajo la licencia MIT.

El objetivo clave en el desarrollo de Ambient es proporcionar herramientas que simplifiquen la creación de juegos multijugador, haciendo que su desarrollo no sea más complicado que el de proyectos de un solo jugador. El motor está inicialmente orientado a crear un entorno de ejecución versátil que apoye el desarrollo de juegos y aplicaciones en cualquier lenguaje de programación que se pueda compilar en código intermedio WebAssembly. Sin embargo, en esta primera versión, solo se ha implementado el soporte para el desarrollo en Rust.

Características clave del nuevo motor:

  • Soporte transparente para interacción en red. El motor combina funciones de cliente y servidor, proporcionando todos los componentes necesarios para la creación de la lógica de cliente y servidor, y también sincroniza automáticamente el estado del servidor en los clientes. Tanto en el lado del cliente como en el servidor se utiliza un modelo de datos común, lo que facilita la transferencia de código entre el backend y el frontend.
  • Ejecutar cada módulo en su propio entorno aislado, permitiendo limitar la influencia del código que no es de confianza. La finalización abrupta de un módulo no provoca la finalización abrupta de toda la aplicación.
  • Arquitectura orientada a datos. Ofrece un modelo de datos basado en un sistema de componentes, que puede ser manipulado por cada módulo WASM. Utiliza el patrón de diseño ECS (Entity Component System). Almacena los datos de todos los componentes en una base de datos centralizada en servidor, cuya estado se replica automáticamente al cliente, quien a su vez puede extender los datos considerando su estado local.
  • Posibilidad de crear módulos de Ambient en cualquier lenguaje de programación que se compile a WebAssembly (actualmente solo se soporta Rust).
  • Generación de archivos ejecutables universales que pueden ejecutarse en Windows, macOS y Linux, y funcionar tanto como cliente como servidor.
  • La capacidad de definir componentes y «conceptos» propios (colecciones de componentes). En proyectos que utilizan componentes y conceptos idénticos, se garantiza la portabilidad y el uso compartido de datos, incluso si esos datos no están específicamente diseñados para ser utilizados en proyectos concretos.
  • Soporte para la compilación de recursos en diferentes formatos, incluyendo .glb y .fbx. Posibilidad de carga de recursos a través de la red: el cliente puede recibir todos los recursos necesarios al conectarse al servidor (se puede comenzar a jugar sin esperar a que se carguen todos los recursos). Se admiten los formatos de modelo FBX y glTF, así como varios formatos de sonido e imágenes.
  • Sistema de renderizado avanzado que utiliza GPU para acelerar la salida y que soporta la realización de recortes por zona de visibilidad y cambios en los niveles de detalle del lado de la GPU. Utilización por defecto de rendering físicamente correcto (PBR), soporte para animaciones y mapas de sombras en cascada.
  • Soporte para la simulación de procesos físicos basado en el motor PhysX.
  • Sistema de construcción de interfaces de usuario similar a React.
  • Sistema de entrada unificado, independiente de la plataforma actual.
  • Sistema de sonido espacial con filtros conectables.

El desarrollo se encuentra actualmente en fase alfa. Entre las funcionalidades aún no implementadas se pueden mencionar la posibilidad de lanzamiento en Web, API del cliente, API para gestión de multihilo, biblioteca para crear interfaces de usuario, API para utilizar shaders propios, soporte de sonido, carga y guardado de componentes ECS (Sistema de Componentes de Entidades), recarga de recursos en caliente, escalado automático. servidores, editor para la creación colaborativa de mapas y escenas de juego.

Reproducir video


Fuente: opennet.ru
Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster