afska / nestation

๐Ÿ•น๏ธ A NES Emulator frontend with Net Play!

Home Page:https://afska.github.io/nestation/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NEStation

NEStation is a web NES emulator frontend (based on jsnes), which supports two-player Net Play via WebRTC's p2p data channels.

rlabs Created by [r]labs.

Screenshots

nestation-iddle nestation-playing nestation-settings

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:

sound

Developing

Install

nvm use
npm install

Run the app

npm start

Build

npm run build

About

๐Ÿ•น๏ธ A NES Emulator frontend with Net Play!

https://afska.github.io/nestation/

License:MIT License


Languages

Language:JavaScript 79.2%Language:CSS 15.9%Language:HTML 3.0%Language:Shell 1.9%