#show #bevy #up #change #game #couldn-t #thought

bvy

Just when you thought Bevy couldn't get more ergonomic, Bvy shows up to change the game

1 unstable release

0.7.0 Jun 4, 2022

#7 in #thought

MIT/Apache

7KB

Just when you thought Bevy couldn't get more ergonomic, Bvy shows up to change the game. Is this a joke? You decide. Does it work? You can bet your Ass(etServer) it does. Bvy shortens core Bevy ECS and some engine type names to a ... lets just say opinionated ... degree. This is implemented with type aliases, which means this is 100% compatible with bevy types and plugins. The author of this crate does not actually endorse using this crate over the actual bevy crate. Sometimes we just build things because we can.

use bvy::*;

fn main() {
    App::new()
        .add_system(movement)
        .run();
}

fn setup(mut com: Com, ass: Ass) {
    com.spawn_bundle(OrthographicCamera::new_2d())
    com.spawn_bundle(SpriteBundle {
        texture: ass.load("player.png"),
        ..default()
    })
}

fn movement(time: R<Time>, mut transforms: Q<&mut Transform>) {
    for mut t in transforms.iter_mut() {
        t.translation.x += time.delta_seconds() * 10.0;
    }
}

Changes

  • bevy::prelude::* -> bvy::*
  • Query<&Transform> -> Q<&Transform>`
  • Res<Time> -> R<Time>
  • ResMut<Assets<Mesh>> -> Rm<Assets<Mesh>>
  • Commands -> Com
  • AssetServer -> Ass
  • Query<&Transform, With<Player>> -> Q<&Transform, W<Player>>
  • Query<&Transform, Without<Player>> -> Q<&Transform, Wo<Player>>
  • ParamSet<(Query<(&mut Transform, &Player)>, Query<&mut Transform>)> -> Ps<(Q<(&mut Transform, &Player)>, Q<&mut Transform>)>
  • EventWriter<AppExit> -> Ew<AppExit>
  • EventReader<AppExit> -> Er<AppExit>

Dependencies

~16–26MB
~476K SLoC