Skip to content

Latest commit

ย 

History

History
74 lines (57 loc) ยท 1.9 KB

File metadata and controls

74 lines (57 loc) ยท 1.9 KB

๐ŸŽฎ 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

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 MIT, ยฉ Omni LLC. See LICENSE.md for more information.