MiSTerNet

Discussion of developmental aspects of the MiSTer Project.
Televicious
Posts: 93
Joined: Mon May 25, 2020 8:23 pm
Been thanked: 4 times

MiSTerNet

Unread post by Televicious »

MiSTer as an online retro multiplayer platform?
This would be strictly for console and arcade cores.
A server needed to list active matches.
A client/host system where P1 has switched the core to play online and P2 finds the match on the server browsing script. P1's game restarts when P2 joins.
Then the input lag/game sync.
Basically, the server will play both players, your controls will bypass your own game and go to the server that will send the inputs back to both players games. It will have to be delay based with comparitive AI in the server making adjustmemts.
A LAN version of the client/host should be done as well, just nix the server and send inputs directly at each other if possible, otherwise there will need to be a LAN server version to run on a local PC.

Eat you heart out Mugen.

I'm not building this or telling anyone to build it. I just wanted to share this vision of what I hope to be doing when I'm in an elderly retirement compound in 50 years. If that's still a thing.
Lisko
Posts: 88
Joined: Sun May 24, 2020 10:45 pm
Has thanked: 17 times
Been thanked: 3 times

Re: MiSTerNet

Unread post by Lisko »

I always dream about a sort of generic xband on mister. Imagine playing all those arcade beat em up games with others players...
ToothbrushThreepwood
Posts: 89
Joined: Sun May 24, 2020 8:39 pm
Has thanked: 30 times
Been thanked: 32 times

Re: MiSTerNet

Unread post by ToothbrushThreepwood »

Hmm... FS-UAE kind of enables this for amiga on the emulator: https://fs-uae.net/online-play
Nothing beats hot-seat multiplayer, but this would be cool to have.
User avatar
barfood
Posts: 95
Joined: Thu Jun 18, 2020 6:55 pm
Location: new user: felleg
Has thanked: 87 times
Been thanked: 18 times
Contact:

Re: MiSTerNet

Unread post by barfood »

Lisko wrote: Thu Jan 28, 2021 12:07 pm I always dream about a sort of generic xband on mister. Imagine playing all those arcade beat em up games with others players...
Reading about the XBAND, it makes me really curious if we could recreate the schematics of those modems and use them in our MiSTers to play online...
PikWik
Posts: 256
Joined: Sat May 30, 2020 7:00 pm
Has thanked: 192 times
Been thanked: 71 times

Re: MiSTerNet

Unread post by PikWik »

this topic is interesting, and is something i was wondering about as well.

in my uneducated guesstimate, i would ask why there couldnt be something like fightcade for MiSTer?
or if it would be possible to incorporate a LAN multiplayer option in MiSTer, and then create a discord chatroom that people could open requests to play a game, and then P2P to each other and play multiplayer.

there would obviously be some varying degrees of input lag, and without GGPO rollback netcode it would be incredibly janky overall.
but it would be interesting to see some kind of online multiplayer in the future,
even if it was a separate dedicated device/computer that the MiSTer connected to via ethernet cord
User avatar
Mellified
Posts: 145
Joined: Sat Aug 22, 2020 8:38 pm
Been thanked: 51 times

Re: MiSTerNet

Unread post by Mellified »

My thought is to do this primarily on the ARM / Linux side.
  • Virtual controller in Linux that can send commands like a real controller.
  • Network service to receive controller inputs from remote player.
There may be existing Linux projects to do both of those things already.
User avatar
Newsdee
Top Contributor
Posts: 830
Joined: Mon May 25, 2020 1:07 am
Has thanked: 98 times
Been thanked: 209 times

Re: MiSTerNet

Unread post by Newsdee »

The hard part is going to be integrating rollbakc netcode: https://en.wikipedia.org/wiki/GGPO

You need save states as a start. So maybe doable if save states can be added to arcade cores...
PikWik
Posts: 256
Joined: Sat May 30, 2020 7:00 pm
Has thanked: 192 times
Been thanked: 71 times

Re: MiSTerNet

Unread post by PikWik »

https://www.youtube.com/watch?v=KtHu693wE9o

i understand the online capability is for the gameboy, and at the moment only for tetris,
but wow, someone should contact this guy and ask them if this is possible on the MiSTer :geek:
jopdorp
Core Developer
Posts: 20
Joined: Tue Mar 29, 2022 10:07 pm
Has thanked: 14 times
Been thanked: 61 times

Re: MiSTerNet

Unread post by jopdorp »

I love this online Tetris thing, it definitely seems doable to add support for the mister Gameboy Tetris game, you could just connect the raspberry pi, but it would be better to remove the need for it by adding a client in the mister Linux side of things
User avatar
Kitrinx
Core Developer
Posts: 185
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 147 times
Contact:

Re: MiSTerNet

Unread post by Kitrinx »

The thing to reconcile is how you synchronize two cores that have multiple milliseconds of lag with each other, when the two cores are operating in real-time (unlike a software emu). eg, how do you keep the analog video signal from being disrupted? how do you write the the ram fast enough to prevent the game from stuttering terribly?
elvis
Posts: 62
Joined: Sun May 24, 2020 9:25 pm
Has thanked: 41 times
Been thanked: 35 times

Re: MiSTerNet

Unread post by elvis »

barfood wrote: Thu Apr 22, 2021 7:40 pm
Lisko wrote: Thu Jan 28, 2021 12:07 pm I always dream about a sort of generic xband on mister. Imagine playing all those arcade beat em up games with others players...
Reading about the XBAND, it makes me really curious if we could recreate the schematics of those modems and use them in our MiSTers to play online...
XBAND applied unique patches on a per-game basis to overcome the problems Kitrinx mentions above. There are groups attempting to preserve these now (tracking down working XBAND devices and pulling the patches out of the battery backed RAM), but we're talking a handful of titles only.

I think it's genuinely asking the impossible for a MiSTer-wide approach. This really is the realm of software emulation, as various tools can be built in generically to deal with latencies, rollback, etc. This is why tools like the original GGPO and Kaillera (over 20 years ago!) and modern Fightcade work well on modern operating systems via software emulators.

I understand that MiSTer is rightfully making a new generation of people excited for legacy games. But all of the substantial low-latency, high-accuracy pros of the platform mean that certain features like generic netplay with wildly variable latency and resulting synchronisation issues are nearly impossible.

At best you could do what XBAND did, and build per-game IPS patches. But that is a huge volume of work, and not a generic tool for all games (or even a single system) at once.
User avatar
barfood
Posts: 95
Joined: Thu Jun 18, 2020 6:55 pm
Location: new user: felleg
Has thanked: 87 times
Been thanked: 18 times
Contact:

Re: MiSTerNet

Unread post by barfood »

Personally, I am totally fine with that limitation. I can use RetroArch to goof around with friends online, and MiSTer to actually try to get better at games that demand low latency. I have never owned an XBAND myself, so I don't really know what I'm missing out on (possibly a bunch of headaches).
User avatar
Kitrinx
Core Developer
Posts: 185
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 147 times
Contact:

Re: MiSTerNet

Unread post by Kitrinx »

A realistic approach would be to have an encoder, or offload to an encoder, and handle this video streaming style. The second player would be at a disadvantage of course, but it would enable some kind of netplay that way. Just feed back some virtual controllers.

The de10 doesn't really have the resources needed to access and encode the framebuffer fast enough though. So maybe some future device.
elvis
Posts: 62
Joined: Sun May 24, 2020 9:25 pm
Has thanked: 41 times
Been thanked: 35 times

Re: MiSTerNet

Unread post by elvis »

Kitrinx wrote: Wed Jul 06, 2022 2:13 am A realistic approach would be to have an encoder, or offload to an encoder, and handle this video streaming style.
I very much agree with this approach. It has broad application, and modern tools and libraries (whether they be non-free like Parsec, which from memory you're involved with? Or free like moonlight/sunshine) offer me a lot of hope for this:
https://moonlight-stream.org/
https://github.com/loki-47-6F-64/sunshine

My want for this sort of thing is a little outside the realm of pure multiplayer though. I think for video game research, journalism, and the idea of the future state of online museums and libraries, it has huge potential.

But either way there's good possibility there for a generic approach to the problem.
Kitrinx wrote: Wed Jul 06, 2022 2:13 amThe de10 doesn't really have the resources needed to access and encode the framebuffer fast enough though. So maybe some future device.
Into the future there's good possibility here for generic OSSC/RetroTink style devices (not necessarily those two, but devices like them with encoders/decoders attached) to potentially implement something similar, whether it's MiSTer or any other device. But again, that's all far into the future.
Jae099
Posts: 35
Joined: Wed Aug 02, 2023 11:26 pm
Has thanked: 22 times

Re: MiSTerNet

Unread post by Jae099 »

They have this on the switch. The big problem will probably space on the fpga.

https://www.youtube.com/watch?v=4WNKu2YCg2o

User avatar
Longtime4321
Posts: 97
Joined: Fri Aug 12, 2022 5:17 am
Has thanked: 8 times
Been thanked: 15 times

Re: MiSTerNet

Unread post by Longtime4321 »

What about Multitroid? That's possible on real hardware.
Of course it's for literally one game, but it would still be cool to see!

Post Reply