Plans for local multiplayer
I know I haven't been active a lot lately, the usual.

Well, I tried looking into the DSi sound app, and found that it crashes due to a NULL access. I tried debugging that, but it seems to be some weird timing problem and I don't know why that crash doesn't happen on hardware. This will need further investigation.

Anyway, local multiplayer.

It's one of the big things to take care of, now. We have been mostly putting it aside over time, favoring various popular requests, quality of life improvements, and fixes to DSi emulation. But we can't keep pushing it away like that. We have decided that improved local multiplayer is a must-have for melonDS 1.0, and we aren't going to keep making 0.9.247 type releases forever.

(besides, 0.9.x releases aren't very pleasant, for the same reason why I don't like $29.99 type prices: 9 is brown)

Anyway, I brainstormed some ideas for reliable local multiplayer. I have already explained before why local multiplayer is so finicky to implement, but the basic story is that we can't just run two melonDS instances and have them hurl packets at eachother and pray that things will work out. You might already know that we keep telling people to disable the framerate limiter if trying local multiplayer, and that's linked to this too.

We need a smarter mechanism for synchronizing melonDS instances taking part in local multiplayer. I have some ideas in mind for this, but I have to see how well they will translate to reality. I'm concerned about the performance implications this could have.

If this is successful, there are other possible quality of life improvements that relate to local multiplayer. For example, how to deal with user input when multiple melonDS instances are running on the same machine? You might want them to have different input mappings, but how do we deal with that without making things too complicated?

The craziest thing to achieve would be netplay, akin to Citra. Well, of course, there is no chance local multiplayer could work over the internet, but there are probably ways around this; we can look into how popular emulators handle netplay.

Oh well, we'll see how this goes, I guess.
Alex says:
Jul 19th 2022
There's a Advance Wars 2 python script that enables online multiplayer. It acts as a middleman between the emulators, answering idle data when the other peer doesn't send anything ( While it requires per-game scripts, it is a way to implement local multiplayer over the network.
Minessota Klei says:
Jul 19th 2022
Hi MelonDS team,

Please, I would like to ask for the inclusion of filters such as Bilinear and 2xSAI.

I'm enjoying the "Need for Speed ​​- ProStreet" and "Moon" games, I didn't know them, really good!

Congratulations to all (^o^)//
JP says:
Jul 19th 2022
Multiplayer would be quite the feat! I've been silently hoping for it to setup some sessions with my wife.

Thanks for what you all do!
ProfessionalGopnik says:
Jul 19th 2022
Netplay would definitely be a game changer. I can't tell how often I tried to play with a friend on the other side of the earth via Parsec and having to compensate for 250-300ms of ping. And even if i got that, the disconnects would happen way too randomly, sometimes after not even a second, sometimes after 40 minutes. But then again, I don't think anythings really that impossible, just damn hard. Hopefully I can witness Netplay on melonDS someday
the swede says:
Jul 19th 2022
Im so glad you finally decided to prioritize this. Nothing is impossible and I believe in you!
kar says:
Jul 19th 2022
So great to see you guys finally tackling the multiplayer issue!
I wish you all the best of luck!
Bob says:
Jul 22nd 2022
I found a buggy behaviour:

When running DSi mode and [external BIOS] for DS-mode (!) is set, everything works fine,
but if you uncheck it and try to run inserted DS game from DSi menu it results a black screen with text:
"An error has occured. Press the power button to turn the system off. Please see the Nintendo DSi Operations Manual for help troubleshooting."
Even if you enable external DS BIOS, it still give you this error until you reopen MelonDS.
And if you also check [Boot game directly] it results a white screen.

to Minessota Klei:
Bilinear filter is already there, It's Config > Screen filtering
2xSal doesn't looks good compared to xbr, hqx by the way.
Anon says:
Jul 22nd 2022
anon says:
Jul 22nd 2022
Will libpcap support be removed?
Minessota Klei says:
Jul 23rd 2022
to Boby:

But when I activate the OpenGL option the Bilinear filter doesn't work!

The filter only works when the 3D renderer option is in Software mode, when I switch to OpenGL mode the Bilinear filter stops working!

Running the emulator on version 0.9.4 on Linux Mint 20.3
Player 3 says:
Jul 23rd 2022
That title has me buzzing.
After failing to set up a local dwc server emulator for the Final Fantasy Crystal duo and Phantasy Star Zero coop via the "online" option instead of local, I can't help but eagerly await for the melonds that ~~took Ari months of headaches~~ "just works".

On the input handling I don't know where is the problem since the different config.ini in each melonds folder seems to work aok, but that's probably because my setup involves emulating 3 xbox controllers with 3 different keyboards in the same machine (via UCR) and assigning the xinput device in melonds seems to work (although in the droplist all are named xinput and have to guess which is 1,2 and 3).

On other QoL topic, would it be possible to disable sound channels separately? Unlike psp games which generally have Music and FX volume controls, having multiple melonds instances with the Background music blasting in each at different sync from the same speakers... I wouldn't wish it on anyone, muting a whole instance is a no no, really lessens the experience for those muted, so Music enabled Player 1, and other players with SFX only would be a dream.

Cheers ~ Player 3 has lost connection.
Chue says:
Jul 23rd 2022
Thank you for doing your best on this project. Netplay would be wonderful to implement and even some ways to have upscaling FSR somehow. Only thing i can think of is some style of Mesh networking or something like roll back netcode similar to FGC games maybe. Other than that i hope it works out.
kevincrans says:
Jul 23rd 2022
Sometimes I think, is it more logical to bridge to an actual wi-fi adapter/Lan first?
Then again, what the hell do I know, all wi-fi hardware is different and more complex than for example DCOM communication.
I hope DSi mode will eventually connect to wi-fi, unlike Citra.

Good Luck and thx for the interesting update.
kevincrans says:
Jul 23rd 2022
I was just thinking, isn't it fun that the DSi has the 3DS soundchip inside?
CartoonCartoons64 says:
Jul 23rd 2022
What about working on Local Wifi between Real DS and MelonDS? Like Union Trade Rooms?
Post a comment