It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
So GOG pre configured a bunch of Konami Games to work with xinput controllers. These include Metal Gear Solid 1 & 2 and Silent Hill 4. I think this is a great idea and I'm thinking maybe they could do this to some other as well. How about the Prince of Persia games, or the legacy of Kane games. Just to clarify these changes did not affect the games' ability to use older controllers, but it saves a lot of time for those using xinput. I would like to see this applied to more games.

Please make this happen gog and if anyone from staff wants help with this please just DM me :)
avatar
Magmarock: So GOG pre configured a bunch of Konami Games to work with xinput controllers. These include Metal Gear Solid 1 & 2 and Silent Hill 4. I think this is a great idea and I'm thinking maybe they could do this to some other as well. How about the Prince of Persia games, or the legacy of Kane games. Just to clarify these changes did not affect the games' ability to use older controllers, but it saves a lot of time for those using xinput. I would like to see this applied to more games.

Please make this happen gog and if anyone from staff wants help with this please just DM me :)
Generally it’s not GOG that would update them but the IP owner.
It’s pretty easy to do it yourself, I tend to use antimicro:
https://github.com/AntiMicro/antimicro
avatar
Magmarock: So GOG pre configured a bunch of Konami Games to work with xinput controllers. These include Metal Gear Solid 1 & 2 and Silent Hill 4. I think this is a great idea and I'm thinking maybe they could do this to some other as well. How about the Prince of Persia games, or the legacy of Kane games. Just to clarify these changes did not affect the games' ability to use older controllers, but it saves a lot of time for those using xinput. I would like to see this applied to more games.

Please make this happen gog and if anyone from staff wants help with this please just DM me :)
avatar
nightcraw1er.488: Generally it’s not GOG that would update them but the IP owner.
It’s pretty easy to do it yourself, I tend to use antimicro:
https://github.com/AntiMicro/antimicro
They already did it for the Konami games.
Just buy a controller that solves that vendor lock.

Like this.
Post edited September 01, 2021 by Darvond
avatar
Magmarock: They already did it for the Konami games.
Aren't those emulated console / arcade games though? It's easy to add controller support on an emulator level (eg, DOSBox supports controllers for DOS games that don't). As you explained yourself they didn't change any game code, merely the pre-packaged default settings the emulator 'wrapper' uses.

As nightcraw1er.488 said, this works for emulated stuff, but GOG can't add xinput to any older Win32 game directly, you have to use a utility such as xpadder or AntiMicro. Even if the source-code were made available, and even if GOG were try and hack support into someone else's code, all the original compilers, toolkits, etc, used to compile the game aren't used, and recompiling it on a new one changes stuff, could break mods, introduce new bugs, etc.

And on top of that proper "controller support" in many games (particularly FPS's & action adventures) isn't just about the technical code that receives xinput input correctly and being able to move, but also involves a lot of secondary "under the hood" code, eg, combat for games designed with controller support = controller auto-aim, enemy hitbox enlargement, snap-to-target / target locks are what makes the difference between "I can move around" vs "It's actually playable in a practical sense". Take that quality of life code away and just have "raw" input, and many games that were never originally designed around controllers are rough going with just "controller to keyb / mouse translation" and nothing else...
Post edited September 01, 2021 by AB2012
avatar
Darvond: Just by a controller that solves that vendor lock.

Like this.
I own that controller. You don't have much experience using a controller on pre 2006 games do you?
avatar
Magmarock: They already did it for the Konami games.
avatar
AB2012: Aren't those emulated console / arcade games though?
No, they're the PC versions. The VR fps mode has a separate settings menu, where you're supposed to assign the triggers to be the fire buttons.
avatar
Magmarock: So GOG pre configured a bunch of Konami Games to work with xinput controllers. These include Metal Gear Solid 1 & 2 and Silent Hill 4. I think this is a great idea and I'm thinking maybe they could do this to some other as well. How about the Prince of Persia games, or the legacy of Kane games. Just to clarify these changes did not affect the games' ability to use older controllers, but it saves a lot of time for those using xinput. I would like to see this applied to more games.

Please make this happen gog and if anyone from staff wants help with this please just DM me :)
avatar
nightcraw1er.488: Generally it’s not GOG that would update them but the IP owner.
It’s pretty easy to do it yourself, I tend to use antimicro:
https://github.com/AntiMicro/antimicro
With all due respect I think you've read my post properly.
Post edited September 01, 2021 by Magmarock
avatar
Magmarock: I own that controller. You don't have much experience using a controller on pre 2006 games do you?
Sure I do. Switch it over into the D-Input mode. (In fact, that's what I have it in most of the time.) That's what the switch on the back is for; X-Input, D-Input, Mac Mode (because why would you game on a Mac?) and Switch mode.
avatar
Magmarock: So GOG pre configured a bunch of Konami Games to work with xinput controllers. These include Metal Gear Solid 1 & 2 and Silent Hill 4. I think this is a great idea and I'm thinking maybe they could do this to some other as well. How about the Prince of Persia games, or the legacy of Kane games. Just to clarify these changes did not affect the games' ability to use older controllers, but it saves a lot of time for those using xinput. I would like to see this applied to more games.
Not sure how (well) it works with those Konami games, but there is one general problem with older DirectInput PC games and newer XInput gamepads, which I think normally goes beyond mere wrong button placement etc.

The analog sticks' area of movement with the older DirectInput sticks is a square, while with the newer XInput gamepads (like the XBox gamepads etc.) it is round. What this causes in practice is that in older DirectInput games, you can't reach the diagonal maximums with the new XInput gamepads.

This problem can specifically be seen with e.g. Prince of Persia: Sands of Time. If you run in a straight line and then want to turn at the same time, the character stops running (in a circle) and instead just walks in a circle. This is because the game is expecting you to push the stick even more to the diagonal direction, which you can't do with the newer gamepads with a round area of movement.

I guess you could fix this by expanding the XInput round area of movement so that it would reach those diagonal maximums, with the downside that it would be less accurate then overall.

Maybe the attached picture will make it clearer.
Attachments:
Post edited September 01, 2021 by timppu
avatar
Magmarock: So GOG pre configured a bunch of Konami Games to work with xinput controllers. These include Metal Gear Solid 1 & 2 and Silent Hill 4. I think this is a great idea and I'm thinking maybe they could do this to some other as well. How about the Prince of Persia games, or the legacy of Kane games. Just to clarify these changes did not affect the games' ability to use older controllers, but it saves a lot of time for those using xinput. I would like to see this applied to more games.
avatar
timppu: Not sure how (well) it works with those Konami games, but there is one general problem with older DirectInput PC games and newer XInput gamepads, which I think normally goes beyond mere wrong button placement etc.

The analog sticks' area of movement with the older DirectInput sticks is a square, while with the newer XInput gamepads (like the XBox gamepads etc.) it is round. What this causes in practice is that in older DirectInput games, you can't reach the diagonal maximums with the new XInput gamepads.

This problem can specifically be seen with e.g. Prince of Persia: Sands of Time. If you run in a straight line and then want to turn at the same time, the character stops running (in a circle) and instead just walks in a circle. This is because the game is expecting you to push the stick even more to the diagonal direction, which you can't do with the newer gamepads with a round area of movement.

I guess you could fix this by expanding the XInput round area of movement so that it would reach those diagonal maximums, with the downside that it would be less accurate then overall.

Maybe the attached picture will make it clearer.
So that's why that happens with sands of time. I still think it's a good idea to have the buttons pre configured to save time, but reducing the range of the analog sticks should fix that. Most decent controllers will have software to do this and if not there is something that should make it work. But an xinput pre config would still save a lot of time and messing around.
avatar
timppu: I guess you could fix this by expanding the XInput round area of movement so that it would reach those diagonal maximums, with the downside that it would be less accurate then overall.

Maybe the attached picture will make it clearer.
I'm sure stuff like that contributes to the myth that controllers were worse than mice.
It may have already been mentioned, but also consider the angle of "is it financially worthwhile to spend time doing this?" Konami's releases have been selling very well compared to many other GOG releases (and GOG may have been getting a lot of complaints about controllers, I don't know), so it makes sense to invest extra time into these.
avatar
Magmarock: So GOG pre configured a bunch of Konami Games to work with xinput controllers. These include Metal Gear Solid 1 & 2 and Silent Hill 4. I think this is a great idea and I'm thinking maybe they could do this to some other as well. How about the Prince of Persia games, or the legacy of Kane games. Just to clarify these changes did not affect the games' ability to use older controllers, but it saves a lot of time for those using xinput. I would like to see this applied to more games.
avatar
timppu: Not sure how (well) it works with those Konami games, but there is one general problem with older DirectInput PC games and newer XInput gamepads, which I think normally goes beyond mere wrong button placement etc.

The analog sticks' area of movement with the older DirectInput sticks is a square, while with the newer XInput gamepads (like the XBox gamepads etc.) it is round. What this causes in practice is that in older DirectInput games, you can't reach the diagonal maximums with the new XInput gamepads.

This problem can specifically be seen with e.g. Prince of Persia: Sands of Time. If you run in a straight line and then want to turn at the same time, the character stops running (in a circle) and instead just walks in a circle. This is because the game is expecting you to push the stick even more to the diagonal direction, which you can't do with the newer gamepads with a round area of movement.

I guess you could fix this by expanding the XInput round area of movement so that it would reach those diagonal maximums, with the downside that it would be less accurate then overall.

Maybe the attached picture will make it clearer.
While it's true direct input supports a square range of joystick movement, I have never seen a direct input gamepad with a control stick with anything other than a circular or octagonal range of movement, which just gives you a circle (or octagon) within the square theoretical range of movement. The behaviour in Prince of Persia sounds like badly done direct input support to me.
Obviously I'm aware that flight sticks and the like might have a square range, but I've never seen that on a direct input native gamepad.
avatar
my name is supyreor catte: While it's true direct input supports a square range of joystick movement, I have never seen a direct input gamepad with a control stick with anything other than a circular or octagonal range of movement, which just gives you a circle (or octagon) within the square theoretical range of movement. The behaviour in Prince of Persia sounds like badly done direct input support to me.
Obviously I'm aware that flight sticks and the like might have a square range, but I've never seen that on a direct input native gamepad.
And I am the opposite: I never recall seeing an (old) PC DirectInput analog gamepad or joystick/flightick with round(-ish) range of movement. The only "exception" to this rule are the newer Logitech F310/F510/F710 gamepads which have an optional support for DirectInput, but I consider them also as XInput gamepads because that is their primary mode, and overall those gamepads are clearly trying to mimic the XBox360 (XInput) gamepads with their analog triggers, button naming and colors etc.

I have a couple of older DirectInput (I think Logitech and some cheaper unknown brand) PS2-lookalike gamepads, which all have a square range of movement with the analog sticks. I recall wondering in the past how come they have a square range of movement, while e.g. the PS2 gamepads that I also had (used with my PS2 console naturally), had round range of movement.

The analog stick evolution was apparently different on PCs and consoles, on PCs the DirectInput analog gamepads mostly just adopted the same square range of movement that was already present in PC joysticks/flightsticks, while consoles, starting from the first Playstation analog dualshock gamepads, decided to go with a round range of movement.

When XBox360 console gamepads started becoming usable and commonplace also on PC/Windows with the introduction of XInput, then the round area of movement started becoming the norm also on PC, at least on gamepads (frankly I am not sure if PC flightsticks have still retained square range of movement, I'll have to check my new-ish flightstick which I've yet to use, it is still in its box...).
avatar
Magmarock: So that's why that happens with sands of time.
It naturally affects other older PC games too which have analog (usually joystick/flightstick) support. I recall trying to play some space game like some Wing Commander or Privateer with my Logitech F310 gamepad, but then I realized I couldn't move the ship diagonally at full speed due to the aforementioned "round vs square" problem.

So I bought a new PC flightstick so that I can play such games with it, if needed. I should try to inspect how easy it is to change the range of the gamepad analog sticks to overcome that problem, so that new XInput gamepads would also be usable with such older PC games.

EDIT: I recall you can even see this behavior if you go to Windows Control Panel/Device Manager, to the utility where you can test all the buttons and analog stick(s) of your gaming controller. When you keep making round movements with the analog stick(s) over and over again, you can't reach the corners in that utility. At least I notice this clearly with my Logitech F310 gamepad (which has a round analog range of movement) in Windows 7.
Post edited September 02, 2021 by timppu
avatar
timppu: I have a couple of older DirectInput (I think Logitech and some cheaper unknown brand) PS2-lookalike gamepads, which all have a square range of movement with the analog sticks. I recall wondering in the past how come they have a square range of movement, while e.g. the PS2 gamepads that I also had (used with my PS2 console naturally), had round range of movement.
Wait, so did those PS2 lookalike gamepads look like PS2 pads with square gates around the sticks? Or are you just saying that you could reach the corners in the Windows calibration utility? I too have had PS2 lookalike gamepads, one pre-USB joystick port one - they all had circular gates. I cannot recall whether I could reach the corners in the calibration utility though.

avatar
timppu: EDIT: I recall you can even see this behavior if you go to Windows Control Panel/Device Manager, to the utility where you can test all the buttons and analog stick(s) of your gaming controller. When you keep making round movements with the analog stick(s) over and over again, you can't reach the corners in that utility. At least I notice this clearly with my Logitech F310 gamepad (which has a round analog range of movement) in Windows 7.
Yes, that is mostly what I observe but I don't consider it to be a problem. I see the square range as a theoretical range that exists simply because we're looking at two axes of equal range which naturally forms a square. I have never known a gamepad that allows for a square range of movement so I would never expect to be able to reach those corners.

I do have one controller which allows me to reach the corners from a circular stick, but it's just that the output is effectively a circle that is bigger than the square (like the right hand side of the diagram you posted). This brings its own problems, being much too sensitive in the four cardinal directions (i.e. if you want to take a step forward the stick's output maxes out way before the stick has reached its full movement, making it easy to run when you want to walk).

The problem with the corners is that if you're using the stick to measure distance and heading from the centre point*, the corners are further away from the centre point than the cardinal direction positions on the square. If you want to run diagonally in the square model, you've got to move the stick further from centre than if you want to run forwards. This is why I consider the issue in Prince of Persia to be a faulty implementation rather than a fault of the controller.


*Which is how analogue sticks are generally used in games where you're moving a character around and not piloting a ship or something.
avatar
my name is supyreor catte: Wait, so did those PS2 lookalike gamepads look like PS2 pads with square gates around the sticks? Or are you just saying that you could reach the corners in the Windows calibration utility? I too have had PS2 lookalike gamepads, one pre-USB joystick port one - they all had circular gates.
Here is one example, I think Logitech Dual Action USB gamepad was pretty "popular", as popular as PC gamepads were before XBox360 and XInput made them more common:

https://support.logi.com/hc/en-ch/articles/360025260354--Product-Gallery-Dual-Action-Gamepad

https://www.ebay.com/p/1600725933

I think it is pretty apparent in those pictures that the analog range of movement is a square. IIRC I had one of these gamepads at some point (possibly still do somewhere in the closet, unless I threw it away). I also had some cheapo no-name or unknown brand PC gamepad which looked somewhat similar (like a PS2 gamepad), and it also had squares.

As I mentioned, at some point it occurred to me how my PS2 gamepad and those PC gamepads were different in that regard, I recall wondering why there is such a difference.

avatar
timppu: EDIT: I recall you can even see this behavior if you go to Windows Control Panel/Device Manager, to the utility where you can test all the buttons and analog stick(s) of your gaming controller. When you keep making round movements with the analog stick(s) over and over again, you can't reach the corners in that utility. At least I notice this clearly with my Logitech F310 gamepad (which has a round analog range of movement) in Windows 7.
avatar
my name is supyreor catte: Yes, that is mostly what I observe but I don't consider it to be a problem.
Well, it is a problem if the game is expecting the range of movement of the analog controller to be a square, as then you can't necessarily reach the whole range of movement diagonally. That seems to be the case with Prince of Persia: Sands of Time PC version, as well as pretty much any older flightstick game.