Bevy - Le Bottin des Jeux Linux

Bevy

🗃️ Specifications

📰 Title: Bevy 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Development 🚦 Status: 04. Released (status)
🏷️ Category: Development ➤ Engine ➤ 2D & 3D ➤ Misc. 🌍️ Browser version:
🔖 Tags: Development; 2D & 3D engine; Bevy engine; No UI; Multi-platform; Rust; Rendering; Parallax Mapping; Animation; Multithreading; Audio system; 3D Sound; Lightmap; Plugins system; Asset system; Gamepad; Force Feedback 📦️ Package Name:
🐣️ Approx. start: 2020-08-10 📦️ Arch package:
🐓️ Latest: 2024-02-18 📦️ RPM package:
📍️ Version: Latest: 💥️ 0.13 / Dev: 961d49f 📦️ Deb package:
🏛️ License type: 🕊️ Libre 📦️ Flatpak package:
🏛️ License: MIT | Apache 2.0 📦️ AppImage package:
🏝️ Perspective: Third person 📦️ Snap package:
👁️ Visual: 2D & 3D ⚙️ Generic binary:
⏱️ Pacing: Real Time 📄️ Source: ✓
👫️ Played: Single 📱️ PDA support: ✓
🎖️ This record: 5 stars 🕳️ Not used:
🎀️ Game design: 👫️ Contrib.: goupildb & Louis
🎰️ ID: 15964 🐛️ Created: 2020-12-28
🐜️ Updated: 2024-02-21

📖️ Summary

[en]: A libre, multi-platform, data-driven, simplicity-driven, game engine designed in Rust. It allows the development of 2D / 3D games, visualizations, user interfaces or other graphical applications. It is designed to be easy to learn for beginners, but infinitely flexible for experienced users, with a modular, data-oriented architecture using the Entity Component System (ECS) paradigm. It is fast and changes are quickly taken into account (less than 3 seconds to compile). An engine that matures very, very quickly. [fr]: Un moteur de jeu libre et multi-plateforme, basé sur les données, axé sur la simplicité, et conçu en Rust. Il permet de développer des jeux en 2D / 3D, des visualisations, des interfaces utilisateur ou d'autres applications graphiques. Il se veut facile à prendre en main pour les débutants, mais infiniment flexible pour les utilisateurs expérimentés, avec une architecture modulaire, orientée données utilisant le paradigme Entity Component System (ECS). Il est rapide et les changements sont rapidement pris en compte (moins de 3 secondes pour compiler). Un moteur qui mûrit très très vite.

🚦 Entry status

💡 Lights on: ✓ 🦺️ Work in progress:
📰 What's new?: 🍎️ (Stable) Major upgrade New version published (to be updated):
🎨️ Significant improvement: 🚧️ Some work remains to be done:
🕳️ Not used2: 👔️ Already shown:

🎥️ Videos


📰 Progress: 💥️Gamefromscratch (0.13/202402), Gamefromscratch (0.12/202311), Gamefromscratch (0.11/202307),


🦝️ From Users: Gamefromscratch (202008), Tantan (202009),


🕯️ How To: Beginner Tutorial Series (0.12/202311), Beginner Tutorial Series (0.10/202303), 💥️ Bevy Basics (0.10.1/202303),


🎮️ Showcase:
• 💥️ Jarl (202401), Times of Progress (202312), Roids (202311),

• bevy-hikari (202203), Amazon Lumberyard Bistro (202201),

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots] [Videos t(202xxx) gd(202xxx) gu(202008) gu(202009) r(202xxx) lp(202xxx) sc(202401) sc(202312) sc(202311) ht(0.12/202311) ht(0.10/202303) ht(0.10.1/202303) ht(0.8/202208) ht(202205) ht(202009) d(202201) g[fr](202xxx) g[de](202xxx) g[ru](202xxx) g[pl](202xxx) g[cz](202xxx) g[sp](202xxx) g[pt](202xxx) g[it](202xxx) g[tr](202xxx)] [WIKI 1 2] [FAQ] [RSS] [Changelog 1(main releases only) 2 3]

💰 Commercial: [Support their work (Donate)]

🍩️ Resources
Tutorials
• Unofficial Bevy Cheat Book (a reference-style book for the Bevy game engine, thanks to [iyes on mastodon]): [Homepage]
• Bevy Adventures Introduction (It's author document his learnings in the bevy game engine & the rust programming language, by Zachary Goulet, free): [Homepage]
• 💥️ What the f*** is reflection? (If you want to hear a bit about how we implement & use reflection in bevy for gamedev, this is a nice approachable 15 minute talk with questions at the end!): 🎬️ ht(202402)

Dev.
• Bevy Assets (a collection of Bevy projects, tools, plugins & learning materials): [Homepage]
• Bevy asset loader (Bevy plugin helping with asset loading and organization, MIT | Apache 2.0): [Homepage] [Dev site]
• 💥️ Blender_bevy_components_workflow (Use Blender as a Bevy Editor, MIT & Apache): [Homepage] [Dev site] 🎬️ gd(202402)

• bevy-hex-sandbox (Example implementation of a 3d hexagon tile-based map editor using bevy v0.10, MIT): [Homepage] [Dev site]
• bevy_overture_maps (an example of integration between Overture maps (for devs who build map services | use geospatial data) & Bevy, MIT): [Homepage] [Dev site] g(202308)
• seldom_map_nav (a plugin that does navmesh generation, pathfinding, & navigation for tilemaps. Navmesh generation is available without Bevy dependency, MIT | Apache 2.0): [Dev site]
• bevy-hikari (Realtime Path Tracer, MIT | Apache 2.0): [Dev site] d(202203)

• Bevy Third Person Camera (a third person camera crate written for Bevy, Apache-2.0, MIT): [Homepage] [Dev site] g(202xxx)
• bevy_scroller (a small Bevy plugin to scroll things, Apache-2.0 | MIT, by Konstantin Kostiuk (SET001)): [Homepage] [Dev site] 🎬️ g(202xxx) g(202xxx)

• bevy_gltf_save_load - Save & load your bevy games (This crate adds the ability to easilly save & load your game worlds for Bevy, MIT | Apache-2.0, Thanks to [crobocado (20240110)]): [Homepage] [Dev site] 🎬️ g(202xxx)
• seldom_state (component-based state machine plugin. Useful for AI, player state, & other entities that occupy different states, MIT | Apache 2.0): [Dev site]
• seldom_fn_plugin (allows using Rust functions in place of Bevy plugins, MIT | Apache 2.0): [Dev site]
• seldom_interop (interoperability traits for Bevy components, MIT | Apache 2.0): [Dev site]
• Bevy Replicon (ECS-focused high-level networking crate for the Bevy game engine using the Renet library, MIT | Apache-2): [Homepage] [Dev site] 🎬️ g(202xxx)

Demos
• Rust-bevy-ping (a simple ball game with rust and bevy, MIT): [Dev site]
• Rust-bevy-stealth (a simple stealth game with rust and bevy, free): [Dev site]

Games
• Tetris (Classical tetris game made with bevy engine, MIT): [Dev site] d(202301)
• Battle-city (Classical battle-city game made with bevy engine, MIT): [Dev site] d(202303)
• Celeste (Celeste classic platformer game made with bevy engine, MIT): [Dev site] d(202304)

🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames] [Showcase]

🦣️ Social
Devs (Bevy Team 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
Devs (Carter Anderson (cart) [fr] [en]): [Site 1 2] [GitHub Sponsor] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Chat] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord] [Stack Overflow]

🐝️ Related
[Wikipedia (Bevy) [fr] [en] [de]]
[Gamefromscratch]

📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB] [OpenCritic] [iGDB]


🕊️ Source of this Entry: [Gaming on Linux on mastodon (20201222)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title: Bevy
🦊️ What's: A libre, data&simplicity-driven, game engine in Rust
🏡️ https://bevyengine.org
🐣️ https://github.com/bevyengine
🦉️ https://mastodon.social/@bevy
🔖 #LinuxGameDev #GraphicsEngine
📦️ #Libre
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

🥁️ Update: 0.13
⚗️ Major upgrade (Stable) 🍎️
📌️ Changes: https://bevyengine.org/news/bevy-0-13/
🦣️ From: https://mastodon.social/@bevy/111948612667535619
📶️ https://github.com/bevyengine/bevy/releases.atom
📰 https://www.youtube.com/embed/73NjjNxZBEc

🦝️ https://www.youtube.com/embed/buUw0xAs4KM
🦝️ https://www.youtube.com/embed/Qjc0V58lB7A
🕯️https://www.youtube.com/embed/?list=PL2wAo2qwCxGDp9fzBOTy_kpUTSwM1iWWd
💥️ 🎮️ https://www.youtube.com/embed/Jcw_v1w7dbI
🎮️ https://www.youtube.com/embed/GeImtko08ko
🎮️ https://www.youtube.com/embed/nC5tuo6i9Qk

🕶️ The engine logo (this engine has no UI).

Bevy is a libre, multi-platform, data-driven, simplicity-driven, game engine designed in Rust. It allows the development of 2D / 3D games, visualizations, user interfaces or other graphical applications. It is designed to be easy to learn for beginners, but infinitely flexible for experienced users, with a modular, data-oriented architecture using the Entity Component System (ECS) paradigm. It is fast and changes are quickly taken into account (less than 3 seconds to compile). An engine that matures very, very quickly.

📕 Description [en]

📕🐧"A libre, multi-platform, data-driven, simplicity-driven, game engine designed in Rust"🐧📕.

Bevy is a refreshingly simple data-driven game engine built in Rust. It is free and open-source forever!

Stability Warning

Bevy is still in the early stages of development. Important features are missing. Documentation is sparse. A new version of Bevy containing breaking changes to the API is released approximately once every 3 months. We provide migration guides, but we can't guarantee migrations will always be easy. Use only if you are willing to work in this environment.

MSRV: Bevy relies heavily on improvements in the Rust language and compiler. As a result, the Minimum Supported Rust Version (MSRV) is generally close to "the latest stable release" of Rust.

Design Goals

• Capable: Offer a complete 2D and 3D feature set
• Simple: Easy for newbies to pick up, but infinitely flexible for power users
• Data Focused: Data-oriented architecture using the Entity Component System paradigm
• Modular: Use only what you need. Replace what you don't like
• Fast: App logic should run quickly, and when possible, in parallel
• Productive: Changes should compile quickly ... waiting isn't fun


● Data Driven
All engine and game logic uses Bevy ECS, a custom Entity Component System
• Fast: Massively Parallel and Cache-Friendly. The fastest ECS according to some benchmarks
• Simple: Components are Rust structs, Systems are Rust functions
• Capable: Queries, Global Resources, Local Resources, Change Detection, Lock-Free Parallel Scheduler

● 2D Renderer
Render real-time 2D graphics for games and apps
• Features: sprite sheets, dynamic texture atlases, cameras, textures, and materials
• Extensible: custom shaders, materials, and render pipelines
• Common Core: builds on top of Bevy's Render Graph

● 3D Renderer
A modern and flexible 3D renderer
• Features: lights, cameras, meshes, textures, materials, gltf loading
• Extensible: custom shaders, materials, and render pipelines
• Common Core: built on top of Bevy's Render Graph

● Render Graph
Compose custom render pipelines using a graph structure
• Parallel: Render Graphs are automatically rendered in parallel
• Modular: Build composable and reusable render logic using Render Graph nodes
• Backend Agnostic: Not tied to a specific graphics api

● Cross Platform
Support for all major desktop platforms:
• Windows, MacOS, Linux
With more on the way:
• Android, iOS, Web

● Bevy UI
A custom ECS-driven UI framework built specifically for Bevy
• Built directly on top of Bevy's ECS, Renderer, and Scene plugins
• Compose UIs dynamically in code or declaratively using the Bevy Scene format
• Use a familiar "flex box" model to layout your UIs

● Scenes
Create, save, and load ECS worlds using Bevy's Scene system
• Loading: Loading scenes preserves entity IDs (useful for save games)
• Instancing: Instancing creates linked duplicates of scenes with new entity IDs
• Hot Reloading: Changes to scene files are automatically applied to running apps

● Sound
Load audio files and play them on demand
• Load mp3 audio files as Assets
• Play audio files using the AudioOutput resource

● Hot Reloading
Get instant feedback on your changes without app restarts or recompiles
• Asset changes are immediately reflected in running Bevy apps
• You can currently hot-reload scenes, textures, and meshes
• Any asset type can be integrated

● Productive Compile Times
Game development is an iterative process. You can't afford to wait for compiles
• With Bevy you can expect 0.8-3.0 seconds with the "fast compiles" configuration
• Compare that to other popular Rust game engines, which can take over 30 seconds to compile a single newline insertion!

● Free and Open Source
An engine made by and for the developer community
• 100% free. Forever and always
• Open Source under the permissive MIT license
• No contracts
• No license fees
• No sales cuts

📕 Description [fr]

Un moteur de jeu orienté données, axé sur la simplicité, et conçu en Rust, par la Bevy Team, initié par Carter Anderson (cart).
En Rust.

Bevy est un moteur de jeu libre et multi-plateforme, basé sur les données, axé sur la simplicité, et conçu en Rust. Il permet de développer des jeux en 2D / 3D, des visualisations, des interfaces utilisateur ou d'autres applications graphiques. Il se veut facile à prendre en main pour les débutants, mais infiniment flexible pour les utilisateurs expérimentés, avec une architecture modulaire, orientée données utilisant le paradigme Entity Component System (ECS). Il est rapide et les changements sont rapidement pris en compte (moins de 3 secondes pour compiler). Un moteur qui mûrit très très vite.

Voir aussi / See also (Rust Game Engine): Bevy, Fyrox,


Bevy est un moteur de jeu basé sur les données, d'une simplicité rafraîchissante, construit en Rust. Il est libre et open-source pour toujours !

AVERTISSEMENT

Bevy en est encore aux premiers stades de développement. Des fonctionnalités importantes manquent. La documentation est peu abondante. Une nouvelle version de Bevy contenant des changements radicaux de l'API est publiée environ tous les 3 mois. Nous fournissons des guides de migration, mais nous ne pouvons pas garantir que les migrations seront toujours faciles. A n'utiliser que si vous êtes prêt à travailler dans cet environnement.

MSRV : Bevy dépend fortement des améliorations apportées au langage et au compilateur Rust. Par conséquent, la version minimale supportée de Rust (Minimum Supported Rust Version, MSRV) est généralement proche de la "dernière version stable" de Rust.

Objectifs de conception

• Capable : Offrir un ensemble complet de fonctionnalités en 2D et 3D
• C'est simple : Facile à prendre en main pour les débutants, mais infiniment flexible pour les utilisateurs expérimentés
• Focalisé sur les données : Architecture orientée données utilisant le paradigme Entity Component System
• Modulaire : N'utilisez que ce dont vous avez besoin. Remplacez ce que vous n'aimez pas
• Rapide : La logique de l'application doit fonctionner rapidement et, si possible, en parallèle
• Productif : Les changements doivent s'accumuler rapidement... attendre n'est pas amusant


● Axé sur les données
Tous les moteurs et la logique de jeu utilisent Bevy ECS (Entity Component System), un système personnalisé de composants d'entités
• Rapide : Massivement parallèle et compatible avec les caches. L'ECS le plus rapide selon certains critères
• C'est simple : Les composants sont des structures Rust, les systèmes sont des fonctions Rust
• Capable : Requêtes, ressources globales, ressources locales, détection des changements, planificateur parallèle sans verrouillage

● Rendu 2D
Rendu 2D en temps réel pour les jeux et les applications
• Caractéristiques : feuilles de sprites, atlas de textures dynamiques, caméras, textures et matériaux
• Extensible : ombres, matériaux et enduits personnalisés
• Coeur commun : s'appuie sur le graphique de rendu de Bevy

● Rendu 3D
Un système de rendu 3D moderne et flexible
• Caractéristiques : lumières, caméras, maillages, textures, matériaux, chargement gltf
• Extensible : ombres personnalisées, matériaux, et pipelines de rendu
• Coeur commun : construit sur le graphique de rendu de Bevy

● Graphique de rendu
Composer des pipelines de rendu personnalisés à l'aide d'une structure graphique
• Parallèle : Les graphiques de rendu sont automatiquement rendus en parallèle
• Modulaire : Construire une logique de rendu composable et réutilisable en utilisant les nœuds du Graphique de rendu
• Agnostique : non lié à une api graphique spécifique

● Multi-plateforme
Prise en charge de toutes les principales plateformes de bureau :
• Windows, MacOS, Linux
Et ce n'est pas fini :
• Android, iOS, Web

● Interface Utilisateur Bevy
Un environnement d'interface utilisateur sur mesure, piloté par l'ECS et conçu spécifiquement pour Bevy
• Construit directement sur les plugins ECS, Renderer et Scene de Bevy
• Composer les interfaces utilisateur dynamiquement en code ou de manière déclarative en utilisant le format Bevy Scene
• Utilisez un modèle de "boîte flexible" familier pour la présentation de vos documents d'information

● Scènes
Créer, sauvegarder et charger des mondes ECS en utilisant le système Scene de Bevy
• Chargement : Le chargement des scènes préserve les identifiants des entités (utile pour la sauvegarde des jeux)
• Installer : L'installation crée des doublons de scènes liés avec de nouveaux identifiants d'entités
• Rechargement à chaud : Les modifications apportées aux fichiers de scènes sont automatiquement appliquées aux applications en cours d'exécution

● Son
Charger des fichiers audio et les lire à la demande
• Charger des fichiers audio mp3 en tant que données
• Lire des fichiers audio en utilisant la ressource AudioOutput

● Rechargement à chaud
Obtenez un retour d'information instantané sur vos modifications sans avoir à redémarrer ou recompiler l'application
• Les changements de données sont immédiatement répercutés dans l'exécution des applications Bevy
• Vous pouvez actuellement recharger à chaud des scènes, des textures et des maillages
• Tout type de données peut être intégré

● Des Temps de Compilation Productifs
Le développement de jeux est un processus itératif. Vous ne pouvez pas vous permettre d'attendre les compilations
• Avec Bevy, vous pouvez vous attendre à 0,8-3,0 secondes avec la configuration "fast compiles".
• Comparez cela aux autres moteurs de jeu populaires de Rust, qui peuvent prendre plus de 30 secondes pour compiler une seule insertion de nouvelle ligne !

● Libre et Open Source
Un moteur fait par et pour la communauté des développeurs
• 100% libre. Pour toujours et à jamais
• Open Source sous la licence permissive du MIT
• Pas de contrats
• Pas de frais de licence
• Pas de réduction des ventes