Fap Hero Journey — Interactive Gamified Device Sync Player [Early Alpha]
Hey everyone! I’ve been building a Fap Hero-style app that I think takes the format somewhere new, and I want to share an early demo and get the community involved.
This is a proof of concept game/app in alpha. 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 narrative made up of video rounds, story screens, shops, forks, and boss rounds. (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 an early alpha. 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 — video rounds, story screens, shops, forks, and boss rounds
woven into a single authored experience
-
Coin economy — earn coins by completing rounds, spend them at shops
-
11 purchasable modifier items so far with timed effects that change device behavior mid-round
-
Branching paths — fork nodes let creators build multiple routes through a journey,
with full nested fork support
- Boss rounds — telegraphed harder rounds with forced modifiers and a last-30-second
visual pressure pulse
-
Inventory system — hold items and activate them whenever you choose during a round
-
Per-round scoring — amplitude-based score tracked across your whole session
-
End screen summary with full play log of every round, path taken, and score
-
Beat Bar Visualizer — display a beat bar with color-coded stroke grading on any video
Video & Device Sync
-
Smooth funscript playback locked to the video clock — no drift
-
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
-
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
Shop & Modifiers
- Shop nodes are fully configurable per journey — item count, random pool or fixed lineup,
price multiplier
Journey Builder
-
Full in-app builder — no code or JSON editing required
-
Drag-and-drop assets (videos, funscripts, images)
-
All node types editable: video rounds, storyboards, forks, shops, boss rounds
-
Storyboard editor with per-line speaker, dialogue, and image; copy image from line above
with one click
-
Graph view — visual map of your journey’s full branching structure
-
Journey cover image, title, description, and tag support
-
Journeys are portable folders — zip and share directly
Technical
-
Built on Godot 4.6.2 Mono/.NET
-
Video playback via EIRTeam.FFmpeg GDExtension (broad codec support)
-
Device connection via Buttplug.io / Intiface Central or direct serial T-Code
-
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 |
Notes for Linux
Ffmpeg will need installed separately. It is not bundled like the windows edition.
Compatible Devices
Fap Hero Journey connects to your device in two ways:
- 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.
- Direct Serial (T-Code) — OSR2, SR6, and other T-Code serial devices can connect directly
without Intiface. Just select your COM port in Settings.
Multi-axis T-Code is fully supported for SR6 users (L0–L2, R0–R2 + vibrators).
Multi-channel vibrators are also supported (I’m looking at you Edge 2
)
How to Play
1. Load a Journey
Place and un-zip journey folder inside:
%APPDATA%\Godot\app_userdata\fap-hero-journey\journeys\ (or your specified directory)
Each journey is a folder containing a journey.json and its video/script/image assets.
Select it from the main menu and hit Play.
2. Connect Your Device
Go to Settings before starting. Choose Buttplug / Intiface or Serial, connect,
and set your comfort range (min/max stroke position, speed cap, latency offset).
3. Play Through Rounds
Each journey is a sequence of nodes:
| Node | What happens |
|
Video Round | A video plays with your device synced to the funscript. Earn coins based on performance. |
|
Storyboard | Interstitial story panels with dialogue, speaker images, and optional coin rewards. |
|
Fork | Choose your path. Branches can vary in difficulty, length, or theme. |
|
Shop | Spend your coins on modifier items. |
|
Boss Round | A harder round with forced modifiers active. Survive to continue. |
4. The Shop & Modifiers
Shops let you spend coins on items that change how your device behaves for a limited time.
Items activate from your inventory mid-round whenever you want. Current items include:
| Item | Effect | Duration |
| The Long Game | +20% stroke length | 30s |
| Shrink Ray | −20% stroke length | 30s |
| Cock Lock | Ignores funscript (hold still) | 10s |
| Mirror | Inverts all stroke positions | 30s |
| The Final Inch | Clamps to top 50% of range | 25s |
| Low Tide | Clamps to bottom 50% of range | 25s |
| Pleasure Band Clamp | Clamps to middle 30–70% | 25s |
| Blackout | Hides the video (device keeps going) | 30s |
| Score Rush | 2× score from every stroke | 30s |
| Jackpot | 2× coin reward at end of this round | Round |
| Wildcard | Activates a random modifier — cheap gamble | 30s |
Each shop visit offers a random selection from the pool. Journey creators can configure how many items appear and whether the lineup is random or fixed.
For Journey Creators — The Builder
The built-in Journey Builder lets you create and share your own journeys without touching
any code. Everything is drag-and-drop and form-based.
Node Types
Video Round
-
Drop in an MP4 and a funscript (
.funscript) -
Multi-axis scripts supported
-
Set title, difficulty label, and sort position
Note: if you’re uploading a dual channel vibration script, make sure to upload vibe1 into the main funscript drop zone. This is for scoring purposes.
Storyboard
This is where you write a story (if you want).
-
Add as many lines as you want, each with a speaker name, dialogue text, and optional image
-
Lines can be reordered; images can be copied down from the line above with one click
-
Optionally award bonus coins on completion
Fork
-
Present the player with 2–4 path choices
-
Each branch is its own sub-journey (can contain further forks)
-
Set choice labels, descriptions, and images per branch
Shop
-
Configure how many items appear
-
Choose between Random from Pool (shuffle from all items) or Fixed Lineup (hand-pick
exact items)
- Set a price multiplier to make your shop cheaper or more expensive
Boss Round
-
Works like a video round but with forced modifiers applied at start
-
Items are forced off
-
Optional telegraphed intro card
-
Red pulse border warning in the final 30 seconds
Sharing Journeys
A finished journey is just a folder — zip it up and share it. The folder contains:
-
journey.json(the sequence + metadata) -
Your video files, funscripts, and any images you used
Drop it in the journeys folder and it shows up on the selection screen immediately.
Keybinds
Requirements
-
OS: Windows 10/11 (64-bit) or Linux
-
Device: OSR2, SR6, or any Buttplug.io-compatible device
-
Intiface Central (free) if using Buttplug — download at intiface.com
-
Videos and funscripts are not included — you supply your own!
-
.H264 videos only (app will transcode for you if need be)
More Coming?
I have quite a few ideas and I’m open to more ideas. We’ll see how well received this is before I promise anything more.
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.
Video Tutorials
Connecting your device with Intiface
Connecting your device via Serial (SR1, SR6, OSR, MiraBot, etc.)
Available Journeys
Has it’s own sub category now:Journeys - EroScripts
| 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 | 1:11:29 |
| Minus8 Bonanza | SaekoM | 2D, Animated | 27:30 |
| RAWSOURCE RAMPAGE | Anonymous444 | 3D, Animated, HMV | 59:33 |





