
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- Repository
- thedivergentai/Game-Dev-Agentic-Skills917
- 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
Updateor 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
- bevy-character-movement - Locomotion.
- bevy-camera-systems - Follow camera.
- bevy-tilemap - Ground tiles.
- bevy-2d-animation - Sprite clips.
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;
}
}
