Kodi Community Forum
RetroPlayer Test Builds (updated for Nexus) - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Game support (https://forum.kodi.tv/forumdisplay.php?fid=292)
+--- Thread: RetroPlayer Test Builds (updated for Nexus) (/showthread.php?tid=173361)



RE: RetroPlayer Test Builds (updated for Leia) - cabbresson - 2017-06-12

+1
(2017-06-11, 01:00)garbear Wrote: What do you think about this idea: Instead of leaving unused buttons ignored, we can double-map them to virtual features. For example, when emulating a SNES controler, both the D-pad and left analog stick can control the player. In a N64 or Genesis game, the physical Start and Back buttons would both map to the virtual Start button. In math terms, this would be called a surjective button map.



RE: RetroPlayer Test Builds (updated for Leia) - natethomas - 2017-06-12

I'd just like to take a second to note how much fun it is to read this thread. Lots of nice creativity and no hurt feelings if an idea has to be rejected for various reasons. It's really a lovely sub-community.


RE: RetroPlayer Test Builds (updated for Leia) - garbear - 2017-06-12

(2017-06-12, 16:03)OmniBlade Wrote: When you talk of people not all that familiar with emulation and then worrying how they will struggle to map something like a genesis controller, the intersection of people that are both unfamiliar with emulators and plugged a genesis controller into their kodi box is surely going to be vanishingly small. Most people unfamiliar with emulation are probably going to plug their xbox or PS3/4 controller in and they have guide buttons that can be mapped and will behave pretty much like it does on an xbox/playstation. Anyone else can probably live with the shortcomings of button combos as I would expect them to be preferred over anything that increases input latency like waiting to decide if there was just a push or a hold.

You're right, xbox and PS4 controllers are definitely the most common. I could see Genesis controllers being popular in the DIY community though, so I could create a solution friendly to common controllers with more advanced emulation options for the power users.


RE: RetroPlayer Test Builds (updated for Leia) - RockerC - 2017-06-13

(2017-06-12, 20:48)garbear Wrote: I could see Genesis controllers being popular in the DIY community though, so I could create a solution friendly to common controllers with more advanced emulation options for the power users.
SNES, NES, N64, and the Genesis controllers are all relatively popular in the enthusiast retro gaming community, and as such they still sell many different reproductions of those controllers. With the SNES controller probably the one being represented the most of them at overwhelmed odds because of its flexibility, (really only missing analog thumbsticks and triggers compared to the more modern Xbox360+ and PS3+ controllers), or at least that is my guesstimate. Personally I would use the SNES (Super Nintendo) controller as the reference controller for RetroPlayer.


RE: RetroPlayer Test Builds (updated for Leia) - cmiller1 - 2017-06-14

Question for garbear, if the final solution for this ends up increasing input latency, how difficult would it be to make sure that it can be completely turned off with a setting?


RE: RetroPlayer Test Builds (updated for Leia) - MrTarantula - 2017-06-14

(2017-06-14, 15:56)cmiller1 Wrote: Question for garbear, if the final solution for this ends up increasing input latency, how difficult would it be to make sure that it can be completely turned off with a setting?

I think you're misunderstanding. Only buttons defined as longpress buttons (Start, Select, PS, XB, etc.) would have latency, not all buttons. Nobody wants all buttons waiting to detect a long press.


RE: RetroPlayer Test Builds (updated for Leia) - cmiller1 - 2017-06-14

To be clear, what I mean is that I'm hoping there will always be an option to have no buttons take long-presses.


RE: RetroPlayer Test Builds (updated for Leia) - garbear - 2017-06-15

(2017-06-14, 15:56)cmiller1 Wrote: Question for garbear, if the final solution for this ends up increasing input latency, how difficult would it be to make sure that it can be completely turned off with a setting?

Everything is configurable with joystick.xml. I haven't decided on if I'm going to add on-screen settings though.

For reference, this is what RetroArch's input menu looks like:

Image

The interesting setting here is "Menu Toggle Gamepad Combo":

Image

The options are:
  • None
  • Down + L1 + R1 + Y
  • L3 + R3
  • L1 + R1 + Start + Select
  • Start + Select

Like Ferk said, all but the last button pressed in the combo will fall through to the game.


RE: RetroPlayer Test Builds (updated for Leia) - cmiller1 - 2017-06-15

Sounds like a pretty good solution!

Sorry if I've been sounding like a broken record on this stuff, but I feel like I need to make sure everything stays working well from my point of view... The people that want to operate everything with a gamepad seem to be people looking at this as an alternative to solutions like EmulationStation for playing games on your TV, but I feel like a lot of Kodi users are like me, they've set up boxes to run Kodi on their TV that are controlled by IR remotes or remotely through HTTP and are just looking at this as a way to add gaming to those existing boxes.


RE: RetroPlayer Test Builds (updated for Leia) - garbear - 2017-06-15

(2017-06-15, 13:24)cmiller1 Wrote: The people that want to operate everything with a gamepad seem to be people looking at this as an alternative to solutions like EmulationStation for playing games on your TV, but I feel like a lot of Kodi users are like me, they've set up boxes to run Kodi on their TV that are controlled by IR remotes or remotely through HTTP and are just looking at this as a way to add gaming to those existing boxes.

I'm targeting both dedicated console and media center uses of Kodi. It sounds like for media center uses, button combos (or nothing) is the preferred option. For dedicated consoles with only Genesis controllers, holding start to bring up the menu is a possible solution.

To address both usecases, I'd like to create a set of input settings that lets the user customize their experience. I'm generating a list of all input settings and a list of all usecases. When I've completed both, I'll address settings fatigue by eliminating settings for the more niche usecases. I want to complete both lists before I make these decisions, so if you can think of any additional settings or usecases, let me know.


RE: RetroPlayer Test Builds (updated for Leia) - zachmorris - 2017-06-16

(2017-06-15, 23:29)garbear Wrote:
(2017-06-15, 13:24)cmiller1 Wrote: The people that want to operate everything with a gamepad seem to be people looking at this as an alternative to solutions like EmulationStation for playing games on your TV, but I feel like a lot of Kodi users are like me, they've set up boxes to run Kodi on their TV that are controlled by IR remotes or remotely through HTTP and are just looking at this as a way to add gaming to those existing boxes.

I'm targeting both dedicated console and media center uses of Kodi. It sounds like for media center uses, button combos (or nothing) is the preferred option. For dedicated consoles with only Genesis controllers, holding start to bring up the menu is a possible solution.

To address both usecases, I'd like to create a set of input settings that lets the user customize their experience. I'm generating a list of all input settings and a list of all usecases. When I've completed both, I'll address settings fatigue by eliminating settings for the more niche usecases. I want to complete both lists before I make these decisions, so if you can think of any additional settings or usecases, let me know.

Here's a devils advocate use case: Touch screen users. Kodi has touch screen support currently. Retroarch has touch screen overlay input support. Is this already planned, or is this just a potential limitation of the first iteration of Retroplayer?

I'm not advocating for adding this, just thinking it's possible there are a group of tablet/mobile users out there that might want this. I believe there's a dedicated overlay button in Retroarch to bring up the OSD for touch screens.


RE: RetroPlayer Test Builds (updated for Leia) - garbear - 2017-06-16

(2017-06-16, 01:26)zachmorris Wrote: Here's a devils advocate use case: Touch screen users. Kodi has touch screen support currently. Retroarch has touch screen overlay input support. Is this already planned, or is this just a potential limitation of the first iteration of Retroplayer?

Nope, this is a use case I haven't thought of in a while. I'll check out RetroArch and start thinking about how to add touch controls.


RE: RetroPlayer Test Builds (updated for Leia) - Julipo - 2017-06-17

(2017-06-15, 01:16)garbear Wrote: The interesting setting here is "Menu Toggle Gamepad Combo":

Image

The options are:
  • None
  • Down + L1 + R1 + Y
  • L3 + R3
  • L1 + R1 + Start + Select
  • Start + Select

Like Ferk said, all but the last button pressed in the combo will fall through to the game.

It can be more than that. I have this in my RetroArch:
Image

But is because I have this in the "Input Hotkeys bind" section:
Image

That let me enable with that key (is the select button of my pad) the other "Input Hotkeys" that are defined, for example:
Image

Move in save states slots, load, save, take screenshot, mute and toggle full screen.

When I click "select" it does the normal select action, it didn't ignores it until it decides if you are doing an action or a game input. It does the game input AND enable the hotkey input (until the key is unpressed, that disables the hotkey input). For example, I'm playing now a game that uses select to change the current player so every time that I click select to do a input hotkey it changes the player (because I clicked select, and then the hotkey)


RE: RetroPlayer Test Builds (updated for Leia) - garbear - 2017-06-17

(2017-06-17, 11:17)Julipo Wrote: But is because I have this in the "Input Hotkeys bind" section:

I count 34 binds in that section. This totally screams "keyboard". The problem is that we're targeting the living room, which usually doesn't have a keyboard. This means we have like 15 hotkeys, max, and even that stresses the goal of 10-foot display and remote-friendly.

(2017-06-17, 11:17)Julipo Wrote: When I click "select" it does the normal select action, it didn't ignores it until it decides if you are doing an action or a game input. It does the game input AND enable the hotkey input (until the key is unpressed, that disables the hotkey input). For example, I'm playing now a game that uses select to change the current player so every time that I click select to do a input hotkey it changes the player (because I clicked select, and then the hotkey)

Thanks for testing this!

I've decided to never add latency for games, and always send the initial button press for hotkeys. This was entirely a coding decision Smile adding latency for games would be really messy code, because you delay not just the button-down even but also the button-up event.

It'll still be possible to overload buttons in the GUI, where input delay is easy to code because you just send an action (emitted from a button-down event) as soon as you know which holdtime to execute. The GUI will have latency when a button is overloaded.


RE: RetroPlayer Test Builds (updated for Leia) - Julipo - 2017-06-17

(2017-06-17, 16:32)garbear Wrote: I count 34 binds in that section. This totally screams "keyboard". The problem is that we're targeting the living room, which usually doesn't have a keyboard. This means we have like 15 hotkeys, max, and even that stresses the goal of 10-foot display and remote-friendly.
Yes, this section has a lot of hotkeys, but I (and suppose that nobody) uses all of this. I play with a dualshock-like pad and I have binded to the pad (all with select +)
[L1] Load state
[R1] save state
[start] go to retroarch menu
[triangle] toggle mute
[square] toggle full screen
[X] screenshot
[circle] ¿nothing?
[left analog right/left] increment/decrement savestate slot

One thing is that retroarch give to you 1000 possible functions to bind, other is that I use it. I don't use a Keyboard, I use a pad with some buttons, so I bind the things that my controller limits to me.

Is the same that Kodi (in general). It have dozens of bindeable items, but I can use my controller over HDMI CEC that only recognizes a few buttons and bind to them the actions what I use (and limited to the few buttons that I can use in my controller)