Something Different
Go faster, go slower, bigger range, shorter range… but what I was interested in were more interesting patterns.
Therefore I started to try out different patterns by building a funscript generator and trying different things out. Hence I built an app for testing that I thought I would share with you lovely folks. (only tested with Handy v2)
| Stroke Type | Range (Min-Max) | Speed (Interval) | Pattern Description |
|---|---|---|---|
| Foundation | 0% – 30% | Medium Fast (400ms) | Gentle, shallow strokes at the bottom. Consistent velocity. |
| Cruise | 30% – 70% | Medium (500ms) | Middle-range stimulation. “Working” pace with smooth transitions. |
| Overdrive | 30% – 70% | Fast (250ms) | Same range as Cruise but with higher frequency. |
| Hummingbird | 35% – 65% | Kinetic (100ms) | Tiny, vibrating jitters in the exact center of the range. |
| Blast | 0% – 100% | Max (150ms) | Full-length power strokes. Hard stops at both ends. |
| Bounce | 100% – 0% | Decaying | Sequence of bounces (100, 80, 64…), followed by 2s vibration. |
| Just the Tip | 80% – 100% | Fast (200ms) | Shallow strokes at the very top of the range. |
| Firework | 0% – 100% | Asymmetric | 150ms snap to top, 850ms controlled descent to bottom. |
| Red Light, Green Light | 20% – 90% | Variable | 8-20x moderate strokes, then a 4-10s hard pause. |
| Tease | 0% – 100% | Very Slow | 2000ms travel time with a 500ms “freeze” at the peak of each stroke. |
| Ramping Loop | 10% – 90% | 800ms → 150ms | Starts slow and increases speed by 100ms every stroke until max speed. |
| Heartbeat | 0% – 20% | Asymmetric | “Double-tap” rhythm: two quick 150ms pulses followed by 1000ms pause. |
| Avalanche | 50% → 0-100% | Medium | Range expands by 10% each stroke (45-55, 40-60, etc.) until full. |
| Wave | 0% – 100% | Sine-based | Smooth easing; fastest in the middle, slowest at the turnarounds. |
| Flicker | 0-10% & 90-100% | Fast (250ms) | Instant jumps between bottom-shallow and top-shallow strokes. |
| Breath | 0% – 100% | Very Slow | 3s descent (inhale), 1s hold, 1s snap ascent (exhale). |
| The Piston | 0% – 50% | Accelerating | 5 short strokes at 400ms, immediately followed by 1 full 0-100% “Blast” stroke. |
| Gravity | 0% – 100% | Geometric | Simulated freefall: 500ms up, then 100ms “drop” to bottom with a 50ms jitter at the base. |
| Engine Idle | 0% – 20% | Irregular | Jittery base-level idling with a random full-range “rev” every 2–10 seconds. |
| Compression | 0% – 100% | Constant | 10 full strokes where the top boundary drops by 10% each time (100, 90, 80…) until it hits 10%. |
What to expect
This is just testing the patterns, as I will be using to create compilations using them in the end, but I thought might as well share my testing environment for people to enjoy. It is a very simple implementation of patterns have an element of randomness, some that move between two different types of strokes, and some that just pump away.
Moving Forward
I don’t think I will do any more that have this as a way of testing my patterns, however happy to hear from anyone who uses it.
