Is your feature request related to a problem? Please describe.
Currently the parkour generation has no regard to previous pieces, and quite often ends up blocking or cutting off a previous or future part of the parkour.
Describe the solution you'd like
I would like the parkour to not obstruct itself in any way.
One way of doing this is give each step an area above it, indicating where it should not have another step be placed, then in generation, if a step would obstruct any already placed step's 'no-obstruct blocks,' try and pick another step. If no steps are possible, repick the previous step.
This solution would be computationally expensive, especially as step/block count goes up, and would require a lot of structural changes and time to produce.
Describe alternatives you've considered
Some alternatives are:
- If the initial direction is considerd forwards, only allow a left or right turn if it doesn't go backwards. This would almost guarantee that the parkour doesn't obstruct itself, the only case I can think of being very tight turns (two lefts or rights in a row), almost-hard-guarantee.
- Only allow a left or right turn after a sufficient number of straight turns have been done, soft guarantee.
- Disable turning altogether, hard guarantee.
Is your feature request related to a problem? Please describe.
Currently the parkour generation has no regard to previous pieces, and quite often ends up blocking or cutting off a previous or future part of the parkour.
Describe the solution you'd like
I would like the parkour to not obstruct itself in any way.
One way of doing this is give each step an area above it, indicating where it should not have another step be placed, then in generation, if a step would obstruct any already placed step's 'no-obstruct blocks,' try and pick another step. If no steps are possible, repick the previous step.
This solution would be computationally expensive, especially as step/block count goes up, and would require a lot of structural changes and time to produce.
Describe alternatives you've considered
Some alternatives are: