Help me beta test my NES remote play

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Help me beta test my NES remote play
by on (#159168)
I'm developing a way to remotely play my NES using a raspberry pi connected to the internet. Right now I have only one NES configured, and one controller, but hope to expand to multiple NES and controllers if this pans out.

It requires Skype to establish a low-latency video connection. I had wanted to use a browser plugin for the video but those are all high latency, so Skype it is.

If you are interested, here is the site:
http://www.cedararcade.com

And here are the instructions:
http://www.cedararcade.com/help.html
Re: Help me beta test my NES remote play
by on (#159196)
Just to clarify how it works.

Even though it uses Skype, the whole process is automated. That is, you click the "First player" button (after solving the Captcha) and a program I wrote running on a laptop updates the settings in Skype to receive incoming calls. The program then does a screen capture every 3 seconds and looks for when there is an incoming call, and answers it with video (in this case, the composite video from the NES, which is sent to a DVC100 video capture card to the laptop).

So after you click "First player" button, wait about 30 seconds, and then you can initiate a Skype call to "cedararcade@outlook.com" to receive the video. The game running on the NES is then playable via the browser web page, as your keystrokes are sent to a websockets server which in turn sends them to the raspberry pi, which then sends them to the NES.

Here is the block diagram:

Image

Any feedback would be cool 8-)
Re: Help me beta test my NES remote play
by on (#159198)
I would estimate less than 1% of people have Raspberry Pis. Considering how few regulars there are here, you may be the only one with a Raspberry Pi. Just a guess.

Maybe you should consider going to a forum for Raspberry Pi users to see if anyone there will test your remote system.
Re: Help me beta test my NES remote play
by on (#159199)
From what I understood of his explanation, you don't need a Raspberry Pi to play, you just need a browser and Skype. I think this sounds pretty cool, but I didn't have the chance to try it yet. I still have to install Skype and remember my account information.
Re: Help me beta test my NES remote play
by on (#159200)
OK, just tried it. Turns out I had a portable installation of Skype that still worked. Anyway, everything worked fairly well, video and audio were pretty decent. The lag was about 1/3 of a second, and it didn't feel like enough to ruin Paperboy (although I'm pretty bad at this game even without any lag). I'm not sure this was the kind of lag you were expecting, but 1/3 of a second is probably too much for the majority of the games. Still pretty cool though, never thought I'd be controlling an NES remotely and receiving captured composite video through Skype!
Re: Help me beta test my NES remote play
by on (#159203)
That's correct, no need for the remote player to have a raspberry pi.

All the remote player needs is a web browser and Skype.

Tokumaru, thanks for testing it out. I actually think 1/3 second lag is actually not too bad, considering you are from Rio de Janeiro, Brazil and the NES is located in Oklahoma City, USA. I agree, I never imagined being able to play an NES remotely like this, but a week ago I came across a schematic that someone put together on how to interface a raspberry pi to make a wireless controller, and I thought, why not go one step further and make it connected to the internet? So here it is:

Image

I'll be making more improvements to it as time goes on, but for now I'm wondering if anyone can beat my highscore of 12,000? :)
Re: Help me beta test my NES remote play
by on (#222456)
A couple years have passed and I decided to make a few improvements.

This latest version no longer needs the player to have Skype.

Instead, I rewrote it using WebRTC.

So now you can play the nintendo remotely in a web browser.

If you are interested in trying it out, here it is:

https://www.cedararcade.com

After clicking 'Take Control', click in either the brown or black region to ensure that the page has focus (otherwise it won't capture the keystrokes to play). Then press 'Enter' a couple times to start the game. The 'A' and 'S' keys on the keyboard mimic the 'A' and 'B' of the gamepad.

As a refresher, this is basically using a Raspberry Pi to control a nintendo over the internet, and I'm using a video capture card to stream the composite video.
Re: Help me beta test my NES remote play
by on (#222459)
It works good. First time I played the video turned to a blurry mess like the bitrate dropped, but after restarting it, it worked fine the rest of the time. Didn't seem like had any trouble playing the game with the lag. Kinda funny that I made it to the high score entry screen, and that's where the lag really became noticeable.
Re: Help me beta test my NES remote play
by on (#222462)
I played a round of PaperBoy. Seems to work pretty well. I can feel the lag a bit, but it wasn't horrible. The video stuttered a little bit too, but again not a big problem. Pretty neat.
Re: Help me beta test my NES remote play
by on (#222467)
It worked pretty well here too. The lag is very noticeable, but hard to measure accurately... about 1/2 a second I guess. Didn't get any stuttering or bitrate drops, the video was pretty sharp and smooth during the short time I played. Very cool!

I really, really suck at Paperboy though...! I wonder how it'd feel to play a game with a more responsive main character...
Re: Help me beta test my NES remote play
by on (#222468)
I tried either in firefox or chrome on linux but nothing was shown on the screen. I do not know if it's related to my location (japan), the network I'm on or the OS that could cause it to just show a brown screen and that's it. It can start and release but nothing else happens.

I will try it again tonight on a different computer.
Re: Help me beta test my NES remote play
by on (#222486)
Thanks everyone for the feedback.

It sounds like it seems to play pretty well if you're playing from the same continent. It is hosted in Oklahoma City, Oklahoma, USA. You can ping 104.154.165.231 to get an idea of what the lag would be like.

tokumaru wrote:
It worked pretty well here too. The lag is very noticeable, but hard to measure accurately... about 1/2 a second I guess. Didn't get any stuttering or bitrate drops, the video was pretty sharp and smooth during the short time I played. Very cool!

I really, really suck at Paperboy though...! I wonder how it'd feel to play a game with a more responsive main character...


Haha, yes I agree that Paperboy is a bit tricky to play even under perfect conditions.

Any ideas for another game to try?

I'm thinking it might be possible to have a few NES systems and maybe a video switcher to choose between them, keeping them all running 24/7 so that high scores don't get reset.
Re: Help me beta test my NES remote play
by on (#222487)
That's very cool!!

It has a little lag, but I think it's fine.
I'm really bad at this game!
To tell the truth, I don't remember to have played it back on the day. :roll:
For me it only worked on Firefox, not on Chrome.
I'm using Ubuntu 16.04.5 LTS 32 bit from Brazil.
You can take a look at my neighborhood with the coordinates on my profile. :-)

Maybe you could try some homebrew games on it.
Could an option to use joysticks be added?
I don't know if this can be useful, but I'm posting the ping statistics:
--- 104.154.165.231 ping statistics ---
12 packets transmitted, 11 received, 8% packet loss, time 11013ms
rtt min/avg/max/mdev = 176.149/177.021/178.316/0.764 ms
Re: Help me beta test my NES remote play
by on (#222488)
I did try at home and now I can see a picture (Windows 10 machine), which mean the issue was when loading in a browser on a linux platform, possibly. I don't know the cause yet. I will check if any errors in the console, if any. Works on mac too.

edit:

Last message from the console in the linux box:

Code:
ICE failed, add a TURN server and see about:webrtc for more details
Re: Help me beta test my NES remote play
by on (#222530)
In my case it worked well on Linux, using Firefox 61.0.1.
I tried it on Chrome and it didn't work.
Also, it didn't work on my Android phone.
It poped up a window explaining that it won't work on mobiles because the keyboard is needed, wich I think is totally fine.
Re: Help me beta test my NES remote play
by on (#222534)
What if you use a Bluetooth keyboard with the Android phone? Or even USB, via an USB OTG adaper?
Re: Help me beta test my NES remote play
by on (#222536)
tokumaru wrote:
What if you use a Bluetooth keyboard with the Android phone? Or even USB, via an USB OTG adaper?

Then your bag will be bigger.
Re: Help me beta test my NES remote play
by on (#222541)
I think joystick support would be better.
There are some small joysticks that can fit easily inside a pocked.
I can be wrong, but won't this add lots of complexity to the system?
Maybe a better approach would be to use a keyboard emulator and map the keys to the joystick, like the (very) old SNESKey.
I don't know if such programs that works on modern systems exists, do it?
Re: Help me beta test my NES remote play
by on (#222549)
I mentioned keyboards because I often prototype stuff in JavaScript running on a browser, and I normally use keyboard inputs, so when I needed to stay out overnight because a family member was in the hospital, I just took my smallish Bluetooth keyboard (there are much smaller models out there) with me so I could still work on my prototypes there, and everything worked perfectly.
Re: Help me beta test my NES remote play
by on (#223439)
dougeff wrote:
I would estimate less than 1% of people have Raspberry Pis. Considering how few regulars there are here, you may be the only one with a Raspberry Pi. Just a guess.

Maybe you should consider going to a forum for Raspberry Pi users to see if anyone there will test your remote system.

What? I worked out 0.25% of the whole world's population has a Pi. Considering this site's users are interested in technology I expect most of us have one.
Re: Help me beta test my NES remote play
by on (#223440)
orlaisadog wrote:
What? I worked out 0.25% of the whole world's population has a Pi.
No, no, 0.025% of the world's population has 10 Pis each :p

Also, please don't necropost unrelated tangents. Doing so is neither relevant nor part of the natural flow of conversation.
Re: Help me beta test my NES remote play
by on (#223474)
I've tested on a 3G (GRPS?) connection, wich is far worse than the last one I've tried.
As expected there was a lot of lag and delays, the video output was also blurry.
It seems a pretty obvious conclusion: beter connection = better experience. :mrgreen: