I want to play a game on my phone with a friend who lives in a different city. The game supports local "ad hoc" play over bluetooth but does not support play over the Internet. Is there an app that can do this, with or without root? Or is there a device that my friend and I can purchase that can "extend" a local ad hoc bluetooth network over the internet? Or is it possible to install an application on both of our computers that will do this?
I think the answer to your question is "maybe", depending on the exact implementation details, and my solution is rather complicated...
Assuming the app uses a Bluetooth PAN*, which Android recognizes as a network device (i.e., one which would you can bridge against)
You could connect both devices to the same VPN, bridge the PAN and the VPN, effectively putting both devices on the same bluetooth network, then connect the two games.
You and your friend may need a custom kernel to enable bridging support (CONFIG_BRIDGE) (looking at the two devices on my desk, neither of them supports bridging out-of-the box) (Busybox has a brctl applet, but I've never used it on Android)
On the other hand, it may be easier to just write the Dev and ask for internet play. :)
If you do this, let me know how it goes!
*It's probably how I would do it, but there are other ways