Author Topic: Would it be possible to create an Everdrive which has network play support?  (Read 52 times)

0 Members and 1 Guest are viewing this topic.

Offline EverNostalgic

  • Newbie
  • *
  • Posts: 28
  • Karma: +0/-0
    • View Profile
Imagine this:

Joe has a PAL SNES with an Everdrive NetPlay Edition.
Sue has a PAL SNES with an Everdrive NetPlay Edition.

Joe and Sue live in different countries.

Joe wants to play Super Mario Kart against another human being, being sick of playing against the computer players. Joe has zero friends, and even fewer who would want to play SNES with him, and even fewer who would be good at Super Mario Kart and provide a challenge for him.

Luckily, Joe has just bought the new (fictional) Everdrive NetPlay Edition. It's just like a current Everdrive, but it has an Ethernet jack and a custom firmware. Joe has hooked it up with a network cable to his home router. He starts his SNES.

Joe now selects Super Mario Kart in the list of games, and presses the special "Netplay" option. He immediately gets a list of available servers waiting to play for that game, fetched from a user-defined central server which defaults to a stable and popular one which is the de facto official/only such one.

Joe notices that there is currently one person waiting in this "lobby". It's Sue, who is in an identical situation a few countries over. He "joins" her, and the firmware detects that he has one controller plugged in, and that it's in controller port #1.

Now, the game starts up on both Joe's and Sue's SNES. Sue, being the "player 1", selects two players in the game. The input from Sue's controller (plugged into her SNES' controller port #1) travels over the network to Joe's SNES, where it's treated as "player 1". Joe's keypresses travel over the network and are treated by Sue's SNES as if he had his controlled plugged into the second controller port on her machine.

The games naturally have no idea that any kind of network is involved; they just think of/see this as two local players, sitting in the same room with the same SNES.

Since there are bound to be randomized/unpredictable events in most games, the "host SNES" (Sue's, in this case) regularly (often enough) sends over a copy of that SNES' RAM contents to Joe's, so that his SNES can update any differences that may have happened, such as getting a different item when running over a question mark block compared to what the other person's SNES picked, or updating the positions of the karts which may have "drifted" due to different choices being made by the two different (but still PAL) SNESes.

The end result is a smooth, rock-solid experience, and the exact same concept would of course apply to NES, N64 and all the other consoles. Maybe it would even be possible to somehow bridge PAL/NTSC versions, but I would assume that this is a ton of work and may be impossible.

Naturally, things are always much easier to think about than to actually do them, but it seems to me (after thinking about this for quite some time) that it should be at least *technically* possible. It would certainly be great for miserable loners such as myself.

Note that I'm not expecting you to be able to play eight players at once on Super Mario Kart or anything crazy like that. That would require actual (heavy) modifications of the game. I'm simply talking about allowing a "ghost" player two (or more, if the game supported it originally) with real hardware. For the same reason I never want to play a game at all using an emulator ever again, I would feel zero satisfaction from playing a SNES game networked using an emulator. Modern re-releases such as "virtual console" on the Wii/Wii U/Switch are also crap and wholly uninteresting to me.

Also, a big thing about this would be that you wouldn't have to hunt down and befriend somebody using the same emulator and arrange to "meet up" virtually, sharing IP addresses externally using a computer and whatnot. It would not require you to use a computer at all; just flick on the SNES, select your game, join a game (or start one yourself and wait for somebody), and then you play it. It wouldn't even require any kind of account/registration/login stuff.