1 user browsing Discussion: Nicholas Steel | 1 guest | 6 bots  
Main » Discussion » Retroarch's (controller) interface is an bad abstraction
Pages: First Previous 1 2 3 4 Next Last
Posted on 19-03-02, 00:50 (revision 1)
Stirrer of Shit
Post: #61 of 717
Since: 01-26-19

Last post: 74 days
Last view: 72 days
This might be a controversial opinion and surely I am going to get a lot of flak for it, but regarding controls those obviously vary per-game. Furthermore, if one is playing on a PC, in many games the input could be more complex than just mapping mouse -> analog stick. For instance, in many games doing that results in a very "mushy" input because of the corrections applied internally to the joystick input. Add in the limits of the joystick and that the appropriate input scheme on the menu screen is often wildly different than that in the game, and the obvious solution emerges.

Just like emulators ship with cheat databases, they should ship with information of how best to do controls. Ideally, packaged like some kind of lua script that reads certain hardcoded offsets and the controls, and then yields as output either button presses or straight memory injection. Then this could be grouped by genre, giving you one set of controls for racing games, one set for FPS games, and so forth. It would be sufficient with direct but game-specific mappings to achieve playability, and only for more advanced applications would one need to delve deeper into the matter and write scripts.

Of course, this isn't "accurate". But neither is it to use a mouse and keyboard to start with. And if you have reproduction gamepads for each console, the problem is already solved.

There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this.
Posted on 19-08-02, 17:52
Post: #11 of 19
Since: 11-08-18

Last post: 220 days
Last view: 194 days
I have one really big annoyance with how RetroArch handles controllers:

If my controller has an B button, and the system I'm emulating has an B button, I want real B to trigger emulated B, regardless of button placement. So if I'm playing an SNES game with an Xbox controller, Xbox B means SNES B.

However, if the real and emulated button labels don't match, I want RetroArch to map according to placement. So if I'm playing a Playstation game with an Xbox controller, Xbox B means Playstation O.

There's no way to set RetroArch to do both these things, short of configuring each system individually, which is quite annoying in RetroArch's UI.

I'm probably being overly picky, but this behavior does strike me as the logical way to do things.
Posted on 19-08-02, 18:17
20% cooler than thou art

Post: #318 of 480
Since: 10-29-18

Last post: 1 day
Last view: 2 hours
So lemme get this straight.

The right button is A on SNES, B on Xbox, and on Playstation. You want a Playstation game to see B as , because the placement matches, but a SNES game to see B as B, the bottom button... because the symbols match?

That doesn't strike me as very logical, to be honest.
Posted on 19-08-02, 18:22
Post: #12 of 19
Since: 11-08-18

Last post: 220 days
Last view: 194 days
Posted by Kawa
So lemme get this straight.

The right button is A on SNES, B on Xbox, and on Playstation. You want a Playstation game to see B as , because the placement matches, but a SNES game to see B as B, the bottom button... because the symbols match?

That doesn't strike me as very logical, to be honest.


Yes, because then I can adapt to whatever prompts are on screen. But it's very possible I'm weird and this doesn't actually make sense to anyone else, so...
Posted on 19-08-02, 18:23
The best thing since bread glue

Post: #319 of 480
Since: 10-29-18

Last post: 1 day
Last view: 2 hours
But when you play a Playstation game the prompts still wouldn't match the actual buttons.
Posted on 19-08-02, 18:25
Post: #13 of 19
Since: 11-08-18

Last post: 220 days
Last view: 194 days
Posted by Kawa
But when you play a Playstation game the prompts still wouldn't match the actual buttons.


Yeah, but since the Playstation symbols don't actually exist on my controller (well, except X, but that's different), my mind adapts to the Playstation button placement more easily.
Posted on 19-08-02, 18:35
Amateur Vidya Dev'r

Post: #320 of 480
Since: 10-29-18

Last post: 1 day
Last view: 2 hours
Thus confirming you're just being weird.

I for one don't usually play Playstation games, and when I emulate a console I prefer the keyboard. Because I too am weird. I only have a controller here to test support in my own work, and the only reason it has the XBox face button layout is because XInput is love.
Posted on 19-08-02, 18:44
Post: #37 of 58
Since: 10-29-18

Last post: 26 days
Last view: 21 hours
I have the opposite issue. I want all games to describe buttons by their Nintendo-sanctioned names. I always screw up quicktime events in xbawks games because they tell me to press 'X' and I start jamming on the top button.
Posted on 19-08-02, 18:49
Not from my cellphone

Post: #469 of 664
Since: 10-30-18

Last post: 4 days
Last view: 3 hours
Posted by Wowfunhappy
I have one really big annoyance with how RetroArch handles controllers:

If my controller has an B button, and the system I'm emulating has an B button, I want real B to trigger emulated B, regardless of button placement. So if I'm playing an SNES game with an Xbox controller, Xbox B means SNES B.

However, if the real and emulated button labels don't match, I want RetroArch to map according to placement. So if I'm playing a Playstation game with an Xbox controller, Xbox B means Playstation O.

There's no way to set RetroArch to do both these things, short of configuring each system individually, which is quite annoying in RetroArch's UI.

I'm probably being overly picky, but this behavior does strike me as the logical way to do things.

No, you're not being picky. This can be possibly seen as fallout from the "all controllers are Xbox controllers" model that the entire industry (not only some emudevs) seem to be fixated on.

If you think that XB->PS mappings are wrong, I don't want to think how they deal with layouts with more or less than 4 action buttons. Like Sega gamepads - the Genesis and Saturn pads are a hell to map to 4 face buttons because those have either 3 or 6 action buttons. There is no easy way to win this out (I end mapping C/Z to the shoulder buttons, but depending on the game this goes from "nice" to "ARGH!"), other than actually buying an appropriate replica controller or a retro adapter. The best emudevs can do is to actually make it easy to change controller mappings.

Licensed Pirate® since 2006, 100% Buttcoin™-free
Posted on 19-08-02, 19:05
Ambidextrous Sprite

Post: #322 of 480
Since: 10-29-18

Last post: 1 day
Last view: 2 hours
Posted by tomman
(I end mapping C/Z to the shoulder buttons, but depending on the game this goes from "nice" to "ARGH!")
Arcade to SNES ports of Street Fighter games, anyone?
Posted on 19-08-02, 21:52

Post: #108 of 158
Since: 10-30-18

Last post: 2 days
Last view: 1 day
Posted by tomman

No, you're not being picky. This can be possibly seen as fallout from the "all controllers are Xbox controllers" model that the entire industry (not only some emudevs) seem to be fixated on.

You can blame Microsoft for that. They based the XInput API on the Xbox controller and deprecated directinput. So there’s controllers out there that only support XInput, and emu devs have to accommodate or require users to have a 3rd party mapping program.
Posted on 19-08-02, 22:13
BL4R

Post: #323 of 480
Since: 10-29-18

Last post: 1 day
Last view: 2 hours
I'm happy to report mine has a switch on the bottom to enable DirectInput mode.

I don't use it.
Posted on 19-08-02, 23:22
Stirrer of Shit
Post: #558 of 717
Since: 01-26-19

Last post: 74 days
Last view: 72 days
The "all controllers are X360 or close enough" is an acceptable way of going at it, even if it has its negatives. Letting users configure individually, while nice, will be a lot of effort for the 20-odd consoles they support.

I'd like to refield my suggestion: two layers. Each game gets assigned to a preset (FPS, racing, platformer, etc), and then that preset gets mapped to the controller in an idiomatic way.

So for instance, in the FPS preset, you define the most common buttons:
* movement (analog)
* looking around (analog)
* jump
* crouch
* reload
* action
* switch weapon 1 (e.g. to primary, or left)
* switch weapon 2 (e.g. to secondary, or right)
* melee
* sprint
* walk
* equipment 1 (e.g. grenade slot 1)
* equipment 2 (e.g. grenade slot 2)
* aim
* shoot
* pause
* scoreboard
* wildcards 1-4 (e.g. c-buttons)

And then, for each console, you have a base preset. And then some game-specific overrides, in case they decide to switch stuff around. Then, those presets have default mappings to the different controllers (respecting the applicable idioms). And players can override them.

So for PC, this mapping might look like:
* WASD
* mouse
* space
* ctrl
* R
* E
* mwheeldown
* mwheelup
* mouse3
* shift
* caps
* mouse4
* mouse5
* mouse2
* mouse1
* escape
* tab
* ZXCV

Is it perfect? No, some games might do arcane stuff. Is it a lot of work? Yes, comparatively. But I would argue it'd be the best way of going at things.

On the other hand, there is something beautiful about the homogeneity of fuck you, go buy a normal controller like a normal person. A consistent standard is always easier for everybody. On the same note, fuck 4K and your ridiculous DPI settings. A pixel is a pixel, period. People should use 1080p screens, and applications should take this into account (e.g. assume they do and invoke UB otherwise), unless they're also designed to be used on laptops.

Terry was absolutely right on the macro level and catastrophically wrong on the micro level, as such often are.

There was a certain photograph about which you had a hallucination. You believed that you had actually held it in your hands. It was a photograph something like this.
Posted on 19-08-03, 04:41
Custom title here

Post: #606 of 866
Since: 10-30-18

Last post: 2 days
Last view: 15 hours
Posted by hunterk
I have the opposite issue. I want all games to describe buttons by their Nintendo-sanctioned names. I always screw up quicktime events in xbawks games because they tell me to press 'X' and I start jamming on the top button.
I want Nintendo Co, Ltd to stop insisting the dyslexic labels they put on the Nintendo controller are in any way right, and start putting button labels in the correct order.

--- In UTF-16, where available. ---
Posted on 19-08-08, 15:13

Post: #66 of 88
Since: 11-04-18

Last post: 193 days
Last view: 193 days
Posted by CaptainJistuce
I want Nintendo Co, Ltd to stop insisting the dyslexic labels they put on the Nintendo controller are in any way right, and start putting button labels in the correct order.


that always struck me as odd too.Only reason I can think of maybe is because Japanese normally reads from right to left so they went with that for the famicom then the international NES kept that placement then afterwards they kept using that because no sense in changing what people are used to I guess
Posted on 19-08-08, 15:38
Full mod

Post: #313 of 394
Since: 10-30-18

Last post: 31 days
Last view: 2 hours
I always figured it was like cutlery. You know, the entrée cutlery is on the outside edge, the main course cutlery is just inside that, and the desert cutlery is towards the centre. Likewise, the most important buttons go on the outside edge (D-pad on the left and A on the right), the less-important buttons are just inside that (B), and the least important buttons are in the middle (Select and Start).

The ending of the words is ALMSIVI.
Posted on 19-08-08, 16:23
Secretly, I'm Derpy Hooves

Post: #329 of 480
Since: 10-29-18

Last post: 1 day
Last view: 2 hours
😮 Creative. I'll give you that.
Posted on 19-08-09, 16:52 (revision 4)
Post: #15 of 19
Since: 11-08-18

Last post: 220 days
Last view: 194 days
Posted by CaptainJistuce
I want Nintendo Co, Ltd to stop insisting the dyslexic labels they put on the Nintendo controller are in any way right, and start putting button labels in the correct order.


Is the Microsoft way any more "right"?

We read up → down and left → right.

On Microsoft controllers, A is to the left of B, but B is above A
On Nintendo controllers, A is above B, but A is to the right of B.

So both controllers get something wrong and something right. And that's the most you can ever do as long as we're using a diamond layout. (Well, I guess you could put A and B on opposite sides, but that would be weird.)

If anything, I think Nintendo's arrangement makes more logical sense. Because if I'm reading a paragraph, I'll always read the top line first, even if the first word is indented or what have you.

What would be really nice is if Microsoft just hadn't decided to change up the order in the first place! (Or should we blame Sony for swapping the confirm and deny buttons in the west for some arcane reason, even though they used different symbols?)
Posted on 19-08-09, 17:18
May contain nuts

Post: #330 of 480
Since: 10-29-18

Last post: 1 day
Last view: 2 hours
Posted by Wikipedia
In an interview with Teiyu Goto, designer of the original PlayStation controller, he explained what the symbols mean: The circle and cross represent "yes" and "no," respectively (which explains their common use as "confirm" and "cancel" in games; this layout is reversed in Western games)
Posted on 19-08-09, 22:45
Custom title here

Post: #620 of 866
Since: 10-30-18

Last post: 2 days
Last view: 15 hours
Posted by Wowfunhappy
Posted by CaptainJistuce
I want Nintendo Co, Ltd to stop insisting the dyslexic labels they put on the Nintendo controller are in any way right, and start putting button labels in the correct order.


Is the Microsoft way any more "right"?

We read up → down and left → right.

On Microsoft controllers, A is to the left of B, but B is above A
On Nintendo controllers, A is above B, but A is to the right of B.

So both controllers get something wrong and something right. And that's the most you can ever do as long as we're using a diamond layout. (Well, I guess you could put A and B on opposite sides, but that would be weird.)

If anything, I think Nintendo's arrangement makes more logical sense. Because if I'm reading a paragraph, I'll always read the top line first, even if the first word is indented or what have you.

What would be really nice is if Microsoft just hadn't decided to change up the order in the first place! (Or should we blame Sony for swapping the confirm and deny buttons in the west for some arcane reason, even though they used different symbols?)
Why does Microsoft get credit for inventing button labels that read in the right order when Sega's been doing it since the 80s?

As far as top to bottom goes... the quad could stand to have a shallower slant. Or we could go back to a 3/3 layout.

--- In UTF-16, where available. ---
Pages: First Previous 1 2 3 4 Next Last
Main » Discussion » Retroarch's (controller) interface is an bad abstraction
Kawa's Github