4.3: BSP is ... not a BSP?
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Documentación
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- rust
- Área
- documentation
Línea de trabajo
Empieza volviendo a leer la sección 4.3 del tutorial y, después, compara su algoritmo con la descripción de RogueBasin y la implementación enlazada bsp_dungeon.rs. Se considera terminado cuando el tutorial explica si su enfoque es BSP y señala claramente sus diferencias en la subdivisión y la generación de corredores.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
(Still) having an awesome time following along the tutorial, thank you so much for writing it!
Section 4.3 got me confused. For context: I've heard of BSP before, but never implemented one / looked at it very closely.
The first thing that confused me was that the "B" in BSP stands for "binary", but the algorithm in the tutorial seems to subdivide each region into 4 parts, so this would be more like ... quaternary? Given that confusion, I did some quick searching and read http://www.roguebasin.com/index.php?title=Basic_BSP_Dungeon_generation. Based on that, there seem to be (at least) two major differences between the algorithm in 4.3 and BSP as described on roguebasin:
- Dividing each region into 2 vs 4 subregions
- The roguebasin description uses the tree of regions to generate corridors: it connects sister regions. The algorithm in the tutorial "just" directly connects rooms in an almost-arbitrary order. One notable difference is that the roguebasin approach allows connections between corridors, not just rooms (effectively creating junctions in corridors), providing a slightly more organic feel.
I'm pretty new to procedural generation, so first, a question: do I just have a too-narrow idea of what BSP is? If not, it may be good to note how exactly the algorithm given deviates from "canonical" BSP. And second: I've directly implemented the roguebasin flavor of BSP at https://github.com/abesto/rktrl/blob/f923a14d1f00216f807768c43c402fa5e11d91b4/src/mapgen/bsp_dungeon.rs within the framework set up by the previous chapters. If useful, feel free to use / share.

- Lenguaje dominante
- Rust
- Estrellas
- 968
- Forks
- 166
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Aún no hemos revisado los archivos de configuración de este proyecto. Empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de amethyst/rustrogueliketutorial
-
Wrong typing in chapter 57aAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
-
[RESOLVED] Wayland IssueAbierto
Dificultad 1/5 1-3 horas Aptitud para principiantes 45/100
Todos los issues de amethyst/rustrogueliketutorial
Issues similares
-
area:casework bug criticality:p3 triage:needs-implementation
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
registrystack/registry-stack#1623 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
leptos-rs/leptos#4885 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
longbridge/gpui-kit#3276 ·
Los mantenedores suelen responder en 1 día
-
A-Migration Guides D-Straightforward S-Ready-For-Implementation X-Uncontroversial
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
bevyengine/bevy-website#2607 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día