Skills

Bevy Genre Platformer

Route a Bevy 0.20 platformer: coyote time and jump buffer on Mover, gravity on...

Install

npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill bevy-genre-platformer -g -a claude-code -y
Category
Engineering
Updated
19d ago
License
LGPL-3.0
Context cost
Mediumabout 2,389 tokens
Runs scripts
No, instructions only

What it does

Route a Bevy 0.20 platformer: coyote time and jump buffer on Mover, gravity on FixedUpdate, one-way ledges, follow camera. Keywords: Bevy, platformer, coyote, Mover, FixedUpdate, Camera2d, ECS.

Bevy Platformer (thin router)

Genre router. Domain work lives in the Bevy skills below.

When to use

Load this to route a platformer to movement, camera, and tiles.

ECS shape

  • Components hold the genre's per-entity flags as plain data. This file does not name new engine types.
  • Resources hold run-wide counters (score, wave index, seed) via bevy-data-resources.
  • Systems read those components on Update or the fixed timestep from bevy-master. Order them with .chain() when a later system must see the result.
  • Schedule: gameplay mode changes go through bevy-state-machines. Do not invent a genre plugin.

Routing

Examples

[dependencies]
bevy = "0.20"

Coyote time and the jump buffer live on the mover. Gravity and the jump write velocity in one system so they cannot race.

#[derive(Component)]
struct Mover {
    velocity: Vec2,
    grounded: bool,
    coyote: f32,
    jump_buffer: f32,
}

fn arm_jump(keys: Res<ButtonInput<KeyCode>>, mut movers: Query<&mut Mover>) {
    if !keys.just_pressed(KeyCode::Space) {
        return;
    }
    for mut mover in &mut movers {
        mover.jump_buffer = 0.15;
    }
}
Read the whole SKILL.md on GitHub

More in Engineering