It should be noted that in my previous post, I'm merely speculating that they're going to do X and Y axes and leave it at that. But it certainly comes across that way in the blog post.
Printable View
It should be noted that in my previous post, I'm merely speculating that they're going to do X and Y axes and leave it at that. But it certainly comes across that way in the blog post.
Can somebody summarise the issue(s) both within Steam and outside of Steam definitively? I an unable to replicate any of these issues on my own setup.
Perhaps we can all throw some ideas around as to how best to overcome this. For me, being unsure that players will be able to use a controller is pretty serious.
Found an older forum post of mine summarizing my findings; I forgot the issues only occured with multiple gamepads connected, sorry for that.
Here are some findings for the current version of joy2, I'll see if I find a time slot to create a separate .mfa for testing, but I cannot promise atm cuz I've some daunting deadlines to fulfill. --> edit: still have no time
Xbox gamepad object: Will always work correctly, key rebinding on Steam included, for both real Xbox controllers and devices emulated as Xbox input, also a combination of both is good
Joy2: For only ONE gamepad connected + Steam configuration, it now seems to read out correctly for any device I checked (checked Xbox, PS4 and a generic gamepad)
Joy2: If 2 gamepads are connected and at least one of them is no real Xbox controller (but some other device emulated as Xbox), one of the controllers will randomly stop working or provide false inputs, while the other one still works.
Very important: This issue will appear outside the Steam environmet too, for example if you connect Xbox controller plus PS4 controller with DS4 emulation.
I also tested the following cases for Joy2 with Steam configuration enabled.
Xbox + Xbox: OK
Xbox + PS4: Fail
PS4 + Generic: Fail
Xbox + Generic: Fail
Conclusions:
With the present controller emulation options provided on Steam, @raxabit ist right. If a readout pattern using Xbox gamepad object is implemented, players will get their devices to work within Steam. Joy2 seem obsolete and may produce severe issues if more than one gamepad is connected and Steam configuration is enabled. It seems to work fine for only one connected device tho.
Outside the Steam environment and its emulation options, Joy2 is still needed to support generic controllers. In case more than one gamepad is connected, and at least one of them is emulated as Xinput, the same issues as on Steam may occur.
Joy2 extension seems to have a specific problem with multiple gamepads that use Xinput emulation.
Fantastic summary - thanks for taking the time to write that... and if Steam configuration is disabled for the game on Steam, would you left with, effectively, the non-Steam situation?
The point that seems to break it for Joy2 is always XInput emulation + 2 Controllers, no matter where that scenario happens. For example, if I play my game stand-alone on desktop and Steam client with a gamepad configuration is running, it will mess even the desktop version up. Also having Steam configuration disabled, but DS4 emulation active on your machine will cause issues on Steam too. Honestly, I would not care that much if Outbuddies was not a CoOp game xD. I think for SP games a help topic addressing the issue on Steam may be enough.
Would the DLL object be able to retrieve device names?..
I was going to start playing around with it but I have never used it before.
Speaking of DLLs, I remember that long ago I read somewhere that it helps with compatibility to include xinput1_3.dll in your game folder, which I've always done ever since. Does that make any different to the problems, @Julian82 ?
Nope, not for me at least. Probably cuz it’s not XInput related. I do include this think too tho;)
Hi,
I have released Dungeons of the Fallen last Saturday. It is supposed to be a 4-player couch coop game but due to Steam meddling with the configuration many of the players can't get even one controller to work. I've got LOTS of refunds due to that. Almost nobody wants to play using keyboard + mouse and coop is impossible without controllers.
I used Volnaiskra solution(based on the joystick extension) and with some copying&pasting (each player has its own objects that store controller values) the controllers work great with zero issues at all. We've had lots of fun playing the game together with my friends. We used both xbox and ps4 controllers.
Unfortunately it was after the release when I found out that something like Steam Controller Configuration exists. I wrote to Volnaiskra for help and he showed me this topic. Now I realized that all coop tests we've done were without Steam so when I get home I need to also check how the game behaves with four controllers+Steam.
I'll let you know of my findings. I will probably create a new topic so maybe we can get Clickteam help. I've put a lot of heart and thousands of hours of evening/weekend work in my game. Players that get past the initial issues report that the game is awesome and provides a lot of fun.
It is my fault that I released the game too soon without proper testing but I was overworked as hell. It took me over 3 years to finish the game and the month before release was pretty hardcore. Almost everyday in September was a 7 to 23 crunch.
There are several other issues with the game like fps drops on some computers, inaccurate aiming and not intuitive default control mapping, but these I should be able to alleviate with a bit more work. I strongly hope the controller issues can be resolved too.
You can check the game here: https://store.steampowered.com/app/7...of_the_Fallen/
Out of curiosity, what's the date of joystick2.mfx in your data/runtime directory? If it's older than April 2019 or if its size is different from 174592 bytes, then probably it's outdated, you should update it via the extension manager. There are 2 issues with the Joystick2 objects on Steam, one that is fixed in the latest version (iirc, joystick not recognized when using custom Steam configs) and the one mentioned above by Julian82 (that we can't reproduce here).
Hi Yves,
thanks for the reply! I'll check after I come back from my job and let you know.
Hi Yves yhought id check out my Joystick2.mfx as i noticed you said it had been updated.
I have Fusion 2.5 Dev and just did the reinstall Joystick2.mfx through the extension manager. it lists as outdated even after reinstall and refresh. I also checked the details in my extension folder and its different to what is mentioned above. I screen capped the info right after reinstalling it with the extension manager.
Attachment 27660
Attachment 27661
Can you let me know what i should do to get the latest version installed.
Thanks and its cool you are onto this thread.
Ah, I think it's a known (display) issue that happens sometimes in the extension manager. I'm checking.
Thanks for the input, Yves. Very promising!
I've checked, actually it seems it's due to time differences between the place the file was created for the extension manager and the place where it's used. I was pretty sure I had taken this into account when the extension manager was done, probably this was not done correctly. I don't know yet how we'll fix it.
Well, anyway if you've re-installed it, then it's up-to-date (you can check the last modification date of the .mfx, it should be April 29th).
Thanks Yves the modification date is April 29th the size is different to what you mentioned above 174592 bytes. Mine is showing as size 187 KB (192,000 bytes) and size on disk 188 KB (192,512 bytes) that made me think it was not the right one.
I guess the other two extensions in the outdated list in the pic i uploaded are suffering from the same error also. I wont worry about it and leave it in your hands. many thanks for the reply.
UPDATE:
@Yyves Thank you so much! You saved me :D After I updated the joystick extension people no longer have issues with Steam. At least that's what players told me after I released a patch. Thank you <3
I am still waiting for multiplayer feedback after updating the extension but we were able to play on xbox+ps4 controller with no issues. However, instead of emulation I am using volnaiskra solution.
That sounds great! I’ll test tomorrow and provide feedback how it works with Outbuddies. I’ve not re-evaluated the joy2 extension since the April update, let’s hope for the best. Thanks @Yves !
Just tested, issues still persist in my setup as outlined in my previous post. Both on a desktop setup with active XInput emulation and on Steam with controller configuration enabled. As soon as emulation is turned off things return to normal. I'm on the latest joy2 version. Found a little test .mfa I made last year to show the assignment issue. It's just one line that reads out "last input". With active XInput emulation, this value will always be dominated by one controller, while pressing the other one just induces a short flicker. Here's the Download.
As a side note: Steam just introduced "Remote Play", it's a Steam-based emulation that allows players to invite a friend elsewhere to their account for a local Co-Op session. Steam says the input will be nearly lag-free and the second player won't even have to own the game. This is such great news for us indies. We've not tested this with Outbuddies yet, think the service will launch late October, but I'll report how it behaves on XInput and Joy2. https://www.pcgamer.com/steams-remot...iplayer-games/
I've tested your example again. The "Last active joystick" expression of the Joystick 2 object is, IMHO, not significant to show issues. Joystick values may change often even if you don't touch the joystick, so it might indicate a change even if you didn't touch it if the dead zone is not large enough. Maybe the reason why the value changes sometimes in your example. Maybe a "Set dead zone" action would help?
Could you post another example that better shows the problem?
@Yves : You have the Outbuddies .mfa, choose the generic gamepad input in the options menu, that means using joy2, then you can test if you have the same issues. For local CoOp, call the Pause menu and press joystick up. You'll then be asked to assign a device for each player. This is the first point input will fail. Also when connecting two gamepads in SP, one of them might not work, although it should always read out the "last active" one. It's honestly impossible for me atm to dissect this from this giant project. An option is to modify the thing I presented and check if narrow dead zones actually cause this, I may be able to set it up in the next weeks, but for now, I need to care about the Outbuddies release next Tuesday. Fingers crossed^^
edit: Btw, I don't think dead zones are an issue, because if this was the cause turning emulation On/Off would likely make no difference.
@hamstermp I'm very pleased to hear that! I hope the rest of your launch goes smoothly!