
Bevy Genre Open World
Route a Bevy 0.20 open world.
Install
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill bevy-genre-open-world -g -a claude-code -y- Repository
- thedivergentai/Game-Dev-Agentic-Skills917
- Category
- Writing
- Updated
- 19d ago
- License
- LGPL-3.0
- Context cost
- Mediumabout 2,121 tokens
- Runs scripts
- No, instructions only
What it does
Route a Bevy 0.20 open world. Use when region membership is a component, the player cell is one resource, and activation runs after the cell write in one chain. Keywords: Bevy, Open world, Resident, PlayerCell, Active, chain, genre.
Bevy Open world (thin router)
Genre router. Domain work lives in the Bevy skills below.
When to use
Load this for streaming regions and distant actors. Do not invent a world-partition type.
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-asset-scenes - Region scenes.
- bevy-3d-world-building - Assembly.
- bevy-ai-navigation - Ambient actors.
- bevy-quest-system - Objectives.
Scope
Region membership and activation distance are components you own. Mesh LOD stays on bevy-3d-world-building.
Examples
[package]
name = "open-world"
version = "0.1.0"
edition = "2021"
[dependencies]
bevy = "0.20"
A cell index on the player resource decides which residents are active. One system writes PlayerCell; the next inserts or removes Active.
#[derive(Component)]
struct Player;
#[derive(Component)]
struct Resident {
cell: i32,
}
#[derive(Component)]
struct Active;
#[derive(Resource)]
struct PlayerCell(i32);
