Draft:Bevy (game engine)
{{AFC submission|d|nn|u=Wilk10|ns=118|decliner=Rambley|declinets=20250617203247|ts=20250617203051}}
{{AFC submission|d|web|u=Jmlol|ns=118|decliner=Tavantius|declinets=20241001162413|small=yes|ts=20241001154622}}
{{AFC submission|d|nn|u=Pkupper|ns=118|decliner=Greenman|declinets=20230713110720|small=yes|ts=20230712180340}}
{{AFC comment|1=GitHub links are not reliable sources. Rambley (talk) 20:32, 17 June 2025 (UTC)}}
{{AFC comment|1=Two sources are from the game engine itself, while the other one is from a graphics library. Please find scholary sources or reliable news coverage prior to resubmitting. Tavantius (talk) 16:24, 1 October 2024 (UTC)}}
----
{{Short description|Cross-platform, open-source game engine}}
{{Draft topics|internet-culture|software|video-games|technology}}
{{AfC topic|stem}}
{{Infobox software
| name = Bevy Engine
| logo =
| author = Carter Anderson
| released = {{Start date and age|2020|08|10|df=yes}}
| latest_release_version = v0.16.0
| latest_release_date = {{Start date and age|2025|04|24|df=yes}}
| programming_language = Rust
| platform = Android, iOS, Linux, macOS, Windows
| genre = Game engine
| license = MIT and Apache 2.0 (dual-licensed)
| website = {{official URL}}
}}
Bevy is a cross-platform, free and open-source game engine written in the Rust programming language. It was initially developed by Carter Anderson before the public release of Bevy 0.1 in August 2020, when contributions were opened up to the public. The engine features a data driven design based around an Entity component system, a 2D and 3D renderer and support for desktop and mobile platforms. The engine's source code is available on GitHub under the MIT and Apache 2.0 license.{{Cite web |title=Introducing Bevy 0.1 |url=https://bevy.org//news/introducing-bevy/ |access-date=2025-06-18 |website=bevy.org |language=en}}
Features
= Entity Component System =
The foundation of the Bevy Engine is its Entity component system. Objects in the game world are represented as entities, which are collections of components. In Bevy, any Rust data type that implements the Component
trait can be used as a component. Systems operate on those entities and components to define the behavior of the game.{{Cite web |date=2025-04-09 |title=Bevy Entity Component System on ESP32 with Rust no_std |url=https://developer.espressif.com/blog/2025/04/bevy-ecs-on-esp32-with-rust-no-std/ |access-date=2025-06-17 |website=Developer Portal |language=en}} In Bevy, systems are normal Rust functions where all arguments implement the SystemParam
trait.{{Cite web |date=2025-01-16 |title=Bevy Systems |url=https://taintedcoders.com/bevy/systems |access-date=2025-06-17 |website=Tainted Coders |language=en}}
Bevy also includes resources which contain global state that is independent from any entity.{{Cite web |title=Resources - Unofficial Bevy Cheat Book |url=https://bevy-cheatbook.github.io/programming/res.html |access-date=2025-06-17 |website=bevy-cheatbook.github.io}}
Larger data structures such as images or 3D models are stored as assets.{{Cite web |date=2025-06-01 |title=Bevy Assets |url=https://taintedcoders.com/bevy/assets |access-date=2025-06-17 |website=Tainted Coders |language=en}}
= Rendering =
Bevy uses wgpu as its graphics backend which enables support for the Vulkan, Metal, DirectX, OpenGL ES, WebGL and WebGPU graphics APIs.{{cite web |url=https://wgpu.rs/ |title=wgpu: portable graphics library for Rust |website=wgpu |access-date=2023-07-12 |df=dmy }}{{Cite web |title=An absolute beginners guide to WGPU |url=https://zdgeier.com/wgpuintro.html |access-date=2025-06-17 |website=zdgeier.com}}
Bevy includes support for several modern rendering features such as physically based rendering, normal mapping, parallax mapping, shadow mapping, image-based lighting, temporal anti-aliasing, screen space ambient occlusion, a high dynamic range pipeline with post processing effects such as bloom, image sharpening and fast approximate anti-aliasing. It also supports skeletal- and morph target animation.{{Cite web |last=Mike |date=2023-07-10 |title=Bevy 0.11 Released |url=https://gamefromscratch.com/bevy-0-11-released/ |access-date=2025-06-17 |website=GameFromScratch.com |language=en-US}}
The render graph can be extended through plugins with additional render passes, custom materials and shaders as well as post-processing effects.{{Cite web |last=Varshini |date=2025-02-27 |title=Bevy : Exploring The Frontier Of Game Development With Rust |url=https://kalilinuxtutorials.com/bevy/ |access-date=2025-06-17 |website=Kali Linux Tutorials |language=en-US}}
= Supported platforms =
Bevy can be compiled to run on all major desktop platforms Windows, macOS and Linux.
It also has support for the mobile operating systems iOS and Android.
When compiled to WebAssembly, Bevy can also run in the Browser using either the WebGL or WebGPU graphics API.{{Cite web |title=Bevy on Different Platforms - Unofficial Bevy Cheat Book |url=https://bevy-cheatbook.github.io/platforms.html |access-date=2025-06-17 |website=bevy-cheatbook.github.io}}
Community and Usage
As of June 2025, the most notable game made with Bevy is Tiny Glade, which was released on Steam on 23 September 2024.{{Cite web |last=Bhati |first=Anjali |date=2024-09-22 |title=Tiny Glade Release Date & Overview |url=https://driffle.com/blog/tiny-glade-release-date-overview/ |access-date=2025-06-18 |website=Driffle |language=en-US}} The game uses Bevy for its ECS, but has its own custom-made renderer.{{cite web |first=Theodore |last=McKenzie |url=https://80.lv/articles/exclusive-tiny-glade-developers-discuss-bevy-proceduralism-publishers-cozy-games |title=Tiny Glade Developers on Bevy, Proceduralism, Publishers & Cozy Games |website=80.lv |access-date=2025-06-06 |df=dmy }}
The engine is also used by the company Foresight Spatial Labs for building CAD applications for the mining industry.{{Cite web |title=Floating Point Hashing: Why you shouldn't do it, and why I did it one time anyway - RustWeek 2025 |url=https://rustweek.org/ |access-date=2025-06-18 |website=rustweek.org |language=en}}
The community curated newsletter This Week in Bevy{{cite web |first=Chris |last=Biscardi |url=https://thisweekinbevy.com/ |title=This Week in the Bevy Game Engine |access-date=2025-06-06 |df=dmy }} tracks the development of the engine, community-developed plugins and games.
Reception
The engine has been praised for its extensibility and the ease of use of its Entity component system. It has also been criticised for sparse documentation and lack of an editor.{{cite web |first=Trent |last=Billington |url=https://trent.kiwi/bevy-three-years |title=Three years of Bevy |access-date=2025-06-06 |df=dmy }}
References
{{reflist}}
External links
- [https://bevy.org/ Official Website]
- [https://github.com/bevyengine/bevy Bevy Engine on GitHub]
- [https://bevy.itch.io/bevy Bevy Engine on itch.io]