Bevy is a game engine that uses Rust for both it's internal implemenation and user-facing programming language. One of the biggest selling points is its ease of use and ergonomics. It encodes the game world as entities. These entities can have components, which are just normal Rust types: structs, enums, etc. Game logic is encoded as systems which query for a specific set of components to apply the game logic to. For example, a simple "game" that just moves all entities upward may look like this:
#[derive(Component)]
pub struct Position(Vec3);
fn move_up_system(
// The Query for all Position components as a *mutable* reference.
mut positions: Query<&mut Position>,