Studied my toys’ behavior so I could make better scripts for them.
If you have multiple devices feel free to load this “stress test” script I’ve made and note down their behavior. It will also be helpful if you can record other devices playing this (Launch, KEON, A10) so we can study their behavior:
Stroker_Stress_Test.funscript (138.4 KB)
I’ve done some recordings of the Handy vs the SSR1 playing this script in this topic. I’m not going to post them here as to avoid turning this post into another ad.
➥ 🏗️[Review] FunSR1 In Action: Beats the Handy?
Vibrations
High frequenct small actions intended to add flavor.
- Works well on the Handy (online).
- Works well on the Handy (BLE), but has frequency limits, will skip actions.
- For the OSRs this seems to largely dependent on the servo speed. My OSR2 & SR6 seems to vibrate to a less extend.
- Seems to work well on the SSR1 with its GM4108H-120T motor.
Interpolation Points
Middle points added to make the motion more natural.
- Works well on the Handy (online). But speed change becomes very abrupt at faster actions.
- Doesn’t work well on the Handy (BLE). There’s a microstutter after each point which makes it less smooth.
- Works well on the OSRs no matter what speed or density.
Actions To Slow
-
The Handy (online) takes the liberty of modifying the script to play it in the smoothest possible way. It may remove a middle point or shift the timing of the turning point to increase the stroke speed so it can play it without stopping. The threshold for this to happen is somewhere around 33 unit/s in OFS. If the action is too slow to be cheesed, it will react around the
-
The Handy (BLE) tries its best to replicate the action with its slowest possible speed. It stops when it prematurely reaches the position and waits for the next command.
-
The OSRs plays the action as it is.
Actions Too Fast
-
The Handy (online) proactively change the script content so the speed fall within its hardware capability, it does so by changing the position of the action thus shortening the stroke. This happens around 500 unit/s in OFS. The action is shortened towards its starting point.
-
The way the Handy deals with this can be visualized on funscript.io’s “Modify script” tab, by adding a “Limiter” with the “Handy” preset.
-
The Handy (BLE) will play the action at its fastest possible speed. If the next command comes in before it reaches the position, it abort and attend the next one. Interestingly, under BLE mode it can move visibly faster than online mode.
-
The OSRs will play the action at its fastest possible speed. If the next command comes in before it reaches the position, it abort and attend the next one. The maximum speed limit depends on the turning speed of its servo / motor.
What does this mean to scripting?
-
Makes vibrations a situational technique because whereas it is practically easier for the Handy to handle vibrations than a slow, long stroke, it apparently doesn’t do well on other devices.
-
Slow actions should not be changed as there are devices that can play it without problem.
-
Maximum speed cap should probably also be revised.
-
Don’t be Handy-centric.