Emulator launcher and controller configurator

Status
Not open for further replies.

davejuk

New member
Some emulators are command line only, others have a basic GUI, whilst others have detailed menus with information on each game.

I was wondering if there was a launcher style application that allows me to launch games for any console/emulator from a single place? It would also be great if I could configure my controller in one place, so I don't need to configure every controller in every emulator.

Does such an application exist?
 

ulaoulao

Controller Man
Staff member
I was wondering if there was a launcher style application that allows me to launch games for any console/emulator from a single place?
Yeah they are called fronts ends. Check out quickplay.

The one controller config for all games is not so realistic.
 

davejuk

New member
OK thanks.

I would be very interested to know if there is a controller configurator - it wouldn't need to be much more than a nice GUI with some simple regular expression search and replace on the config files. Once the config file containing the controller set up for each emulator had been identified, that should be a piece of cake.

If there really isn't anything out there then I might consider writing one.
 

FatTrucker

Abusus non tollit usum
Most emulators each deal with their controller options differently and every emulated machine had a different controller with the buttons set out differently and then most people using the emulators will in turn be using different controllers with different layouts and variable methods and drivers.

There's no universal front-end that will automatically map your controller to every emulator as there are just far too many variables to make it worthwhile considering how quick and easy it is to set them up per-emulator.

Its about 10 minutes work to go through the various emulators and set your controllers up with them. Hardly worth the hassle of trying to automate it.

There are applications like Joy2Key and X-Padder that you can use to standardise your controllers output that convert the controller signals into a specified keypress. Handy for emulators that don't allow you to define your own control layouts.

Other launcher front-ends to look at are Mamewah, Mala, GameEx, Maximus and loads of others too.

Here's a few example pics of my setup using mamewah and a couple of PS2 dual shocks.

dsc0233uv7.jpg


dsc0250hd4.jpg


dsc0234fy6.jpg


dsc0235zf8.jpg
 
Last edited:

davejuk

New member
I am familiar with MAMEWAH - I have it installed on an arcade machine in my living room too.

My main interest is in the controller config. It would be fairly straightforward to create one. Not everyone is as technically minded as you are, and it would take them a lot longer than 10 minutes to set up a controller in a dozen different emulators.
 

FatTrucker

Abusus non tollit usum
TBH for the vast majority of emulators its a simple case of selecting their controller config option and pressing the button you want to use for each control (up, down, left, right etc). There's really no technical skills or prior knowledge needed. Granted there are a few that are a little technical and require manipulation of a config file or in the case of Mame awareness of the TAB menu, but for the vast majority its all menu driven and very, very simple.

I'm not trying to put you off, if you have the necessary skills to investigate every emulator (and related plug-in where appropriate) and write an application that will recognise any controller and map its buttons to work in a logical order on every emulator automatically then go for it. I just think given the number of different emulators, controllers, and controller types, it is massive amounts of work for very little return based on the time it takes to simply define your controller per-emulator in the first place.
 
Last edited:

ulaoulao

Controller Man
Staff member
It would be fairly straightforward to create one.
Dont see how you arrived at that notion. You first would need a globe UI, could be drop down to pick each controller and set up a config for it or an ini file for each and every symbol and button there is on all controllers. Then you have to iterate though all the ini files for each emulator ( many, not even remotely the same as the last ) and hack the registry when its used instead of a ini file. Then you have conversions to deal with. For example nes a and b map to snes x and y. Lets not forget about emulator updates. Dolphin changes it ini layout like women does her mind. By the time you think this all out you could have set up 7 emulation boxes! Its just not practical to do it. Sure it could be done, but you would have to have a motive to do such a thing.
 
Last edited:

davejuk

New member
FatTrucker: I don't disagree that it's fairly simple but most users are (in my experience) pretty clueless. The point is that in every emulator it is slightly different and in most cases the controller that is being emulated is slightly different. For a novice user, going into 12 different applications and entering 10+ buttons each time doesn't sound like a 10 minute job. I think it would be useful to have a single place where you can configure your controller, just like you think it's useful to have a single location from which to launch games for any emulator.

ulaoulao: I don't know what a globe UI is but it wouldn't be difficult. It would be a simple GUI with a set of regular expressions to patch the config files. Editing the registry programatically is also very simple.

I think you are making a couple of assumptions that make what I am trying to do seem more complex. I would not need to detect the controller being used. I might have default profiles for popular controllers (e.g. XBOX360) but I wouldn't have 1 click set up for every controller under the sun.

If there really isn't anything else out there then I'll have a stab at writing one when I have finished with the updates I'm making to another software project.
 

FatTrucker

Abusus non tollit usum
FatTrucker: I don't disagree that it's fairly simple but most users are (in my experience) pretty clueless. The point is that in every emulator it is slightly different and in most cases the controller that is being emulated is slightly different. For a novice user, going into 12 different applications and entering 10+ buttons each time doesn't sound like a 10 minute job. I think it would be useful to have a single place where you can configure your controller, just like you think it's useful to have a single location from which to launch games for any emulator.

Thing is you only need do it once for each emulator. Once the controller is set up you're good to go for the future.
As far as a universal configurator is concerned, I don't think specifically that its necessarily complex from a coding perspective, more from the fact that, that code will need to address multiple different emulators that all configure their controls in different ways some coded internally, some via config or text files, some via drop down menu and some via external plug-ins. Then there's the fact that from emulated system to emulated system you don't necessarily want your controller set up in the same way, dependent on what controller you're using with the emulator and what the original controller was like for the system you're emulating. At that point you're into the territory of having multiple controller profiles per emulator, which not only defeats the object but is already supported in Joy2key and X-padder.

There are just lots and lots of variables and IMO it will be virtually impossible to automate it in a way that people will find user friendly or convenient across lots of different emulators and they'll end up going into the emulator config anyway to tweak the settings they want.
By its nature the emulation community attracts gamers of a certain type, and while some greener users can struggle with some of the more modern emulators for systems like the Wii and PS2, I think you'll be hard pushed to find many that don't have the basic technical knowledge required to go into an options menu and select 'Controller Config' then press their controller buttons to correspond with the on screen prompt to 'press the button for up' for example.

The whole point of a game launcher front-end apart from the obvious aesthetic improvements with screenshots and the like is that it allows quick and easy perusal of a gamelist and one click launching, its not the same thing as a global controller configurator at all.

From a more general standpoint, the emulation community has always been made up of a minority of interested enthusiasts, you have to ask the question should it really be made easier and more accessible for the casual crowd whose primary interest is simply in playing pirated games. Surely such things only serve to draw unwanted attention and counter productive PR to a community that currently receives a fair degree of unofficial support from the development community.
Taking Mamewah as an example, its incredibly convoluted and complicated to learn how to set it up initially, seeing off the vast majority of people who want to exploit it for gain or casual piracy. This prevents it from proliferating to a point where companies with commercial interests see it as a threat and kill it off.
 
Last edited:

davejuk

New member
I think you are going out of your way to shoot down the idea and in doing so have not grasped what I am actually proposing.

Thing is you only need do it once for each emulator. Once the controller is set up you're good to go for the future.
As far as a universal configurator is concerned, I don't think specifically that its necessarily complex from a coding perspective, more from the fact that, that code will need to address multiple different emulators that all configure their controls in different ways some coded internally, some via config or text files, some via drop down menu and some via external plug-ins.

It is not relevant whether an emulator presents its configuration options in drop down menus, via plugins, etc. There are only two ways that it can store them - in a flat file (ini, xml, etc.) or in the registry. Both of these are very easy to manipulate programatically.

Then there's the fact that from emulated system to emulated system you don't necessarily want your controller set up in the same way, dependent on what controller you're using with the emulator and what the original controller was like for the system you're emulating.

I agree. All I am proposing is that a user can modify their controller config for various emulators from a single location. A simple GUI might involve selecting Snes9x from a list and being shown a SNES controller with a text box by each button. The user then clicks a text box and presses the key they want to use. Repeat for each button - exactly the same as in the Snes9x options. Then they select Project64 from the list, an N64 controller is displayed, and they can go through each button on the N64 controller.

If they have a common controller (XBOX360, PS2 adapter, etc.) then they can select a default profile which configures it for all emulators. If they want to tweak something, then they can do so using the aforementioned process.

Any updates are distributed through a small XML config file which can be downloaded automatically at runtime, ensuring users always have the latest options.

By its nature the emulation community attracts gamers of a certain type, and while some greener users can struggle with some of the more modern emulators for systems like the Wii and PS2, I think you'll be hard pushed to find many that don't have the basic technical knowledge required to go into an options menu and select 'Controller Config' then press their controller buttons to correspond with the on screen prompt to 'press the button for up' for example.

A more technically capable user base is no excuse for an unnecessarily complex user experience.

From a more general standpoint, the emulation community has always been made up of a minority of interested enthusiasts, you have to ask the question should it really be made easier and more accessible for the casual crowd whose primary interest is simply in playing pirated games. Surely such things only serve to draw unwanted attention and counter productive PR to a community that currently receives a fair degree of unofficial support from the development community.
Taking Mamewah as an example, its incredibly convoluted and complicated to learn how to set it up initially, seeing off the vast majority of people who want to exploit it for gain or casual piracy. This prevents it from proliferating to a point where companies with commercial interests see it as a threat and kill it off.

This is an entirely seperate issue. You should never exclude any group of users through poor design.
 

ulaoulao

Controller Man
Staff member
Your starting to figure it out I see..

I don't know what a globe UI is but it wouldn't be difficult.

A simple GUI might involve selecting Snes9x from a list and being shown a SNES controller with a text box by each button. The user then clicks a text box and presses the key they want to use. Repeat for each button - exactly the same as in the Snes9x options. Then they select Project64 from the list, an N64 controller is displayed, and they can go through each button on the N64 controller.
 

davejuk

New member
Of course I know what a user interface is.

I'm going to back out of this discussion now as you clearly have an axe to grind. Considering you are a regular here, you're really quite rude and unhelpful.
 

ulaoulao

Controller Man
Staff member
As you can see in post 1 and 7, I addressed your issues. The debating is of your own making. Both FT and my self have attempted to point out the errors in your logic. We have also both answered your questions. Your inability to accept the truth is not our fault.

Fact still remains, what you are proposing is not an "easy" feat. Boasting about your abilities to make such a "simple" mechanism is not going gain you leverage to win you argument. Your asking us for something that does not exist and claiming it takes nothing to engineer such a thing? So stop barking and get coding, as I said, you will see what we mean then.

This topic is here by closed per user request and an ongoing pointless debate.

p.s. In the event you do develop or come by such a thing I would be more then happy to reopen the thread. I think we can all agree of its usefulness regardless of our own opinions.
 
Last edited:
Status
Not open for further replies.
Top