Chapter-26 BSP Interiors: Entities spawning in walls
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 35/100
Research direction
Start with the Chapter 26 BSP Interiors implementation and the build_random_map function, then reproduce the map-generation case described in the report. Inspect how each room’s southern and eastern walls are calculated before entity placement. Done means items and foes never spawn on wall tiles while remaining able to spawn on valid traversable tiles.
Written by the indexing model from the issue text.
Description
I was testing what I had of the BSP Interiors chapter (up to right before resetting the build_random_map function to build a random map with all three builders), and I found several entities (items and foes) sometimes spawning in the walls. I double checked my potential errors with a recent clone of the repo and compiling the code for this chapter, I found that the same thing was happening: items and foes in walls.
After some investigation, I believe it may be something about the southern and eastern walls of each new room not being calculated correctly and the spawner thinking that they are valid places to place entities, as it seems that the walls they are spawning in are the southern and eastern ones of the rooms they are supposed to spawn in.
These items are unobtainable as the tiles with walls are still counted as walls and not traverse-able. However foes that spawn in walls are still able to move out of walls if their pathing takes them to a tile that is a traverse-able tile.
Here is an example of what I find, with the cloned-repo code.

Another example:

- Dominant language
- Rust
- Stars
- 968
- Forks
- 166
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from amethyst/rustrogueliketutorial
-
Difficulty 1/5 Under an hour Newbie friendliness 68/100
-
Difficulty 1/5 Under an hour Newbie friendliness 68/100
-
Difficulty 1/5 Under an hour Newbie friendliness 68/100
-
Difficulty 1/5 Under an hour Newbie friendliness 68/100
-
Difficulty 1/5 1-3 hours Newbie friendliness 45/100
All issues in amethyst/rustrogueliketutorial
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
ontola/atomic-server#1625 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
VirusTotal/yara-x#777 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
stratum-mining/stratum#2404 ·
-
bug ci good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 88/100