*^~ I| Raichu |I ~^* 2026-09-13 04:59
I kind of forgot about Undernet, so it had almost no development.
anyways, i’m gonna try to make these more frequently, and i still don’t get how disks work. every time i load a new one, it just hits me with that blue-green blank screen.
C-script 2026-09-13 17:42
@SP4CEBAR do you know what could be happening?
Software Center 2026-09-14 00:23
Ready to play!
SP4CEBAR 2026-09-16 19:11 (Edited)
Don't feel pressured to make progress, just keep it fun. I just wanted to share what I learned from working with shared Disks, I hope it helps.
My initial testing started with this test, which even surprised Timo, and confirms that an NX program will see changes to its disk made while it was running.
This alone isn't enough for a multiplayer game: you need a communications protocol, two programs need to understand each other. My demo assigns an ID to each player based on the order in which they join, this ID tells the game in which file it may write, the game is designed to avoid having two players write data at the same time as I still don't know how iCloud handles version conflicts
All my testing I did by launching the NX app with my program multiple times on Linux (you could probably do the same on windows and Mac), all these instances access the same local Disk.nx file, allowing them to communicate
SP4CEBAR 2026-09-16 19:41 (Edited)
If you want to see something change, run the code below. Tap the screen to see the initial state. Edit the (local) Disk.nx file behind it and write something in the first byte of file 4 (while the code is running). And tap the screen to see the change.
TOUCHSCREEN
FILES
DO
IF TAP THEN
LOAD 4, $A000
PRINT PEEK($A000)
END IF
WAIT VBL
LOOP
Next, try to write to the disk using NX and see the change in your text editor (with the Disk open)
Next, try to read and write using NX and communicate with your text editor
Next, try to open two NX windows with your program on your PC and have them communicate with each other. Or you can open your program on two devices with a shared disk.
Next try to make a communications protocol to reliably transfer information between clients running the program. Depending on how reliable iCloud is, you may need to have virtual turns so that each client waits for the previous client to send its data (these turns may last seconds, depending on the network speed)
Next I'd appreciate it if it would conform to my communication standard