Libro técnico · Rust · Bevy 0.19

Patrones en juegos 2D y ECS con Bevy 0.19

De cero a experto. Arquitectura, gameplay y oficio para construir juegos 2D modernos con Rust.

  • 49 capítulos
  • 5 anexos
  • Proyecto final
  • WASM
Empezar a leer Versión 2.0 · Edición julio 2026 · Revisión técnica completa
Diorama isométrico de un mundo 2D conectado por nodos que representan un sistema ECS
Arte de portada generado con GPT · composición y tipografía en HTML
Índice completo

Seis partes para pasar de los fundamentos de ECS a publicar un juego completo. Podés leerlo en orden o entrar directamente por el problema que estás resolviendo.

Parte I — Fundamentos

  1. Prólogo y cómo leer este libro
  2. Capítulo 1. Historia de los patrones en juegos 2D: de Pac-Man a Stardew
  3. Capítulo 2. Rust para Bevy en 30 minutos (lo justo para no morir)
  4. Capítulo 3. Anatomía de un juego 2D moderno: el loop, las entidades, el tiempo

Parte II — ECS con Bevy: el corazón del libro

  1. Capítulo 4. Entities, Components y Systems: el trío sagrado
  2. Capítulo 5. Queries y Resources: pidiendo lo que necesitas
  3. Capítulo 6. Eventos: la forma clásica de comunicar sistemas
  4. Capítulo 7. Schedules y System sets: ordenando el caos
  5. Capítulo 8. Required Components: componentes que se traen amigos
  6. Capítulo 9. Component Hooks: mantener invariantes sin esfuerzo
  7. Capítulo 9B. Herencia y grafos en ECS: cómo modelar variantes sin volverse loco
  8. Capítulo 9C. La caja de herramientas 2D de Bevy NUEVO
  9. Capítulo 10. Observers y Entity Events: reacciones push al estilo flecs
  10. Capítulo 11. Bubbling, run conditions y entity relations: observers avanzados
  11. Capítulo 12. bsn! y escenas declarativas: definir mundos en una macro
  12. Capítulo 13. Resources: cuándo Resource vs Component vs Asset

Parte III — Arquitectura y patrones de proyecto

  1. Capítulo 14A. Anatomía de un Plugin en Bevy: el bloque LEGO oficial
  2. Capítulo 14B. Organización del código: la anatomía de un proyecto Bevy 2D
  3. Capítulo 14C. Catálogo de arquitecturas ECS por género 2D
  4. Capítulo 14D. States: el metrónomo global de tu juego

Parte IV — Renderizado 2D, física y audio

  1. Capítulo 14. Renderizado 2D: sprites, atlas, capas y cámara
  2. Capítulo 14E. Shaders WGSL para 2D: cuando el sprite no te basta
  3. Capítulo 14F. Post-processing 2D: cómo hacer que tu juego se vea cinematográfico
  4. Capítulo 14G. Testing de un juego Bevy: de lo unitario al snapshot
  5. Capítulo 15. Tilemaps con bevy_ecs_tilemap: el mundo como matriz
  6. Capítulo 16. Iluminación 2D y post-procesado
  7. Capítulo 17. Física 2D: AABB, SAT, sensores y plataformas (Avian/Rapier)
  8. Capítulo 18. Audio espacial y música adaptativa

Parte V — Gameplay y UX

  1. Capítulo 19. Input multiplataforma con leafwing-input-manager
  2. Capítulo 20. Máquinas de estado finitas: del fantasma de Pac-Man al boss final
  3. Capítulo 21. Behavior trees y utility AI
  4. Capítulo 21C. PCG: generación procedural de contenido
  5. Capítulo 22. Pathfinding A* y navegación
  6. Capítulo 22B. Animación 2D profesional: sprites, esqueletos y partículas
  7. Capítulo 23. UI con bevy_ui v2: HUDs, menús, navegación con gamepad
  8. Capítulo 24. Persistencia, guardado y serialización
  9. Capítulo 25. Networking ligero con bevy_replicon
  10. Capítulo 25B. Determinismo, rollback y predicción: cuando la red no perdona

Parte VI — Optimización y proyecto final

  1. Capítulo 26. Optimización: batching, LOD, culling, asset streaming
  2. Capítulo 26B. Dev tooling moderno: inspector, BRP, Tracy
  3. Capítulo 27. Patrones avanzados: sistemas como plugins, hot-reload
  4. Capítulo 27B. Modding y datos externos: RON, TOML y datos editables
  5. Capítulo 28. Proyecto final: un Mini Metroidvania paso a paso
  6. Capítulo 28B. De prototipo a release: lo que ningún tutorial te cuenta

Anexos

  1. Anexo A. Glosario maestro
  2. Anexo B. Tabla de compatibilidades Bevy 0.13 → 0.19
  3. Anexo C. Recursos y enlaces
  4. Anexo D. Mapa de plugins del ecosistema Bevy 2D
  5. Anexo E. Publicar tu juego Bevy en la web (WebAssembly)