Saltar al contenido
Creado con Bevy
Bevy

Tu juego de navegador, compilado a una app nativa

Cuando un proyecto está listo para salir de la pestaña, Engine lo exporta y genera un proyecto Bevy en Rust, y luego lo compila en una versión para Windows, macOS, Linux o Android.

Destino

Bevy 0.19

Licencia

MIT / Apache 2.0

Lenguaje

Rust (rustc ≥ 1.95)

Renderizador

wgpu

Qué es Bevy

Bevy es un motor de juego escrito en Rust, libre y de código abierto bajo doble licencia MIT / Apache 2.0. Está construido sobre una arquitectura entidad-componente-sistema y renderiza a través de wgpu, la misma abstracción gráfica que sustenta WebGPU. Compila a un binario nativo real: sin navegador, sin runtime que distribuir junto a él.

Por qué un segundo motor

Babylon.js es lo que hace posible aukimi: una aplicación 3D que abres con una URL. Pero un juego terminado a menudo tiene que ser un archivo: algo para poner en la página de una tienda, entregar a un jugador o ejecutar sin una pestaña. En lugar de pedirte que reconstruyas tu proyecto en otro sitio, Engine lo traduce: la escena que creaste en el navegador se convierte en un proyecto Bevy que compila a una aplicación de escritorio o móvil.

Qué se exporta realmente

La compilación no toma una captura de tu escena. La extrae: la geometría y los materiales salen como un GLB estándar, todo lo que el motor conoce y que glTF no puede transportar (terreno, vegetación, cielo, postprocesado, datos de entidades, ajustes de escena) sale como JSON estructurado junto a él, y a partir de esos dos archivos se genera un proyecto Rust completo. Ese proyecto es un proyecto Cargo normal: puedes leerlo.

  • scene.glb — geometría, materiales, animación
  • scene.json — terreno, vegetación, luces, ajustes
  • Un proyecto Cargo generado, dirigido a Bevy 0.19

Tus scripts viajan contigo

Los scripts de jugabilidad escritos en Engine no se reescriben a mano en Rust ni se descartan. El proyecto generado incorpora un runtime de JavaScript (QuickJS) y vincula la misma API de scripting, de modo que un script creado en el navegador se ejecuta en la compilación nativa tal como se escribió. Mantener esas dos APIs alineadas es una regla permanente del código base, no una ocurrencia tardía.

Cuatro destinos, y uno que admite abiertamente que falta

Ejecutables de Windows, paquetes de aplicación de macOS, AppImages de Linux y APK de Android son los destinos que ofrece hoy el panel de compilación. iOS aparece listado y desactivado: el requisito de la cadena de herramientas no es algo que podamos ocultar tras un indicador de carga. Si el servidor de compilación no puede con tu destino, recibes el proyecto Rust generado para compilarlo tú mismo, en vez de un mensaje de error.

  • Ejecutable para Windows 10/11
  • Paquete de aplicación para macOS
  • AppImage para Linux
  • APK para Android (Android 8+)

Lo que no se traslada, lo dice

Dos renderizadores son dos renderizadores. Algunas cosas que sí muestra la vista previa del navegador aún no tienen equivalente en el lado de Bevy, entre ellas los mapas de luz precalculados (lightmaps) y las sondas de luz localizadas. El exportador escribe un informe de conversión que enumera exactamente lo que no pudo trasladar, en vez de descartarlo en silencio y dejar que descubras la diferencia en la compilación final. Una carencia que puedes leer es una carencia que puedes planificar.

Compila tu proyecto en un binario real

Haz el juego en el navegador. Publícalo como una aplicación.

Apoyar el proyecto