Cross device multiplayer


EnderCal1012 2022-05-28 19:36 (Edited)

I was wondering, can there be an update where two devices can play multiplayer together? An example would be game boy cable link. That's pretty much what I'm talking about. Can it be in a new update?

McPepic 2022-05-28 19:50

Hi! I can see your a new member of LowRes NX. I thought I'd answer your question because I just noticed it. As Timo (the developer) has previously mentioned, there are no plans for future updates. There are still lots of things that you can do using the program and I would encourage you to try and make your own programs. The community is really nice and there are tons of people who can help you if you need help. Good luck on your projects!

EnderCal1012 2022-05-28 19:53

@McPepic I am not new but thanks for the support. Looking forward to being here

Timo 2022-05-29 08:41

Hi, McPepic is right, I’m not planning more updates because I’m busy with new things.

Anyway, I thought a lot about a virtual link cable. But it’s actually quite complicated.
First you need a connection of course. Could be Bluetooth or internet. You would have a delay and then it gets really complicated to synchronize both sides. It’s ok for turn based games, but difficult for realtime.
My favorite idea was to “simply” implement a remote system for the normal gamepad. This way you could make a 2 player game just like now (GAMEPAD 2). But still I would have to solve the sync problem.

Too much work :(

was8bit 2022-05-29 14:40

I've been contemplating a turn-based game with Nx as is, but it would require players to post their movements one at a time here..l these boards are generally slow so even a game of tictactoe with this approach could take weeks to finish one game... :/

I also have an idea of a collaborative approach where each user gets a portion of space to contribute to, but it technically wouldnt be a game, more of a graphical chat space sort of...

HIGHSCOREBOARDS might be possible, but we can do that already manually by posting our highscore as a comment to the game...

nathanielbabiak 2022-05-30 02:53 (Edited)

On iOS or PC, some users have mentioned maybe putting their nx file on a virtual network location.

With that setup, the console would 'see' the nx file mounted on a local drive...

But software could abuse the console's disk commands, as these commands would work on Disk.nx located in the same directory. You'd need to implement your own communications protocol using disk access, and violate the spirit of the console by using the disk outside of a tool, AND both users would need the same virtual network software (and latency would basically be limited to the speed of synchronization), but it's possible.

Timo 2022-05-30 05:54

The Disk.nx file is cached by LowRes NX, so it doesn’t load the latest changes when the program is running.

G-9 2022-05-30 11:59

I know a software that adds ability for two players to control the pc over internet. if only i could remember it's name... it's used in the 2 player undertale mod...

GAMELEGEND 2022-05-30 12:14

there are multiple programs that let you do that

nathanielbabiak 2022-05-31 14:01 (Edited)

Hey Timo, is this accurate cross-platform? It's how the PC version works, at least.

The Disk.nx file is cached by LowRes NX each time the LOAD instruction is used, so it doesn’t load the latest changes when the program is running.

What I wrote above, then, could be clarified: you'd need to implement your own communications protocol using disk access (i.e., repeated use of the LOAD instruction).

Timo 2022-05-31 14:26

As far as I understand my code, only the first time a program calls LOAD, the whole "disk" will be loaded into memory. All following calls to LOAD read from memory then.

So while a program is running, it will not get changes on the "disk".

nathanielbabiak 2022-05-31 14:42 (Edited)

Understood, thanks. It doesn't appear to be intended behavior on PC, so I'm going to stop mentioning it as a potential idea.

Timo 2022-06-01 06:14

Hm, are you sure it works like that on PC? Mac and PC use the exact same code. I’m confused…

You say LOAD always gets the newest data while a program is running (without restart)?

Log in to reply.