Can you explain this idea further? I don't know that I understand it fully.
erebuswolf
Creator of
Recent community posts
Thank you for the feedback. A few questions.
Are you using frame locked mode or the raw timing mode?
Are you starting the playback with the gamepad hotkey or with the keyboard or with the mouse button on the toolkit?
What character are you selecting? What character is being hit?
It would help me if you could record what you see as playback on the recording so I can see what the failure case looks like.
Regarding a reset hotkey for the training mode. This does not exist currently, but is an excellent suggestion. I'll look into adding it soon.
" ~~First the recording consistently wouldn't record 5mp and a down directional~~ Actually I figured out what was happening, If the TrainingWindow is open with something loaded(?), A Flash Kick sequence in my case, it doesn't seem to record the beginning correctly. Perhaps until the Training's first expected input is made? I didn't investigate further but it correlates that down-back was the first recorded input and the starting input of the training file."
Recording a new sequence while a training window is open could definitely cause issues. This is an edge case I had not expected as the training window automatically records your attempts and has logic in place to listen for when to start a recording. I'll have to think about a good solution for this. Thank you for bringing it to my attention.
Thank you for the detailed feedback!
This is indeed concerning.
I downloaded your sequences and tried to load and play them. I may be confused but it looks like both of them have a buffer. In fact even in your screen shots I can't find the failure case. I don't doubt that it somehow messed up but I don't know how to replicate it.
My process. I downloaded both files. Hooked the toolkit up. did guile in training, both sequences do 2 hits into flashkick and seem to do it correctly. I created my own sequence that removes all neutral inputs between down back and up and it still worked fine. Could it be you edited one of the sequences in error?
Some things I would check on your end.
- Is the correct input thread selected? SF6 can read inputs on multiple threads and selecting the wrong one could result in weird situations. Because the toolkit screen shows 60 fps I suspect you had the right one selected but it's worth asking.
- Are you able to run the game at a consistent 60 fps while running the toolkit? If your graphics settings are too high and your computer cannot handle it, the game may drop frames (again this is unlikely to be the issue).
- If you slow the game speed down with the speed controller does the recorded sequence work?
- There is a setting in the game, I forget the name, that is like "improved input sampling" or something along those lines. that causes it to sample inputs even more often then it normally would. Does enabling or disabling this setting cause any change?
- Are you using controller bindings for your hotkeys? This could very well be the issue. SF6 will automatically swap from reading controller inputs to reading keyboard inputs if you press a keyboard key. It will swap back when it detects a controller input but it may ignore a few inputs. If you are pressing f7 to play the sequence it could be causing weirdness. I would look into the "bind pad hotkeys" menu and bind gamepad hotkeys to playback. You can also bind a function key if you want playback on button combination. This will allow the virtual controller to be in playback mode and have you begin your sequence playback without needing to press a key on the keyboard.
I do want to help you resolve this. I must admit, I cannot explain your input failure. I would recommend making an input test playback sequence that has a series of inputs of length 1, 2, 3, 4 etc up to 10 frames in length. Add a buffer input to the start and end and then try playing that sequence over and over. It can just be different stick directions or it can be attack buttons it doesn't matter. When I run this kind of test I only get a dropped frame when my computer clearly has lagged and dropped a frame in the actual game, which is very rarely. You should be able to achieve a 99% success rate for playback with this kind of sequence. The sequence playback may have a bug in it causing it to clip the very first or very last frame of sequence playbacks. But the middle of playbacks have been very stable, including in SF6. I am surprised to hear of your issue.
If none of these suggestions resolve your issue I'm happy to jump in a call during an evening after 9 PST to try to help you through the issue.
After spending a long time trying to get PS4 and PS5 controller support integrated. I have come to the conclusion that it is simply not something I will be able to add at this time. The lag and 2 step handoff of inputs appears to make games unplayable.
I have been working on adding direct support for PS4 and 5 controllers. I have a working PS5 support prototype. For PS4 controller support and immediate support for ps5 I suggest using DS4 windows https://github.com/Ryochan7/DS4Windows and launching it after the toolkit. I have had some success with controllers working well with this software.
The SF6 setup video specifically shows that frame locked mode is not supported for SF6. Between Denuvo anti-cheat, and the game sampling 2 and 3 times a frame for inputs randomly, SF6 is not currently supported for frame locked mode. However, the new revamped timing mode in the newest releases is now solid enough that you can use it without issues.
There are are a few important steps for setting up Lab Monster Toolkit with SF6.
If you want the toolkit to take player 1 and 2 slots and have your controller be player 3, first unplug your physical controller. Then boot SF6. Go to the toolkit and set player 1 to UI input, and press the start button in the UI for player 1 and check the turbo box. Click back into SF6 and watch the intro sequences get skipped. Once you are sure SF has read player 1's input, do the same for player 2. Then disable player 2, plug your controller in and set player 1 to mirror source input.
I have found that the game logic for SF6 can vary slighty depending on the computer it is running on. On my desktop PC a frame is perfectly 16.6667 ms but on my laptop it runs slightly faster at 16.23 ms. If you want the toolkit frames to perfectly match the games frames, I recommend creating a training sequence with a button hold for 90 frames, followed by inputs of length 1,2,3,4,5,6,7,8,9 and 10 frames (here is one I made). Boot the training mode in SF6 and play the sequence. Tweak your timing numbers as needed to match the frame values. This frame length value was added in version 0.0.8.4, so upgrade if you don't have it.
Video showing setup process.
For players who use Playstation 4 or 5 gamepads. You need to disable steam input for the game you are playing and use ds4windows x360CE or a similar software to have your controller work with both Lab Monster Toolkit and your game.
Also! If you play with the analog stick and not the dpad, it is STRONGLY recommended that you experiment with ds4windows x360CE and see if the game still feels ok to play when using that software. Joystick deadzones can change between steam input and ds4windows x360CE and this can affect how inputs feel in the game.
If you only intend to use the toolkit to playback recordings with a dummy in training mode, you do not need to disable steam input, and you can just have the toolkit take players 2 and 3. But if you intend to use other features like the trainer, or added input delay, joystick deadzone issues may be a dealbreaker and I would caution purchasing this product currently, as it may result in a sub par experience compared to vanilla play.
I found there is a simple way to disable the DBFZ anti-cheat which allows the toolkit to fully work with DBFZ.
Instructions to disable anti-cheat.
You should always only use the toolkit in offline modes in game. But especially make sure you select offline mode when launching this anti-cheat disabled version of DBFZ. We take no responsibility for you getting yourself banned if you use the Lab Monster Toolkit in online modes.
A user contacted me today with an issue where the toolkit wouldn't launch and a large error message appeared in the terminal that opens with the toolkit and then promptly closed. This issue was caused by the config file not being saved correctly. I'm not sure how the config file was corrupted, perhaps closing the toolkit during the save operation, or some other issue. But if the file exists and is empty the toolkit will crash on load. I am working to fix this issue ASAP, but if you are encountering this issue there is a simple solution. Delete the user config file. It is located at:
USER_NAME/AppData/Roaming/LMTK_User.conf
This file should contain a simple json structure showing key bindings and last file save path. If the file exists but is empty, it will crash the toolkit. If the file doesn't exist then the toolkit will just make a new one on startup. I should have this fixed by end of day, but I want people to know how to fix it till then. This likely affects all versions of the toolkit 076 and earlier that use the config file.
I was labbing with the toolkit the other day and Windows defender flagged the config file for the program as a possible trojan. It is a human readable serialized javascript file that just stores your settings, like your last used folder for saving/opening files and hotkey bindings and the like. I imagine Windows defender doesn't like that the program is injecting into the actively running fighting game and is misidentifying it as a trojan. Be aware of the issue, but know that the file USER_NAME/AppData/Roaming/LMTK_User.conf is just the config settings for the program and not an actual trojan.
https://erebuswolf.itch.io/lab-monster-toolkit/devlog/474453/version-0072-releas... I have added a turbo button which may help you with getting the toolkit to be registered as player 1. My thought is you set virtual input 1 to UI mode and turbo button an A button press then turn the game on. And once the game gets past the title screen you alt tab and go back to normal mode. Hopefully this works for you! I was having a similar issue in Strive but the turbo workflow fixed it.
Yes, I have tried making frame mode on Fightcade. I was hopeful that the input method those emulators use would be compatible with frame mode, but they are not. I do not have the bandwidth to attempt to find an alternative method to hack into them and get it working. The toolkit relies on Xinput dll calls. And those emulators are designed to work on multiple systems and not be tied to Windows dlls. It would theoretically be possible to Fork the emulators and build a version that connects to the toolkit, but it would be a major pain for the end user to set all that up. If it isn't listed in the supported games list, you should assume frame mode will not work with it. Thank you for informing me about your findings though. Always appreciate it.
Thanks for the question! The intention is you pay once $5 for the software and are given access to all versions and updates moving forward. I may eventually increase that base price, but of course I will grandfather in and give continued access to updates for those who supported me in this early state. As things are currently configured, a 1 time purchase should give you access to all downloads and versions. I am listing all download versions on the page because sometimes I'll push an update and miss some serious bug. I want to make sure people can easily roll back to a previous stable version.
So, I can't reproduce that issue unfortunately. When I set the UI to have both chars walk at each other they do it forever regardless of what window is on top. I worry it may be a config issue that will be hard to reproduce on my end. I'm not sure what your current workflow is, but I personally recommend using a workflow similar to what I do in this video (timestamped start at 8:46, or I tried to, the embed doesn't like to use the timestamps).
Basically, create a recording sequence that starts with a training reset button press, do the inputs you want to have in the combo, then fiddle with the timings in the editor and press play to test if your timings work. I've never considered a workflow where you pause and step every frame or use the UI to set your inputs every frame. The UI input was mainly to have a dummy hold block or crouch block while trying to record a sequence, and the frame stepping was intended to break down and data mine moves, not input them one frame at a time. Let me know what your intended workflow is for what you are doing.
I had a moment to look into this. As it turns out, the issue is that when you use F9 and F10 to pause and unpause the game with Lab Monster Toolkit, the game swaps player 1's input to use the keyboard. This causes the buster drop. The simplest work around I found was to have Lab Monster Toolkit be the forward most application, and let UMVC3 read inputs while in the background. Then use the mouse to click pause and unpause as needed instead of using the hotkeys. Here is a youtube video showing the pause and unpause working by using the mouse:
If you prefer to use the hotkeys there is another option. It is possible to just do the combo on player 2 side by setting up the toolkit to control the dummy. Here is a youtube video showing that approach instead.
Very interesting issue. In the short term I recommend either using the slow down modes instead of pause for that use case or building a combo by hand in the input editor (this is how I do most TAS stuff). I will look into this after the holiday. I'm not particularly good at umvc3. If you could give me a zero input sequence with some times where you want pause and unpause to work it would help me look into it. Did you try using the keyboard hotkey for the pause and unpause? Not alt/tabbing to swap the game in and out of the foreground may work.
I confirmed the issue with saving. The bug was added when adding the feature of last folder save/loaded from being saved. Version 0.0.6.1 has been released and fixes the issue as well as adding more informational dialogues in the Midi config window when attempting to apply invalid configs. Keep me updated on the ab/xy flip issue. I have not seen this issue before.
Thank you so much for this detailed feedback! That is VERY odd about the button change issues. If you use an input visualizer like https://gamepadviewer.com/ does it show the correct buttons? I'll look into the midi config issue right away.
Following the steps in that first tutorial video I linked I was able to use the playback functionality in Xrd with version 0.0.5.9 (latest build). It should work in both timer mode and frame locked mode. If you continue to have issues it would help me solve your problem to have a video of you starting from your adapter unplugged and the toolkit closed, walking me through opening the toolkit and showing any terminal output from it, then plugging in your adapter, then opening the game and showing the sequence recorded, show the sequence in the editor then show the playback not working and your controller not controlling the character while the first Virtual gamepad is on playback mode. I know it's a lot to ask. But if I can't reproduce the issue here it is hard for me to help. And I want every person who uses this software to be able to use it to the fullest.
Another possibility is that ViGEm bus is failing to initialize. So please check that the terminal window has no errors messages after launching like"The operation has completed successfully". I am confident playback should be working in both those versions in xrd. Please reply here and let me know if either of these posts help you resolve the issue and get the Toolkit working fully.
Check the virtual gamepad player number in the UI. There is a good chance your plugged in controller is taking Player 1 spot and the Toolkit has 2 and 3. So you can record the sequences, but when you change the controller mode of virtual gamepad 1 to playback, your physical controller still has control of the character. Follow this video for setup and let me know if that works for you.
It's a cute idea. I have a few notes; having a visual indicator or warning that a platform is about to fall is a good idea. Like a slight vibration or tremor animation. Also, the pacing in the level isn't super fun. It really isn't at all clear how the platforms move with the music. Having a clear base line or beat that the platforms are timed to, like a marching song would be better for making that clear. Also, the jump doesn't feel great in terms of control nor the side to side movement. I like that the double jump is a way of correcting if you jump and realize the timing was wrong. I think the mechanics and level design of the game you have could be more fun before adding new things but I agree new things will help it.
I think the game currently lacks a fundamental core to build everything around. If you want the core to be "the the platforms move to music", then that needs to be done a lot better. I like the idea of a music platformer in general so it's not that I think that's a bad idea. Also, the lives/health mechanic isn't great. Mainly because the level doesn't feel fun to play, so forcing the player all the way back to the beginning when a lot of the level design seems to be about gotchas and failing then learning and memorizing rather than cluing the player in advance about what's coming next. Keeping the lives and health is fine if you change the level design to be either more fun or more fair. Now that all the criticism is done I do think you did a really good job for the time you have spent. The art is very polished and the game isn't buggy. The tutorial is also well done.
Doh! Thanks! https://ldjam.com/events/ludum-dare/39/current-1 I'll add it to the description as well.