Bản phát hành đầu tiên của công cụ trò chơi nhiều người chơi mở Ambient

Sau một năm phát triển, bản phát hành đầu tiên của công cụ trò chơi mã nguồn mở Ambient mới đã được trình làng. Công cụ này cung cấp thời gian chạy để tạo các trò chơi nhiều người chơi và ứng dụng 3D biên dịch thành bản trình bày WebAssembly và sử dụng API WebGPU để hiển thị. Mã được viết bằng Rust và được phân phối theo giấy phép MIT.

Mục tiêu chính trong quá trình phát triển Ambient là cung cấp các công cụ giúp đơn giản hóa việc phát triển trò chơi nhiều người chơi và khiến việc tạo ra chúng không khó khăn hơn các dự án chơi đơn. Công cụ này ban đầu nhằm mục đích tạo ra một thời gian chạy chung hỗ trợ phát triển trò chơi và ứng dụng bằng bất kỳ ngôn ngữ lập trình nào có thể biên dịch thành mã trung gian WebAssugging. Tuy nhiên, bản phát hành đầu tiên hiện chỉ hỗ trợ phát triển Rust.

Các tính năng chính của động cơ mới:

  • Hỗ trợ mạng minh bạch. Công cụ này kết hợp các chức năng máy khách và máy chủ, cung cấp tất cả các thành phần cần thiết để tạo logic máy khách và máy chủ, đồng thời tự động đồng bộ hóa trạng thái máy chủ trên các máy khách. Một mô hình dữ liệu chung được sử dụng ở phía máy khách và máy chủ, giúp đơn giản hóa việc truyền mã giữa phần phụ trợ và phần giao diện người dùng.
  • Chạy từng mô-đun trong môi trường biệt lập của riêng nó, cho phép bạn hạn chế ảnh hưởng của mã không đáng tin cậy. Sự cố một mô-đun không làm hỏng toàn bộ ứng dụng.
  • Kiến trúc hướng dữ liệu. Cung cấp mô hình dữ liệu dựa trên hệ thống các thành phần có thể được thao tác bởi từng mô-đun WASM. Sử dụng mẫu thiết kế ECS (Hệ thống thành phần thực thể). Lưu trữ dữ liệu của tất cả các thành phần trong cơ sở dữ liệu tập trung trên máy chủ, trạng thái của nó được tự động sao chép sang máy khách, về phía nó có thể mở rộng dữ liệu có tính đến trạng thái cục bộ.
  • Khả năng tạo mô-đun Ambient bằng bất kỳ ngôn ngữ lập trình nào biên dịch sang WebAssugging (hiện chỉ hỗ trợ Rust).
  • Tạo các tệp thực thi phổ biến làm đầu ra có thể chạy trên Windows, macOS và Linux, đồng thời hoạt động như cả máy khách và máy chủ.
  • Khả năng xác định các thành phần và “khái niệm” của riêng bạn (bộ sưu tập các thành phần). Các dự án sử dụng các thành phần và khái niệm giống nhau sẽ cho phép tính di động và chia sẻ dữ liệu, ngay cả khi dữ liệu không được thiết kế riêng để sử dụng trong các dự án cụ thể.
  • Hỗ trợ biên dịch tài nguyên ở nhiều định dạng khác nhau, bao gồm .glb và .fbx. Khả năng tải xuống trực tuyến các tài nguyên qua mạng - máy khách có thể nhận tất cả các tài nguyên cần thiết khi kết nối với máy chủ (bạn có thể bắt đầu chơi mà không cần đợi tải tất cả tài nguyên). Hỗ trợ các định dạng mô hình FBX và glTF, các định dạng âm thanh và hình ảnh khác nhau.
  • Hệ thống kết xuất nâng cao sử dụng GPU để tăng tốc độ kết xuất và hỗ trợ cắt xén phía GPU cũng như thay đổi mức độ chi tiết. Sử dụng hiển thị dựa trên vật lý (PBR) theo mặc định, hỗ trợ hoạt ảnh và bản đồ bóng xếp tầng.
  • Hỗ trợ mô phỏng các quá trình vật lý dựa trên PhysX engine.
  • Một hệ thống xây dựng giao diện người dùng tương tự như React.
  • Một hệ thống đầu vào thống nhất độc lập với nền tảng hiện tại.
  • Hệ thống âm thanh không gian với các bộ lọc plug-in.

Sự phát triển vẫn đang ở giai đoạn phiên bản alpha. Trong số các chức năng chưa được triển khai, chúng tôi có thể lưu ý khả năng chạy trên Web, API máy khách, API để quản lý đa luồng, thư viện để tạo giao diện người dùng, API để sử dụng trình đổ bóng của riêng bạn, hỗ trợ âm thanh, tải và lưu Các thành phần ECS (Hệ thống thành phần thực thể), tải lại tài nguyên nhanh chóng, tự động mở rộng quy mô máy chủ, trình chỉnh sửa để cộng tác tạo bản đồ trò chơi và cảnh trò chơi.



Nguồn: opennet.ru

Thêm một lời nhận xét