libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.26k stars 1.83k forks source link

Smartphone gamepad app for Remote RetroPad #5379

Open duduke opened 7 years ago

duduke commented 7 years ago

I'm creating this Issue to serve as a bounty for someone to create an Android and iOS app that will use Remote RetroPad to enable using your smartphone as a remote gamepad for RetroArch.

This is especially useful for a mobile LAKKA install where you do not need to carry and gamepad with you.

RobLoach commented 7 years ago

The two I've seen are:

duduke commented 7 years ago

Those act as gamepads, I'm looking for something that can talk to RetroPad remote directly. Also, those are only for Android, I'm looking for iOS support as well.

andres-asm commented 7 years ago

There is a core already (I made it) but @twinaphex disabled it somehow and I haven't found out how to reenable it.

It should work already once he re-enables it.

duduke commented 7 years ago

I’ve used that core a while ago when you created it. Can it be adapted to a standalone app for both iOS and Android?

andres-asm commented 6 years ago

hmmm I guess but it makes no sense making a standalone app out of it. Just make a new one, it uses UDP it should be trivial to implement.

@twinaphex can you enable the builtin net retropad core again? Not really sure why it was disabled in the first place.

duduke commented 6 years ago

I’ve had a go at creating an iOS app that would talk to RetroArch via UDP - unfortunately, I lack any kind of coding background, so didn’t really get anywhere.

andres-asm commented 6 years ago

why does it have to be a standalone app?

duduke commented 6 years ago

Doesn’t have to be. but, unfortunately you cannot have RetroArch on iOS without jailbreak - which kinda limit the whole “anyone can use their smartphone as gamepad” idea.

inactive123 commented 6 years ago

Yeah, this could be an opportunity for our Apple Developer account which so far doesn't have a single app on it. And unlike RetroArch, at least this could be accepted.

jmichael2497 commented 6 years ago

First off, thanks for your contributions to RetroArch / LibRetro and sharing them with the world, next...

Hope this suggestion helps simplify rather than add more complexity.

I would really like a lightweight system to use my phone as a gamepad versus the current method of netplay sync which is a bit awkward to get matching cores and entering ip addresses, and falling out of sync quagmire.

There are pros and cons to making yet another task specific specialized device app for just a couple of eco-systems versus a possibly more inclusive and open solution since you already have some useful code:

Gamepad support could be built into RetroArch itself similar to how Netplay is built in.

Mobile devices could just run the browser based RetroArch set to load the gamepad core by default.

Perhaps served out by the RetroArch host, since players would connect to it over local wifi anyway.

NOTE: I've been meaning to sign up, just to comment on this, but as I haven't found documentation or been able to use the gamepad core mentioned other than to talk to itself from client to host... I'm not sure how much that core would help as a ready to go part in this idea.

andres-asm commented 6 years ago

I already implemented this years ago but someone broke it.

inactive123 commented 6 years ago

I don't know about what I could have done to break it. I would highly encourage you to see if you can get it back to work again. I don't believe I touch any netplay parts, @GregorR does most of the networking code.

GregorR commented 6 years ago

I do most of the networking code insofar as netplay is most of the networking code and I do netplay, but I've never touched remote retropad. It's not inconceivable that it has some interdependency with netplay, and if it does, I've definitely broken it, but I'd say it's unlikely.

inactive123 commented 6 years ago

@GregorR Would you maybe like to look into why it doesn't work, regardless of who broke it? It'd be great if we could get it to work again.

As for me, I never could get it to work personally.

ICHx commented 6 years ago

Hey devs, I have one question for retropad remote.

To setup the ip on android do I need to tap 192+168+1 times to enter 192.168.0.1? Is there any shortcut? :sweat_smile:

daviddavo commented 6 years ago

@ICHx I've opened an Issue at #6873

ICHx commented 6 years ago

I am currently using https://github.com/RetroPie/RetroPie-Setup/wiki/Virtual-Gamepad as a rememdy for my gamepad needs.

jmichael2497 commented 5 years ago

I am currently using https://github.com/RetroPie/RetroPie-Setup/wiki/Virtual-Gamepad

that is kinda like what i meant (and as i realize my earlier post was maybe a bit unclear).

i'm basically picturing something like those popular multiplayer drop in with your mobile party game systems.

(like by a certain long lived non-tv quiz game show that lets you "screw your neighbor", and now they have other stuff like drawing games, etc, but trying not to commercial name drop in open source environment.)

they probably use webrtc or similar for connection by anyone with a device that has a relatively modern browser.

all that is needed by the end users is to just load a specific url (ideally assisted with qrcode presented on the monitor to avoid manual typing) and then they have a web based gamepad.

this should be served from the game system host device over at least local shared wifi network, but ideally as a direct hotspot for best performance.

hope that helped clarify.

duduke commented 5 years ago

I think this project can be used to provide drop-in multiplayer through smartphone controllers. (and it's open source). https://snex.io/