nestation
nestation copied to clipboard
đšī¸ A NES Emulator frontend with Net Play!
NEStation
NEStation is a web NES emulator frontend (based on jsnes), which supports two-player Net Play via WebRTC's p2p data channels.
Created by [r]labs.
Screenshots
Key features
- đ Fullspeed NES Emulation
- đ Low-latency online play
- đĻ ROM Drag & Drop - Easy UX
- đ Swap P1 and P2 at any time
- â¨ī¸ Configurable controls
- đŽ Gamepad support
- đē CRT TV emulation
Open-source libraries involved
- jsnes: The core of the emulator
- quickp2p: A library to quickly connect two peers through WebRTC
- React: The well-known UI framework
- NES.css: An awesome NES-themed css library
Troubleshooting
I can't connect to my friend's party!
WebRTC does everything it can to connect you with your partner, but things may fail on rare network configurations. In those cases, a quick workaround could be enabling a DMZ on one side.
I have stuttering issues!
Then you may want to increase the Buffer size, in Settings. Lower values offer less input lag, but they can produce stuttering if network latency is not low enough. Try increasing it until it works well.
Some games don't work!
Well, not all the NES mappers are supported. Feel free to raise an issue here with the game you're trying to run.
There's a crackling sound!
Make sure you have your speakers' default format set as 96000Hz at most:
Developing
Install
nvm use
npm install
Run the app
npm start
Build
npm run build