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 "ManiaModAccelerate" #21696

Open
wants to merge 33 commits into
base: master
Choose a base branch
from
Open

Add "ManiaModAccelerate" #21696

wants to merge 33 commits into from

Conversation

cdwcgt
Copy link
Contributor

@cdwcgt cdwcgt commented Dec 18, 2022

This is a mania mod, scroll speed will change with current combo.
If you miss, scroll speed will reduce to minspeed which can set in mod settings

- [ ] Might need a better icon, I don't think this one is good enough, but I'm out of ideas no icon for now

  • The function may not be perfect, suggestions are welcome, or we may have more than one function

Now combo and scroll speed are positively correlated

2022-12-18_23-58-08.mp4

@mk56-spn
Copy link
Contributor

DK about the name, since upscroll (direction) is a thing and its the first thing this mod made me think its about

@cdwcgt
Copy link
Contributor Author

cdwcgt commented Dec 18, 2022

DK about the name, since upscroll (direction) is a thing and its the first thing this mod made me think its about

I originally thought about speedup, but this might conflict with windup
So I chose this name (from my friend, I'm not good at naming names), but if there is a better name, I will use it

Comment on lines 67 to 78
public BindableDouble ScoreSpeed = new BindableDouble();

private double scoreSpeed
{
get
{
if (ScoreSpeed.Disabled)
return configTimeRange.Value;

return ScoreSpeed.Value;
}
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

no clue why this is called "score speed" when it's a time range. also no xmldoc.

alternative implementations that would not require this member would be looked upon much more favourably

{
public class ManiaModScrollUp : Mod, IApplicableToDrawableRuleset<ManiaHitObject>, IApplicableToScoreProcessor, IApplicableToPlayer
{
public override string Name => "Scroll up";
Copy link
Collaborator

Choose a reason for hiding this comment

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

name needs to change as it is confusing. "Accelerate" maybe

public override string Acronym => "SU";
public override LocalisableString Description => @"Key will become faster..., until you miss";
public override double ScoreMultiplier => 1;
public override IconUsage? Icon => FontAwesome.Solid.AngleDoubleUp;
Copy link
Collaborator

Choose a reason for hiding this comment

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

remove icon for now. can't find it now but it was decided in one of these that new mods should not be choosing their own icons


double speed = MinScoreSpeed.Value - (MinScoreSpeed.Value - MaxScoreSpeed.Value) * Math.Log(s.NewValue + 1, MaxComboCount.Value + 1);

scoreProcessor.TransformBindableTo(scrollTime, speed, 500, Easing.OutQuint);
Copy link
Collaborator

Choose a reason for hiding this comment

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

inefficient, this is going to likely cause tens to hundreds of transforms to be running at any given time. i'm also not even sure that this is going to work correctly with multiple overlapping notes

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I refer to this

scoreProcessor.TransformBindableTo(metronomeVolumeAdjust, dimFactor, 500, Easing.OutQuint);

Because this value needs use transform instead of set directly, otherwise it will cause weird visual effects, and I didn't find a better solution either.
If there is a better way please let me know

Copy link
Collaborator

@bdach bdach Dec 18, 2022

Choose a reason for hiding this comment

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

see mods that implement IUpdatableByPlayfield, i.e. magnetised

Comment on lines 60 to 68
MinScoreSpeed.BindValueChanged(s =>
{
MaxScoreSpeed.MaxValue = s.NewValue;
});

MaxScoreSpeed.BindValueChanged(s =>
{
MinScoreSpeed.MinValue = s.NewValue;
});
Copy link
Collaborator

Choose a reason for hiding this comment

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

so touching either value sets the other to the same value too? very weird. compare ModWind{Up,Down} for how this should actually be done

@Flamiii
Copy link

Flamiii commented Dec 18, 2022

"Accelerate" maybe?

@Kori3
Copy link

Kori3 commented Dec 20, 2022

I feel like this mod fits the "Fun" category better than the conversion one

@cdwcgt cdwcgt changed the title Add "ManiaModScrollUp" Add "ManiaModAccelerate" Dec 20, 2022
@peppy peppy marked this pull request as draft June 16, 2023 06:08
cdwcgt and others added 5 commits July 23, 2023 00:12
ScrollSpeed has been used and will cause mislead
It should be within the acceptable range of normal players.

Co-Authored-By: Hidden is fun <[email protected]>
if combo is lower then BaseComboCount, speed will not change.
score => scroll
@cdwcgt cdwcgt marked this pull request as ready for review July 22, 2023 16:42
@cdwcgt cdwcgt requested a review from bdach September 9, 2023 16:32
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.

5 participants