Ambient, μια μηχανή παιχνιδιών ανοιχτού κώδικα για πολλούς παίκτες

Περιβάλλοντος

Το Ambient είναι ένας χρόνος εκτέλεσης για τη δημιουργία παιχνιδιών για πολλούς παίκτες υψηλής απόδοσης και εφαρμογών 3D, που υποστηρίζονται από WebAssembly, Rust και WebGPU.

Μετά από ένα χρόνο ανάπτυξης, se αποκάλυψε την πρώτη κυκλοφορία της νέας μηχανής παιχνιδιών ανοιχτού κώδικα Περιβάλλων. Κινητήρας παρέχει χρόνο εκτέλεσης για τη δημιουργία παιχνιδιών για πολλούς παίκτες και εφαρμογών 3D τα οποία μεταγλωττίζονται σε μια αναπαράσταση WebAssembly και χρησιμοποιούν το WebGPU API για απόδοση.

Ένας βασικός στόχος στην ανάπτυξη του Ambient είναι η παροχή εργαλείων που απλοποιούν την ανάπτυξη παιχνιδιών για πολλούς παίκτες και καθιστούν τη δημιουργία τους όχι πιο δύσκολη από τα έργα ενός παίκτη.

Ο κινητήρας αρχικά στοχεύει στη δημιουργία ενός καθολικού χρόνου εκτέλεσης που υποστηρίζει την ανάπτυξη παιχνιδιών και εφαρμογών σε οποιαδήποτε γλώσσα προγραμματισμού για την οποία είναι δυνατή η μεταγλώττιση σε ενδιάμεσο κώδικα WebAssembly. Ωστόσο, η πρώτη έκδοση υποστηρίζει μόνο την ανάπτυξη Rust μέχρι στιγμής.

Σχετικά με το Ambient

Από τα χαρακτηριστικά που ξεχωρίζουν από το Ambient αναφέρεται ότι έχει διαφανή υποστήριξη για δικτύωση. Η μηχανή συνδυάζει τις λειτουργίες ενός πελάτη και ενός διακομιστή, παρέχει όλα τα απαραίτητα στοιχεία για τη δημιουργία λογικής πελάτη και διακομιστή και συγχρονίζει αυτόματα την κατάσταση διακομιστή στους πελάτες.

Αναφέρεται επίσης ότι χρησιμοποιείται ένα κοινό μοντέλο δεδομένων στην πλευρά του πελάτη και του διακομιστή, γεγονός που καθιστά εύκολη τη μεταφορά κώδικα μεταξύ του backend και του frontend. Εκτελεί κάθε λειτουργική μονάδα στο δικό της απομονωμένο περιβάλλον για να περιορίσει τον αντίκτυπο του μη αξιόπιστου κώδικα και η συντριβή μιας λειτουργικής μονάδας δεν συντρίβει ολόκληρη την εφαρμογή.

Περιβάλλον, γΔιαθέτει αρχιτεκτονική προσανατολισμένη στα δεδομένα, παρέχοντας έτσι ένα μοντέλο δεδομένων που βασίζεται σε ένα σύστημα στοιχείων που μπορεί να χειριστεί κάθε WASM. Χρησιμοποιώντας το σχέδιο σχεδίασης ECS (Entity Component System).

Επιπλέον, επίσης αποθηκεύει τα δεδομένα όλων των στοιχείων σε μια κεντρική βάση δεδομένων στον διακομιστήr, η κατάσταση του οποίου αναπαράγεται αυτόματα στον πελάτη, ο οποίος με τη σειρά του μπορεί να επεκτείνει τα δεδομένα λαμβάνοντας υπόψη την τοπική κατάσταση.

Η δυνατότητα δημιουργίας λειτουργικών μονάδων Ambient σε οποιαδήποτε γλώσσα προγραμματισμού που μεταγλωττίζεται στο WebAssembly (μέχρι στιγμής υποστηρίζεται μόνο το Rust), ενώ δημιουργείται γενικά εκτελέσιμα αρχεία εξόδου, μπορεί να εκτελεστεί σε Windows, macOS και Linux και να λειτουργεί ως πελάτης και ως διακομιστής.

Από την άλλη, τονίζεται επίσης ότιέχει την ικανότητα να ορίζει τα δικά του στοιχεία και «έννοιες» (συλλογές εξαρτημάτων). Τα έργα που χρησιμοποιούν τα ίδια στοιχεία και έννοιες διασφαλίζουν ότι τα δεδομένα είναι φορητά και κοινά, ακόμη και αν τα δεδομένα δεν έχουν σχεδιαστεί ειδικά για χρήση σε συγκεκριμένα έργα.

Από τα άλλα χαρακτηριστικά που ξεχωρίζουν από το Ambient:

  • Υποστήριξη για τη μεταγλώττιση πόρων σε διαφορετικές μορφές, συμπεριλαμβανομένων των ".glb" και ".fbx". Δυνατότητα ροής πόρων μέσω του δικτύου: ο πελάτης μπορεί να λάβει όλους τους απαραίτητους πόρους κατά τη σύνδεση στον διακομιστή (μπορείτε να ξεκινήσετε την αναπαραγωγή χωρίς να περιμένετε να φορτωθούν όλοι οι πόροι).
  • Υποστηρίζονται μορφές μοντέλων FBX και glTF, διάφορες μορφές ήχου και εικόνας.
  • Ένα προηγμένο σύστημα απόδοσης που χρησιμοποιεί τη GPU για να επιταχύνει την απόδοση και υποστηρίζει LOD και αποκοπή από την πλευρά της GPU.
  • Χρήση φυσικής απόδοσης (PBR) από προεπιλογή, υποστήριξη για κινούμενα σχέδια και διαδοχικούς σκιώδεις χάρτες.
  • Υποστήριξη για προσομοίωση φυσικών διεργασιών με βάση τη μηχανή PhysX.
  • Σύστημα κτιρίου διεπαφής χρήστη τύπου React.
  • Ενιαίο σύστημα εισόδου ανεξάρτητο από την τρέχουσα πλατφόρμα.
  • Χωρικό ηχοσύστημα με plug-in φίλτρα.
  • Η ανάπτυξη βρίσκεται ακόμα στο άλφα στάδιο. Από τις λειτουργίες που δεν έχουν ακόμη υλοποιηθεί, μπορούμε να σημειώσουμε τη δυνατότητα εκτέλεσης στον Ιστό, ένα API πελάτη, ένα API για τη διαχείριση πολλαπλών νημάτων, μια βιβλιοθήκη για τη δημιουργία διεπαφής χρήστη, ένα API για τη χρήση των δικών σας shaders, υποστήριξη ήχου, φόρτωση και αποθηκεύστε
  • Στοιχεία ECS (Entity Component System), επαναφόρτωση πόρων εν κινήσει, αυτόματη κλιμάκωση διακομιστή, πρόγραμμα επεξεργασίας για τη συν-δημιουργία χαρτών παιχνιδιών και σκηνών παιχνιδιών.

Τέλος, για όσους ενδιαφέρονται να μάθουν περισσότερα για αυτό, θα πρέπει να γνωρίζουν ότι ο κώδικας είναι γραμμένος σε Rust και είναι διανέμεται υπό την άδεια του MIT.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.