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

Add "Freeze Frame" mod #20345

Merged
merged 31 commits into from
Oct 25, 2022
Merged

Add "Freeze Frame" mod #20345

merged 31 commits into from
Oct 25, 2022

Conversation

mk56-spn
Copy link
Contributor

@mk56-spn mk56-spn commented Sep 16, 2022

As discussed in #19788, this new mod ( which ive called Freeze Frame since I think it fits its function very well, which is to sort of shot a snapshot of the playfield at the beginning of each control point ( or half, double, quadruple etc.. depending on the mod settings )) provides an interesting play experience where note order is now something you have to deduce from either memory, note numbers, pattern recognition, or any other form of "static" indicator.

With that in mind one may ask why I opted not to remove approach circles. the reason for that is simple. although they no longer denote the time left till the next note and as such aren't as reliable as they usually are they still give a vague indication of what comes first based on size, the speed at which the approach circle closes in, and help with perfectly stacked notes.

Notable mod combinations:

+HD : I expect this mod will mostly be played with Hidden as to reduce the amount of notes on screen and since, for those who dont want them, it offers the option to remove the approach circles, so overall a decent companion to this

+HDFL , having limited time to pass over the notes in whatever breaks the song may offer will allow the player to have a bit of time to see whats coming for the next beat length.

Code Quality related stuff

I ended up opting for an enum drop down because sliders do not allow specific values to be the only ones the user can select. which is crucial here to avoid unnecessary beat length combinations that are out of sync with the song.

a little fun test with FFTCAD :P :

2022-09-16.20-09-58.mov

@mk56-spn
Copy link
Contributor Author

Sorry about the less than compact commit history 😅

@frenzibyte frenzibyte changed the title Freeze frame implementation Add "Freeze Frame" mod Sep 16, 2022
@frenzibyte
Copy link
Member

frenzibyte commented Sep 16, 2022

Sorry about the less than compact commit history 😅

I would highly suggest rewriting commit history before submitting PR, or at the very least squashing all changes to one commit. PR's been opened up now so there's probably no need to do it.

@mk56-spn
Copy link
Contributor Author

Sorry about the less than compact commit history 😅

I would highly suggest rewriting commit history before submitting PR, or at the very least squashing all changes to one commit. PR's been opened up now so there's probably no need to do it.

Yep usually I'd squash but this branch is pretty old and I had pushed quite a few to remote and didn't want to mess anything up with rebases which I'm not too comfortable with. If it's too messy I'll close the PR and just make a clean branch

@ghost
Copy link

ghost commented Sep 17, 2022

Not sure where I should put this, but I found that reverse arrows are sometimes drawn on top of the hitcircle on kick sliders.

2022-09-17.14-30-38.mp4

@mk56-spn
Copy link
Contributor Author

Not sure where I should put this, but I found that reverse arrows are sometimes drawn on top of the hitcircle on kick sliders.

hmm, well the mod doesnt affect depth explicitly so i assume this has something to do with the draw order being down to which is drawn first.

for maintainers
should this be fixed at a higher level if this is indeed the case or should i try something hacky here?

Copy link
Contributor

@ggliv ggliv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

didn't really look in to the actual mod logic but here are some things I saw at a glance. weird mod, I like it.

@smoogipoo
Copy link
Contributor

smoogipoo commented Oct 13, 2022

If the video shown in #20345 (comment) is a representation of the variable approach rate in its current state, I did think that was weird at first. But I'm fine with it if it works better with it than without it.

Edit: It does play weird imo.

@mk56-spn
Copy link
Contributor Author

If the video shown in #20345 (comment) is a representation of the variable approach rate in its current state, I did think that was weird at first. But I'm fine with it if it works better with it than without it.

Edit: It does play weird imo.

I've spent about 20 hours playing it now and whilst it is somewhat weird it's still more helpful for learning the mod and playing it than no approach circle ( which players can access with hiddens approach circle only option) and there's no other way to avoid it because the mod is dilating the amount of space between a hitcircle begining and the time it's hit to align a bunch of starttimes so they suddenly appear. Variable AR is simply put a consequence of the concept of the mod

@peppy
Copy link
Member

peppy commented Oct 13, 2022

Just make the approach circles appear as per usual but only when you get close in time to the object? What's the worry? It will become too easy? I don't think that's a concern.

@mk56-spn
Copy link
Contributor Author

Just make the approach circles appear as per usual but only when you get close in time to the object? What's the worry? It will become too easy? I don't think that's a concern.

That will definitely make it far too easy I guarantee you. Like just NM but with a bit more visual cluster easy

@peppy
Copy link
Member

peppy commented Oct 13, 2022

Well all I can say at this point is I don't think it will get merged with the variable AR. It just feels off-putting in a mod that otherwise is amazing.

@mk56-spn
Copy link
Contributor Author

Well all I can say at this point is I don't think it will get merged with the variable AR. It just feels off-putting in a mod that otherwise is amazing.

Your call to make obviously. I personally think it detracts from the playing experience and waters down the mod and won't pretend I agree it's the way forward but if this is final then I guess it is what it is

@mk56-spn
Copy link
Contributor Author

2022-10-17.12-46-28.mov

@peppy is this more akin to how you imagined it being? the approach circles appear as they would "normally"

ive alread voiced my concerns aplenty so i just want a confirmation that this is indeed whats desired before i clean up the code and fix a few hacky things i did to make this "demo" of how it would look

@peppy
Copy link
Member

peppy commented Oct 18, 2022

Yes, that looks fine.

@Walavouchey
Copy link
Member

i sure hope more players can chime in with an opinion because to me the variable approach rate makes the mod way more fun, gives it more visual identity and makes it more refined as a concept.

@Doksha
Copy link

Doksha commented Oct 20, 2022

How difficult would it be to make the original implementation (everything frozen, with AR enough for you to see all notes in a block, with blocks being 1 measure in length, while the block rendering updates every half measure)
I might just take the time to do it myself as I am (personally) kinda disapointed with how this turned out relative to my initial idea.

@mk56-spn
Copy link
Contributor Author

mk56-spn commented Oct 20, 2022

How difficult would it be to make the original implementation (everything frozen, with AR enough for you to see all notes in a block, with blocks being 1 measure in length, while the block rendering updates every half measure) I might just take the time to do it myself as I am (personally) kinda disapointed with how this turned out relative to my initial idea.

again its not about the difficulty of coding it to freeze said objects, its about compromising to get the mod merged, the reason i havent done it is because it doesnt seem to be wanted.

@pull-request-size pull-request-size bot added size/L and removed size/M labels Oct 25, 2022
@peppy
Copy link
Member

peppy commented Oct 25, 2022

I've been hesitant to merge this one because I agree to an extent that the "soul" of this mod was lost a bit with the recent changes. I've pushed a potential path forward, which still has the approach circles fade in with the frozen frame, but also does not change this AR (instead making the approach circles start larger than they normally would).

Interested in thoughts on this path. I think I prefer it?

@mk56-spn
Copy link
Contributor Author

mk56-spn commented Oct 25, 2022

I've been hesitant to merge this one because I agree to an extent that the "soul" of this mod was lost a bit with the recent changes. I've pushed a potential path forward, which still has the approach circles fade in with the frozen frame, but also does not change this AR (instead making the approach circles start larger than they normally would).

Interested in thoughts on this path. I think I prefer it?

seems workable, blurry approach circles aside since those arent explicitly the fault of the change, im happy with this being the way it gets in, however i wonder if theres someway we can have approach different play well with the mod, since on a conceptual level they shouldnt be incompatible, i cant see a way to have the transforms not break eachother

@peppy
Copy link
Member

peppy commented Oct 25, 2022

The beatmap's approach rate should still be factored in, if that's what you mean?

@mk56-spn
Copy link
Contributor Author

mk56-spn commented Oct 25, 2022

The beatmap's approach rate should still be factored in, if that's what you mean?

not sure, what i mean is that since we have been clearing out all the scale transforms to apply new ones it means it cant work with approach different (such as still keeping the accelerate and deccelerate effects) , and i was wondering if there was some way to make those transforms "additive" to the ones being done here, minor concern for sure

@peppy
Copy link
Member

peppy commented Oct 25, 2022

Ah, sorry, I misread the "different" word as "rate" and was very confused as a result.

Yes, I think this could be modified to work with approach different, but probably fine to do that as a follow-up effort?

@mk56-spn
Copy link
Contributor Author

Ah, sorry, I misread the "different" word as "rate" and was very confused as a result.

Yes, I think this could be modified to work with approach different, but probably fine to do that as a follow-up effort?

Very much agree on leaving this for a follow up effort. Been quite the tricky mod already 😅

@peppy
Copy link
Member

peppy commented Oct 25, 2022

Let's get this in for testing in the next release. I think it's feeling pretty good.

@peppy peppy merged commit 521fbd2 into ppy:master Oct 25, 2022
@mk56-spn mk56-spn deleted the Freeze_frame_implementation branch October 25, 2022 16:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants