Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make badguys' pattern not random-based (WIP) #1541

Merged
merged 4 commits into from Oct 10, 2020

Conversation

Semphriss
Copy link
Member

@Semphriss Semphriss commented Oct 8, 2020

(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:

  • Make the pilot/flying snowball follow a simple, clearly-defined movement. It could be a simple sine wave movement, or something a bit more complex like this : https://www.desmos.com/calculator/aw4dpgqntf (if link dies, the formula is sin(x)^3 + sin(3 * (x - pi/3))/3)
  • Investigate and remove randomness from the skullyhops, I've been told they have random movements too.

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.

…r commit in another PR for a more predictable and easily understandable (and therefore less random-looking) pattern.
@weluvgoatz
Copy link
Member

Very nice indeed!
The name "pilot" is cringe, blech :P

@Semphriss Semphriss marked this pull request as ready for review October 8, 2020 23:19
@Semphriss
Copy link
Member Author

To-do complete!

The pull request is ready for review!

predictable_flying_snowballs

src/badguy/flyingsnowball.cpp Outdated Show resolved Hide resolved
src/badguy/flyingsnowball.cpp Outdated Show resolved Hide resolved
@serano01
Copy link
Member

Very well, I've tested it and will now merge it. Thanks!

@serano01 serano01 merged commit 069f8e2 into master Oct 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Make Flying Snowball's flight pattern not random
4 participants