bevy README

The project's README from github.com/bevyengine/bevy. As one markdown file: README.md.

Bevy

License Crates.io Downloads Docs Discord

What is Bevy?

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

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

About

Docs

Community

Before contributing or participating in discussions with the community, you should familiarize yourself with our Code of Conduct.

Contributing

If you'd like to help build Bevy, check out the Contributor's Guide. For simple problems, feel free to open an issue or PR and tackle it yourself!

For more complex architecture decisions and experimental mad science, please open a GitHub Discussion so we can brainstorm together effectively!

Getting Started

We recommend checking out the Quick Start Guide for a brief introduction.

Follow the Setup guide to ensure your development environment is set up correctly. Once set up, you can quickly try out the examples by cloning this repo and running the following commands:

# Switch to the correct version (latest release, default is main development branch)
git checkout latest
# Runs the "breakout" example
cargo run --example breakout

To draw a window with standard functionality enabled, use:

use bevy::prelude::*;

fn main() {
    App::new()
        .add_plugins(DefaultPlugins)
        .run();
}

Fast Compiles

Bevy can be built just fine using default configuration on stable Rust. However for really fast iterative compiles, you should enable the "fast compiles" setup by following the instructions here.

Bevy Cargo Features

This list outlines the different cargo features supported by Bevy. These allow you to customize the Bevy feature set for your use-case.

Thanks

Bevy is the result of the hard work of many people. A huge thanks to all Bevy contributors, the many open source projects that have come before us, the Rust gamedev ecosystem, and the many libraries we build on.

A huge thanks to Bevy's generous sponsors. Bevy will always be free and open source, but it isn't free to make. Please consider sponsoring our work if you like what we're building.

This project is tested with BrowserStack.

License

Bevy is free, open source and permissively licensed! Except where noted (below and/or in individual files), all code in this repository is dual-licensed under either:

at your option. This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem and there are very good reasons to include both.

Some of the engine's code carries additional copyright notices and license terms due to their external origins. These are generally BSD-like, but exact details vary by crate: If the README of a crate contains a 'License' header (or similar), the additional copyright notices and license terms applicable to that crate will be listed. The above licensing requirement still applies to contributions to those crates, and sections of those crates will carry those license terms. The license field of each crate will also reflect this.

The assets included in this repository (for our examples) typically fall under different open licenses. These will not be included in your game (unless copied in by you), and they are not distributed in the published bevy crates. See CREDITS.md for the details of the licenses of those files.

Your contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

bevy (bevyengine/bevy)

Searching Database…

49.1K ·GitHub
这是什么?Bevy 是一款免费、开源、数据驱动的游戏引擎,使用 Rust 编写,采用实体组件系统(ECS)架构,同时支持 2D 和 3D 游戏开发。
Bevy 是完整的游戏引擎,还是只是一个渲染库?它是一款完整的游戏引擎,目标是提供完整的 2D 和 3D 功能,核心是面向数据的实体组件系统,而不只是一个渲染器。
我该如何开始使用 Bevy?按照官方的快速入门指南和安装指南配置好环境,然后克隆仓库,用 Cargo 运行自带的示例,比如打开一个基础窗口。
我需要特定的 Rust 版本吗?需要。由于 Bevy 很大程度上依赖最新的语言和编译器改进,其最低支持 Rust 版本(MSRV)会紧跟最新的稳定版 Rust。
Bevy 现在稳定到可以用来开发一款完整的游戏吗?并不完全稳定。Bevy 仍处于早期开发阶段,一些重要功能尚未实现,文档也不够完善,并且大约每 3 个月就会发布一次带有破坏性 API 变更的版本。项目会提供迁移指南,但不保证升级一定容易。
Bevy 游戏能在浏览器中运行吗?可以。Bevy 可以编译为 WebAssembly 用于网页,同时也支持原生的 Windows、macOS 和 Linux 版本,并且项目使用 BrowserStack 进行跨平台测试。
Bevy 的 ECS 架构是什么,为什么重要?Bevy 不采用面向对象的继承方式,而是围绕实体(Entities)、组件(Components)和系统(Systems)来组织游戏。应用逻辑以数据为导向,使彼此独立的系统可以并行运行,从而获得更好的性能。
Bevy 开箱即用就支持 2D 和 3D 游戏吗?支持。提供完整的 2D 和 3D 功能是 Bevy 的核心设计目标之一。
开发时能否加快 Bevy 的编译速度?可以。Bevy 提供一个可选的 'fast compiles' 配置,你可以在默认的稳定版 Rust 构建基础上启用它,以加快反复编译的速度。
在哪里可以找到社区插件和学习资源?Bevy Assets 收集了社区插件、工具和教程。此外,还有官方 Discord、Reddit 版块和 GitHub Discussions 可以获取支持。
What are similar projects?bgfx, benilla, egui, raylib, aframe, libgdx, GDevelop, ebiten
Creator
bevyengine
Size
175.4 MB
Stars
49.1K
Age
6y
Commits · 90 Days