libretro / RetroArch

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

[Feature Request] Ad-hoc netplay #5092

Open rz5 opened 7 years ago

rz5 commented 7 years ago

I felt we should have an issue for this, for further discussion.

On the IRC, I proposed that RetroArch have its netplay work like the PSP's ad-hoc WiFi feature. That is to say: for devices sufficiently close to each other, one device (sender, running RA) with a WiFi radio sends off a signal on some frequency/channel and one or more devices (listeners) are listening in on that frequency/channel. The listeners, upon hearing the sender's signal, send off their acknowledge signals, handshakes occur, networking blackmagic and 2+ devices close to each other are now able to netplay together without the need of an extra router or access point.

ghost commented 7 years ago

Two wifi devices can already netplay with each other without a router, they just need to join their own adhoc network that they create from one of the devices. To my knowledge there isn't a portable way to do that from within RA.

rz5 commented 7 years ago

Right, that would be the best part - to be able to set this up within RA. The way I'm imagining it is to have several funcs like adhoc_network_setup(), adhoc_host_create_session(), adhoc_guest_search_session() and inside each there would be a bunch of #ifdefs for platform specific stuff.

The most common use-case would be a pair of Android devices doing netplay; the most esoteric use-cases would be e.g. a Nintendo DS and a PS3 doing netplay.

blackman91 commented 6 years ago

This would be cool on phones using wifi direct to use netplay without internet access when you are traveling.

LibretroAdmin commented 2 years ago

@Cthulhu-throwaway What do you think of this? Too ambitious/difficult?