
Show HN: NES Party – Online Multiplayer NES Emulator Using WebRTC - hauxir
https://nes.party
======
shawn
So, speaking of jailtime, where are the ROMs coming from? I see that the games
simply work, and you can pick any you want.

I've been trying to make this concept, but distributed, so it can't be taken
down. Curious if this will get kicked offline soon.

Nintendo is possibly the most litigious game company in history, and
aggressively shuts down anything remotely associated with their brand. I
wouldn't be surprised if this is already forwarded to their legal department.

Which, IMO, is a tragedy. There's no reason that projects like this should get
shut down. Society is losing out.

EDIT: It's kind of interesting to think about how far we've progressed in
terms of video game flexibility. And I mean socially, not technically. Look
how easy it was to get fired for some harmless pranks just a couple decades
ago:
[https://www.youtube.com/watch?v=ZaqdaVKP904](https://www.youtube.com/watch?v=ZaqdaVKP904)
Nowadays no one would bat an eye at most of those. (The one attacking a
coworker is admittedly a bit much.)

This is relevant because it seems like companies are way, way too attached to
their IP, in precisely the same way that people were a bit too formal in the
old days of gaming. By not letting people remix others' ideas, you're losing
out on everything that could have been made.

~~~
nudpiedo
That's just piracy in the name of a technically interesting project. And just
because everyone has ripped of nintendo it doesn't make this one a legit use
of it.

That could be a perfect additional business for nintendo using their IP... in
fact you can buy still some nintendo classics on the modern Nintendo Switch
and I am not sure whether they work online or not but that's their choice.

A different debate would be whether the biggest icons in the popular culture
should become public domain in shorter time (e.g. 30 years) so that the whole
society would benefit of it, including people who believes that these
characters are part of an era or a symbol more than just private intelectual
property.

~~~
PostOnce
Have you really ripped them off if you already bought the game in the 80s?
Should you have to buy it on a new platform to play it again, if your computer
is perfectly capable? Should you have to buy ROM dumping equipment? What's the
difference?

I'd bet most people just want to play their long-lost favorites, which they
already bought once, long ago.

~~~
nudpiedo
You are mixing pears with rocks. I never bought a NES or these ROMs and I can
still play them in this webpage. Also that just because you bought the
original product it doesn't give you a livetime access to other future
products or a license to rebrand and refurbish them.

I believe this kind conversation is soon full of hypocrites who would be the
first defensors of IP concept if the object of debate was their own IP... in
case they could produce something profitable/valuable which is a major key
point (it is easy to give for free the work from others).

~~~
derefr
> I never bought a NES or these ROMs and I can still play them in this
> webpage.

That is no argument. This website would be entirely above-board with one
simple change: it buys N copies of each game, and ensures that only N people
are playing at a time. That makes it, legally, a _library_. Libraries already
make "digital loans"; and libraries already loan out game discs. This would
just combine the two.

If you're disputing the legality of any part of that:
[https://en.wikipedia.org/wiki/First-
sale_doctrine](https://en.wikipedia.org/wiki/First-sale_doctrine)

> it doesn't give you ... a license to ... refurbish them.

Yeah, maybe not in the US, yet. But it's really a thing people believe should
be there:

[https://en.wikipedia.org/wiki/Electronics_right_to_repair](https://en.wikipedia.org/wiki/Electronics_right_to_repair)

> hypocrites who would be the first defensors of IP concept if the object of
> debate was their own IP

No, this debate comes from people like 4am, who has de-protected 40-year-old
abandonware games by defunct companies
([https://archive.org/details/apple_ii_library_4am&tab=about](https://archive.org/details/apple_ii_library_4am&tab=about))
for the sake of allowing people to play them at all in the future, because if
nothing is done, the disks will soon rot and no copies will be left in
existence.

The developers _and publishers_ of these games frequently come to 4am and
thank him for de-protecting these games. Because _they_ never thought they'd
see them again. That is not the stance of someone who resents having "their
IP" shared with the world.

~~~
navjack27
I know it's not directly translatable.
[https://en.wikipedia.org/wiki/Aereo](https://en.wikipedia.org/wiki/Aereo)

An antenna for everyone wasn't enough. How could "buying a copy for x" be
enough.

------
gakos
Really cool project! Loaded up Gauntlet and was able to start the game but saw
a lot of artifacts after my warrior moved across the screen. Did the ROM have
some dust on it like my old Gauntlet cartridge? Hehe.

------
PJ_Maybe
Nice project - just one bit of feedback, on a German keyboard y and z are
swapped and it makes playing pretty difficult. Maybe alter it so that y or z
can be used for A.

Edit: Also, the buttons are mapped the wrong way around. On a NES controller B
is the leftmost button and A is the rightmost button.

~~~
hauxir
Planning on adding a controls settings menu in the future. In the meantime
i've made it so A also works by pressing Y

------
pwaai
OMG! this is so cool! need one for PSX.

[https://nes.party/mp798x](https://nes.party/mp798x)

------
deejaybog
I implemented something similar for tic80. Works fine on two browsers on same
machine,but it gets uglier the more remote the peers are. My take is that you
can’t simply retrofit a game whose engine wasn’t properly architected for RT
network play. Good project for learning WebRTC though.

~~~
panic
I've seen people on Twitch playing multiplayer Mario Party using Dolphin's
multiplayer support, and it seemed to work pretty well. I think the trick is
to add latency until everyone's inputs can be played in lockstep.

------
ArtWomb
This is a good idea. Porting old arcade ROMs to web. And trying to hack
multiplayer so you could for example play old school unlimited lives NES
Contra with a friend across the world...

But nothing seems to be working except chat. WebRTC data channel send error.
And not seeing any traffic in net logs :(

~~~
tenryuu
I was able to load the into sequence for Battletoads. Then the game froze and
every tab on my browser crashed.

Is this using javascript or wasm?

~~~
pvg
The JIT just recognizes the impossibility of Battletoads and optimizes it out.

------
gm-conspiracy
Can you do 4 player games ala NES Satellite?

[https://en.wikipedia.org/wiki/NES_Satellite](https://en.wikipedia.org/wiki/NES_Satellite)

------
Jyaif
Reducing the local latency of the remote player could be done by simulating
the game on both devices, with rollback whenever the input from the other
player is received.

You can then do input prediction to minimize the number and impact of
rollbacks. You can and even hack the emulator to interpolate the predicted
positions of the sprites and their actual positions.

------
owens99
OMG, I have wanted to make this exact thing for so long.

How can you be contacted? My email is in my profile. Would love to chat and
support.

~~~
hauxir
my github is in my profile where you can find my email ;)

------
hauxir
SNES Party is live:

[https://snes.party](https://snes.party)

------
kinduff
Looks pretty good! I was able to run the games smoothly unders Linux by
deactivating hardware acceleration.

Don't hesitate to open source it, I like how clean it looks. Could be a great
product.

------
yeahdef
let's see how long before Nintendo drafts a C+D

~~~
balls187
Nintendo isn't doing C&D anymore. They're going straight to copyright
infringement lawsuits.

------
__s
Great NES scrolling shmup that's coop: Silkworm

------
ionwake
Someone join me so I can test it

[https://nes.party/gi9oyg](https://nes.party/gi9oyg)

------
ishaanbahal
Coolest piece of tech I've seen whole day! TMNT doesn't load though! Tried
multiple times! :(

------
birdtime
It's really nice to see an application mute the volume by default. This is an
incredible project.

~~~
Jyaif
The browsers are forcing developers to do this.

------
saghul
This is insanely cool, great project and use of WebRTC!

------
asimpletune
What an amazing project and use of WebRTC. Thank you!

------
balls187
Anyone get the konami code to work in Contra?

~~~
chasote
That was the first thing I tried! And it worked! Cool project.

~~~
balls187
My keyboard mappings must be off then.

~~~
chasote
Well they do have A mapped to Z and B mapped to X which makes sense I guess
but is flip flopped positioning from what the original NES controller was if I
recall correctly. You might have to fight your muscle memory on this one.

~~~
balls187
It was the arrow keys for me, they didn't seem to register with Left and
Right.

------
jlebrech
this should ask the user to upload a ROM manually.

~~~
hauxir
It's already possible :)

