Fap Hero: JOURNEY v.0.3.2

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!

Screenshots

Journey Preview

Journey Builder (with complex configuration)



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.

:hammer_and_wrench: 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

:shopping_cart: 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

:gear: 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

| :package: Download |

| :laptop: Source (GitHub) |

| :globe_with_meridians: 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 :smiling_face_with_horns: )


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 |

| :clapper_board: Video Round | A video plays with your device synced to the funscript. Earn coins based on performance. |

| :open_book: Storyboard | Interstitial story panels with dialogue, speaker images, and optional coin rewards. |

| :shuffle_tracks_button: Fork | Choose your path. Branches can vary in difficulty, length, or theme. |

| :shopping_cart: Shop | Spend your coins on modifier items. |

| :skull: 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.


:warning: 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.)

Creating your own journey


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
79 Likes

I would like to be the first to say… wow

This looks like a heap of work went into it. I’ll bite and take a look to see how it functions, but even getting to this point must have been a colossal effort. Thank you!

2 Likes

Seems like a cool idea.

2 Likes

I’m having some troubles. First, the video tutorials are locked and require a request for access. Second, it doesn’t seem to be compatible with the Handy. My lovense vibes don’t have any problem, but my Handy (FW4+) isn’t receiving anything despite showing up as connected, even from the test button in the application (the test button in Intiface works fine).

2 Likes

I’ve swapped the tutorials over to pixeldrain instead of google drive.

Check them out and if you’re still having troubles let me know.

1 Like

No change in my troubles sadly. I got it to work with my Lovense Hush but my Handy refuses to do anything no matter what I try.

1 Like

I don’t own a handy but I’ll look into your issue. Thanks for letting me know

1 Like

I think I’ve identified the issue. I’ll spare you the gritty details. Try this:

Anyone who downloaded the previous version please use this one instead. I’ve updated the post above with the newest release.

1 Like

Wow, this is amazing and at a first glance exactly what I always wanted to add another level of interaction - basically creating a video based visual novel with gameplay elements.
I feel honored that my series has been the inspiration for this and can’t wait to try it!

I’m currently down with the flu but once I’ve shaken off my fever I’ll sink my teeth into this and will offer some feedback!

3 Likes

I’m looking forward to hearing your thoughts! Hope you feel better soon.

1 Like

Any thoughts regarding a save system? A checkpoint for the editor, or purchase option for the shop? Some of these may get quite long and it would be great to have options in that regard!

2 Likes

I’m pleased to report that it seems to be working now! Thanks!! I’ll appraise you late of any bugs I encounter. Great work!!!

2 Likes

Great ideas! Saves might be a little challenging to implement. I like the itemized checkpoint idea a lot!

Adding these to my development board.

In terms of suggestions, I have’t fuddled with the creator much admittedly but perhaps something that would allow easy difficulty selection where you could, just as an example, select “Easy” or “Hard” and it would change funscripts? I think you could achieve that now but you’d have to basically make two different copies of everything so far as I can tell

1 Like

I have encountered another bug! It works great… for the first round. After the first round it stops working again.

1 Like

Hmmm. I’ve thought about adding difficulties when a scripter has done multiple but not at the general level.

I’d have to define what determines a scripts difficulty without completely derailing the script.

Maybe applying speed limits and stroke length limiters to make it slower and lower? or just slower?

Something to think about!

Noted! I’ll take a look and see if I can replicate.

Follow up question:
When that happens, in the options, does the device still appear as paired and does the test button still work?

It did, yes! Weirdly, I tried it with my Lovense and it didn’t work either on Round 2 until it rolled over to round 3 then it started working, but when I swapped it to Handy it stopped working again and then swapping back to the Lovense that no longer worked either, so something about the Handy seems to be gumming it up.

So to summarize (and to make sure I understand the issue completely):
You start a journey with the handy connected, round 1 goes smoothly, app then transitions to round 2 and starts playing, the handy stops moving? Or are you transitioning devices during rounds?

I have a potential fix but additional clarification would be great :+1:

For instance is there a shop between round 1 and round 2?

This is actually incredible - holy. I can’t wait to try it out and will be watching the development closely!

2 Likes