Make badguys' pattern not random-based (WIP) #1541
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
(Edit:) Resolves #959
A badguy that's fun to beat should have a well-defined, easy-to-understand pattern so that new players that aren't well used to the game dont get surprised by a sudden, unexpected change of movement from a badguy.
It also helps speedrunners by not throwing a whole run simply because mister pilot decided it'd hover at the worst height possible and stay there on the best run of the day.
Currently:
Pilots accelerate randomly. Each time you load a level, the pilot's pattern will be different.
At the moment, this PR makes it so that:
Pilot have a deterministic, but hard-to-predict pattern. That is, playing the same level and going at the same pace should result in similar encounters with the badguys. This solves the speedrunners' problems, but does not yet solve the predictability problem.
To-do:
sin(x)^3 + sin(3 * (x - pi/3))/3
)I opened this draft PR so that people could share their thoughts about what should be done and how. Above are my opinions, but I'd like to hear about other team members, level designers, speedrunners and players too.