Fap Hero Journey — Interactive Gamified Device Sync Player [Beta]
Hey everyone! I’ve been building a Fap Hero-style app that I think takes the format somewhere new, and I want to share it and get the community involved.
This started as a proof of concept and has grown into a full interactive player. I would really love opinions on whether or not the concept works and if there is room in the market for it. We have other apps that are similar but I think this is unique enough to stand on its own.
rant
I originally started this awhile ago but originally built it in Unity however the unity built-in media player is utter trash and doesn’t offer good enough support. There were numerous other problems with unity and I was losing my mind trying to get device sync right with Intiface on my serial device. It was awful.
I quit and walked away but decided at the beginning of this year to try again using godot. Their media player supports more video types and I’ve since realized I can just transcode videos if they aren’t compatible using ffmpeg. I still had a ton of issues with device playback through intiface but it turns out… Intiface is absolute garbage for serial devices… It just can’t handle the commands and has super weird behavior. I made the decision to write directly to the com port instead of using intiface as the middleware and viola it works super well.
The amount of hours I spent trying to get intiface to work was for nothing. So frustrating!
Anyways, after those two issues were resolved everything else kind of fell in place!
What is it?
Fap Hero Journey is a gamified interactive video player with real-time device synchronization.
Instead of just queuing up videos and scripts, you play through a Journey — a structured, branching experience made up of video rounds, story screens, shops, forks, boss battles, twist rounds, mystery encounters, checkpoints, and loops. (Think Polkamon series)
You earn coins by performing well, spend them at shops on modifiers that change how your device behaves, and navigate branching paths that make every playthrough feel different.
Think of it as Fap Hero meets a roguelite shop system meets a visual novel engine.
This is beta software. Expect rough edges. Feedback, bug reports, and journey contributions are all very welcome.
Why?
I was heavily inspired by @Tblo and their Polkamon series we’ve all come to love (check 'em out if you haven’t) and like many others would love to see more funscript exploration in the storyboarding adventures scene. Not everyone has the patience nor editing talent Tblo does so hence Fap Hero Journey was born!
I’ve created this as a way for people to get involved in their own narratives without having to do a crazy amount of work to bring it to life for others to enjoy. (It’s also a way for people to finally make good use of those short animated shorts that often get scripted!)
The best part is the direct integration to your device. It takes your journey deeper than anything that’s been provided. Modifiers directly manipulate the funscript live. We aren’t just loading and reading scripts. We are manipulating based on your items and bosses.
If you’re not into stories or story writing, you can just create challenge runs with various fap heroes and boss battles. No narrative required.
Features
Gameplay
- Structured Journey format — a branching graph of video rounds, story screens, shops, forks, boss battles and more, woven into one authored experience
- Coin economy — earn coins by completing rounds, spend them at shops
- Modifier items — a set of built-in modifiers plus author-defined custom items, with timed effects that manipulate the funscript live, mid-round
- Inventory system — hold items and activate them whenever you choose during a round
- Branching paths — fork nodes with four resolution styles (player choice, random, conditional, sacrifice) and full nested-fork support
- Flags & counters — run-state that unlocks conditional paths, gates forks, and drives loop exits
- Boss rounds — telegraphed harder rounds with forced modifiers and a last-30-second visual pressure pulse
- Effect rounds — “twist” rounds that stack gameplay hindrances/boons plus optional sensory effects, with an optional pay-to-cleanse
- Mystery encounters — a round that rolls a random clip (and maybe a random boss) from a weighted pool, revealed with an “
ENCOUNTER!” card - Checkpoints & saves — save your place mid-journey and pick up later right where you left off
- Loops — replay a stretch of a journey until a condition is met (a number of repeats, a flag, an item, or a counter value)
- Per-round scoring — amplitude-based score tracked across your whole session
- Journey map — an optional in-game map of your route, with fog-of-war
- End screen summary — full play log of every round, the path you took, your route on the map, and your score
- Beat Bar Visualizer — a color-coded stroke-grading bar you can overlay on any video
Video & Device Sync
- Smooth funscript playback locked to the video clock — no drift
- Direct serial T-Code — writes straight to the COM port (no Intiface middleware), with 120 Hz interpolated stroke smoothing for OSR2/SR6
- Multi-axis T-Code support (L0–L2, R0–R2) for SR6 and similar devices
- Per-channel vibrator scripts (vib1/vib2) for dual-motor Buttplug devices
- The Handy over WiFi — connect a Handy directly (no Intiface), streamed and time-synced to the video
- E-stim via restim — drive a restim session over its WebSocket T-code link, running in parallel with a stroker (community-contributed)
- Live funscript manipulation — items, bosses, and curses reshape the script in real time; we’re not just playing scripts back
- Ease-in at round start and ease-to-neutral on pause/stop — no jarring snaps
- Storyboard filler strokes — device keeps moving gently between rounds, configurable
- Configurable latency offset, stroke range clamp, speed cap, and home position — adjustable live, no restart
Journey Builder
- Full in-app graph editor — no code or JSON editing; drag-and-drop videos, funscripts, and images
- Every node type editable: video rounds, storyboards, forks, shops, boss rounds, effect rounds, mystery encounters, checkpoints, and loops
- Visual-novel storyboards — per-line speaker, dialogue, and images; an on-screen cast with character portraits and positions; optional per-line audio and background music
- Custom items — author your own modifier/key items that bundle tuned effects, scoped to your journey
- Renditions — publish variant versions of a journey (different scripts, forks, or overlays) that compose onto a base at play time, without duplicating the whole thing
- Map backdrops — layer location art behind your journey graph and the in-game map (stacked, each with opacity, scale, rotation, and z-order)
- Segments / EDL, round templates, journey audit — trim clips into an edit list, save whole rounds as reusable templates, and get an advisory balance report
- Sticky notes — pin notes to nodes; they travel with the node on copy/paste
- Portable & shareable — export a whole journey as a single
.fhjfile (with an optional free-video / paid-script split), or share the folder directly
Technical
- Built on Godot 4.6.2 Mono/.NET
- Video playback via EIRTeam.FFmpeg GDExtension (broad codec support; auto-transcodes non-H.264 sources for you)
- Device output via direct serial T-Code, Buttplug.io / Intiface Central, The Handy (WiFi), or restim (e-stim) — several can run at once
- Background music with shuffled playlist and cross-session pause/resume
- Settings persist across sessions; all device parameters adjustable without restarting
Demo / Download / Discord
|
Download |
|
Source (GitHub) |
|
Discord |
|
Support me! |
Notes for Linux
Ffmpeg will need installed separately. It is not bundled like the windows edition.
Tutorials
TBD… Once we hit 1.0 release I’ll be putting together a howto guide on all things this app.
Compatible Devices
Fap Hero Journey can drive your device several ways — and more than one at a time:
- Direct Serial (T-Code) — OSR2, SR6, and other T-Code serial devices connect directly, no Intiface needed. Just select your COM port in Settings. Multi-axis is fully supported for SR6 (L0–L2, R0–R2 + vibrators), with high-rate stroke smoothing for belt-driven builds.
- Buttplug.io / Intiface Central — any device supported by Intiface Central works out of the box (OSR2, SR6, and many others). Launch Intiface Central first, then connect from within the app. Multi-channel vibrators are supported (I’m looking at you Edge 2
). - The Handy (WiFi) — connect a Handy directly over your network with your connection key. No Intiface middleware.
- E-stim (restim) — stream to a running restim instance over its WebSocket T-code link, alongside your stroker. Requires restim with its WebSocket server enabled.
Keybinds
Requirements
-
OS: Windows 10/11 (64-bit) or Linux
-
Device: OSR2, SR6, The Handy, a restim rig, or any Buttplug.io-compatible device
-
Intiface Central if using Buttplug — download at intiface.com
-
restim if using e-stim — run it with its WebSocket server enabled
-
Videos and funscripts are not included — you supply your own!
-
.H264 videos only (app will transcode for you if need be)
Safety & Disclaimer
Fap Hero Journey controls physical hardware. Please read this before use.
-
Use within your limits. Configure the stroke range, speed cap, and home position in Settings before your first session. Start conservatively.
-
Stop if something hurts. The app includes an ease-in at round start and eases to neutral on pause/stop, but you are always in control. Hit pause or close the app at any time.
-
The developer assumes no liability. By using this software you agree that you are solely responsible for your own safety and the safe operation of any connected device. The developer is not responsible for any injury, damage, or harm — physical or otherwise — arising from the use or misuse of this application.
-
This software is provided as-is, with no warranty of any kind.
Get Involved
The best thing the community can do right now is make journeys and share them here.
Please do not share premium content via journeys. If you have paid content in your journey playlist please be responsible.
The format is flexible enough to support everything from a tight 3-round challenge to a multi-hour branching narrative. If you build something, drop it in this thread, I will showcase it as part of this post!
Bug reports and feature requests welcome — post here or open an issue on GitHub.
Contributors
A list of contributors who spent the time their personal time adding to the project.
| User | Contribution |
|---|---|
| 1k1 | Estim support via restim |
Available Journeys
Has it’s own sub category now!
| Journey Name | Creator | Tags | Length |
|---|---|---|---|
| 6 Days of HMVs (Christmas Special) | SaekoM | HMV | 23:53 |
| 99DM’s Year of the Slime | SaekoM | MMD | 38:02 |
| I fckn love wezzam | SaekoM | PMV, Real | 1:11:29 |
| Minus8 Bonanza | SaekoM | 2D, Animated | 27:30 |
| RAWSOURCE RAMPAGE | Anonymous444 | 3D, Animated, HMV | 59:33 |
| This Kitty … Is Evil? | john | 3D, Animated | 4:00+ |
| Essence Extraction: PMV Panic | MythrilJay | PMV, Real | 3:01:35 |
| Funky Quest | Pluge | 2D, 3D, Animated | 59:18 |




