Chuyển đến nội dung
Xây dựng trên nền Bevy
Bevy

Trò chơi trên trình duyệt của bạn, được biên dịch thành ứng dụng gốc

Khi một dự án đã sẵn sàng rời khỏi tab, Engine sẽ xuất nó ra và tạo một dự án Bevy bằng Rust — rồi biên dịch thành bản build cho Windows, macOS, Linux hoặc Android.

Mục tiêu

Bevy 0.19

Giấy phép

MIT / Apache 2.0

Ngôn ngữ

Rust (rustc ≥ 1.95)

Bộ kết xuất

wgpu

Bevy là gì

Bevy là một công cụ làm game viết bằng Rust, miễn phí và mã nguồn mở theo giấy phép kép MIT / Apache 2.0. Nó được xây dựng quanh kiến trúc entity-component-system (ECS) và kết xuất thông qua wgpu, cùng lớp trừu tượng đồ họa nằm bên dưới WebGPU. Nó biên dịch thành một tệp nhị phân gốc thực thụ — không cần trình duyệt, không cần runtime đi kèm.

Vì sao lại cần đến một công cụ thứ hai

Babylon.js chính là thứ khiến aukimi trở nên khả thi: một ứng dụng 3D mà bạn mở bằng một URL. Nhưng một trò chơi hoàn chỉnh thường phải là một tệp — thứ để đăng lên trang cửa hàng, trao cho người chơi, hoặc chạy mà không cần tab trình duyệt. Thay vì bắt bạn dựng lại dự án ở nơi khác, Engine sẽ chuyển đổi nó: scene bạn tạo ra trên trình duyệt trở thành một dự án Bevy, được biên dịch thành ứng dụng desktop hoặc di động.

Những gì thực sự được xuất ra

Quá trình build không chụp ảnh màn hình scene của bạn. Nó trích xuất scene: hình học và vật liệu được xuất ra dưới dạng GLB chuẩn, còn mọi thứ mà engine biết nhưng glTF không mang theo được (địa hình, thảm thực vật, bầu trời, hậu xử lý, dữ liệu thực thể, thiết lập scene) được xuất ra dưới dạng JSON có cấu trúc đi kèm, và một dự án Rust hoàn chỉnh được tạo ra từ hai tệp đó. Đó là một dự án Cargo bình thường — bạn có thể đọc được nó.

  • scene.glb — hình học, vật liệu, hoạt ảnh
  • scene.json — địa hình, thảm thực vật, ánh sáng, thiết lập
  • Một dự án Cargo được tạo tự động, nhắm đến Bevy 0.19

Script của bạn cũng đi theo

Các script gameplay viết trong Engine không bị viết lại bằng tay sang Rust, cũng không bị bỏ lại. Dự án được tạo ra nhúng sẵn một runtime JavaScript (QuickJS) và liên kết với cùng một API scripting, nên một script được viết trên trình duyệt sẽ chạy y nguyên trong bản build gốc. Giữ cho hai API này luôn đồng bộ là một quy tắc thường trực trong codebase, không phải chuyện nghĩ thêm sau.

Bốn nền tảng đích, và một cái thẳng thắn thừa nhận là chưa có

Tệp thực thi Windows, gói ứng dụng macOS, AppImage cho Linux và APK cho Android là những nền tảng mà bảng build cung cấp hiện nay. iOS được liệt kê nhưng đang tắt — yêu cầu về toolchain không phải thứ chúng tôi có thể giấu sau một vòng xoay chờ. Nếu máy chủ build không xử lý được nền tảng bạn chọn, bạn sẽ nhận được dự án Rust đã tạo sẵn để tự biên dịch, thay vì một thông báo lỗi.

  • Tệp thực thi Windows 10/11
  • Gói ứng dụng macOS
  • AppImage cho Linux
  • APK Android (Android 8 trở lên)

Điều gì không chuyển được thì được nói rõ

Hai bộ kết xuất là hai bộ kết xuất khác nhau. Một số thứ mà bản xem trước trên trình duyệt làm được vẫn chưa có tương đương bên phía Bevy — trong đó có lightmap được bake sẵn và light probe cục bộ. Bộ xuất sẽ viết một báo cáo chuyển đổi liệt kê chính xác những gì không mang theo được, thay vì âm thầm bỏ qua và để bạn tự phát hiện sự khác biệt trong bản build hoàn chỉnh. Một khoảng trống mà bạn đọc được là một khoảng trống bạn có thể lên kế hoạch xử lý.

Biên dịch dự án của bạn thành một tệp nhị phân thực thụ

Làm game ngay trên trình duyệt. Phát hành nó dưới dạng một ứng dụng.

Ủng hộ dự án