Post subject: PC - Virtual gamepads suitable for faking TAS-level input?
Joined: 10/18/2011
Posts: 64
I know something like this must exist so I figured I'd ask before reinventing the wheel. Are there any easily accessible programs that present themselves as D/XInput devices which could be controlled from an external program to feed games reproducible strings of input with millisecond-level accuracy? I don't need it to hook into the game and actually count frames, if that proves necessary I could do it myself, so I really just need a dumb controller that can have its valued changed.
negative_seven
She/Her
Active player (354)
Joined: 11/25/2012
Posts: 102
Location: Europe
AutoHotkey might do the trick.
Joined: 10/18/2011
Posts: 64
Checked it out and came across this in their forums.
AHK is good at detecting joystick buttons, but can't really send them. seach the forum for PP_Joy ( i think it's called) for some other examples of emulating joystick inputs.
PPJoy seemed a dead-end as well, but reading up on it brought me to vJoy - https://sourceforge.net/projects/vjoystick/ Haven't looked into the mechanics of it yet, but it should be a good start. Thanks.
Joined: 10/18/2011
Posts: 64
I'm probably overcomplicating things, but.... vJoy will handle the device. x360ce will convert it to XInput for increased compatibility. And I just need to write a Twitch/vJoy feeder application based off of this - http://vjoystick.sourceforge.net/site/index.php/dev/87-writing-a-feeder-application2 Should work. Let me know if you're aware of anything less complex.
Strife
He/Him
Player (59)
Joined: 6/5/2017
Posts: 13
Location: France
Quick question, what game is it for?
Joined: 10/18/2011
Posts: 64
At the moment, I'm not sure. I run TwitchPlays every so often which coincidentally has a ton of overlap with (really crappy) TASing. I've written Twitch-bridges for a few individual games/programs already (Demon's Souls - PS3, Dark Souls - PC, PS4 Remote Play - PC), and I'd like something a bit more generic, so I can just define the commands/controls and twiddle a fake joystick rather than messing with each program to find the code that handles its input. Trying to get the controls accurate to the frame/millisecond gives this a lot of TAS-overlap, so I don't feel bad about asking for it here. Most of the Twitch-strings end up being mini-TASes from a known-starting point with no control over the RNG. Depends heavily on the game of course, if you can reliably start from a position where the same inputs/durations will bring you to the exact same endpoint.
Joined: 10/18/2011
Posts: 64
For anybody that cares, vJoy does 'work' but it doesn't do XINPUT directly. http://vjoystick.sourceforge.net/site/index.php/vxbox Creating a fake XBox controller in the first place should have much better compatibility. Time to rewrite that feeder from scratch I suppose.