Forums » StepMania Development » Proposed change to speed mods

I've always thought it would be much more simple if the user was able to just type it in. The idea you've brought up is similar to that. It would be cool because not only will it make changing speed mods easier, but when people are training to complete a certain song using the rate option, they don't have to go to a text file and do make a whole list of calculations to make sure their favourite speed mod equals rate. XD
Typing in the speed mod would violate the notion of only using mapped keys, and only be an option for keyboard players. This method will be usable by people playing on pad too.
Mmods and Cmods are going to adjust for the music rate, so the player won't have to worry about it when using an Mmod or Cmod.

Side note: The increment sizes are adjustable through a pair of option rows in ScreenOptionsAdvanced. In this screenshot, setting "Speed Increment" to 10 and "Speed Multiple" to 10 means that the speed mod will adjustable in increments of 10 or 100 (or 0.1 and 1 for Xmods).
< cybik> til Kyzentun fixes bugs for breakfast
--
< maxvg1> shakesoda: then why do i still play lol
<@shakesoda> because you're an ITG player. And thus, a masochist
--
<@shakesoda> Kyzentun: I think you might need to put down the meshes for a bit
Reply

Typing in the speed mod would violate the notion of only using mapped keys, and only be an option for keyboard players. This method will be usable by people playing on pad too.


Ah, I see what you mean.

Hope you don't mind me asking, but just out of interest, but how are you implementing this? Assuming these aren't just illustrations. Any specific scripts you made or..?

Last edited: 25 June 2014 10:38am

Reply
I did it through a script and a change to the engine to make the script easier to write and understand.
All three option rows added by this change are lua option rows. Making lua option rows will be fully documented by Docs/ThemerDocs/Examples/OptionRowHandllerLua.lua when this change is merged.
All three option row functions will be in "_fallback/Scripts/03 CustomSpeedMods.lua". "SpeedModIncSize" is the one that allows setting the size of the smaller increment. "SpeedModIncMultiple" is the one that allows setting the multiple of the small increment that is used as the large increment. "ArbitrarySpeedMods" is the one that implements the "Speed" line seen on the PlayerOptions screen. They all use the new "NotifyOfSelection" function I added to OptionRowHandlerLua to interactively change the text of the choices when necessary.

I'm just waiting to for someone who can build from source who is a good test of "is this confusing to players who don't expect it" before merging this change.

Basically, if you're looking for a way to do similarly interactive option rows in your theme, "NotifyOfSelection" will make your life easier, but it's still not a very pretty way of doing things, and you really don't want to try to do it without that feature. Having a "choice" on the row that is always underlined and does nothing when interacted with is a bit weird, and not good interface design, but it's unavoidable with the current option row system.
For Consensual, I went a completely different route and built my own option menu system entirely in lua and abandoned the normal options screen because it just couldn't do what I wanted. I don't regret writing everything from scratch, but that's not a good approach for most people.

PS: I don't make illustrations or mockups. I actually make real things that work.

Last edited: 26 June 2014 11:03pm

< cybik> til Kyzentun fixes bugs for breakfast
--
< maxvg1> shakesoda: then why do i still play lol
<@shakesoda> because you're an ITG player. And thus, a masochist
--
<@shakesoda> Kyzentun: I think you might need to put down the meshes for a bit
Reply
You remade the entire screen from scratch in Lua? Kudos!

Last edited: 25 June 2014 2:26pm

Reply
Just to be clear for other people: I did not remake the options screen from scratch in default or _fallback for this change.
For Consensual (my personal theme), I remade most of the screens from scratch, and it has its own thread in the Themes forum.
< cybik> til Kyzentun fixes bugs for breakfast
--
< maxvg1> shakesoda: then why do i still play lol
<@shakesoda> because you're an ITG player. And thus, a masochist
--
<@shakesoda> Kyzentun: I think you might need to put down the meshes for a bit
Reply
This is merged now and will be in the next nightly build.
< cybik> til Kyzentun fixes bugs for breakfast
--
< maxvg1> shakesoda: then why do i still play lol
<@shakesoda> because you're an ITG player. And thus, a masochist
--
<@shakesoda> Kyzentun: I think you might need to put down the meshes for a bit
Reply
As Kyzentun posted on z-i-v, the latest nightly build has this speed mod change.

"I want someone to test it to give feedback on whether it's confusing. (I know it works) Just download that build, set your speed mod, and play a few songs."
See also: http://zenius-i-vanisher.com/v5.2/viewthread.php?threadid=6740

Last edited: 27 June 2014 1:33pm

Reply
I can't wait to try this out. Downloading now!
Reply