An open API service indexing awesome lists of open source software.

https://github.com/omnidotdev/template-bevy

🎮 Bevy template
https://github.com/omnidotdev/template-bevy

bevy foss game mit open-source rust template

Last synced: 2 months ago
JSON representation

🎮 Bevy template

Awesome Lists containing this project

README

          

# 🎮 Bevy Template

Game or interactive application built with the Bevy engine.

## Stack

- 🎮 **Engine**: Bevy 0.15+
- 🧩 **ECS**: Entity Component System (Bevy's core paradigm)
- 📦 **Assets**: bevy_asset_loader for state-based loading

## Features

- 🎮 **Game state management**: Loading, Menu, InGame, Paused
- 📦 **Asset loading**: Progress tracking with bevy_asset_loader
- ⌨️ **Input handling**: Abstracted input system
- 📷 **2D camera setup**: Swap for 3D as needed
- 🔒 **Strict Clippy lints**: Pedantic linting enabled
- ⚡ **Optimized builds**: LTO for release builds
- 🚀 **Fast dev compiles**: Dynamic linking + LLD

## Structure

```
src/
main.rs # Entry, app builder
states.rs # Game states
plugins/
mod.rs
loading.rs # Asset loading plugin
menu.rs # Menu plugin
game.rs # Core game plugin
components/ # ECS components
systems/ # ECS systems
resources/ # ECS resources
assets/
sprites/
audio/
fonts/
Cargo.toml
```

## Dependencies

- bevy (default features for quick start)
- bevy_asset_loader
- rand (if needed)

## Architecture

```
States: Loading → Menu → InGame ↔ Paused
↑ │
└────────┘ (back to menu)
```

## Commands

```sh
cargo run # Dev build
cargo run --features dev # Dev with dynamic linking (fast recompiles)
cargo build --release # Release build
cargo test # Tests
```

## Performance Tips

- Use `--features dev` during development for faster iteration
- The `.cargo/config.toml` enables LLD linker for faster linking
- Release builds use LTO for maximum optimization
- Consider `bevy_embedded_assets` for distribution

## License

The code in this repository is licensed under Apache 2.0, © [Omni LLC](https://omni.dev). See [LICENSE.md](LICENSE.md) for more information.