mirror of
https://github.com/pkali/scorch_src.git
synced 2026-05-20 22:34:21 +02:00
[GH-ISSUE #46] Let's discuss networking - #FujiNet brainstorming #41
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @bocianu on GitHub (May 2, 2022).
Original GitHub issue: https://github.com/pkali/scorch_src/issues/46
Originally assigned to: @bocianu, @Pecusx, @pkali on GitHub.
That would be great to add network players. This game is perfect fit for it.
First of all - we do not need N: device to be loaded. I would even say that we do not want it :)
It's pretty convenient to use system Sio routines to comunicate on the level we need.
I don't know if you are already turning system memory off, but I recommend to go this way.
I already prepared nice and tiny handler to provide basic REST API operations via http and https.
It is only 458 bytes long, of course this do not include transmission buffers, but still.
I'm attaching it here: #FujiNet Tiny Http Client
For now my handler allows you to:
There are two extra features:
I think it could be enough for basic communication with the game server, or even more.
Using RUN/INIT wisely you can even create autoupdating exectable :)
Considering server itself, I can also help in this area.
I have some experience in writing REST API backends in node.js
But for sure we need do some work on communications scheme, data structures, and general principles.
@bocianu commented on GitHub (May 2, 2022):
Some general principles I'd like to propose:
For now I'm not planning to use any persistent storage on server for game sessions. It all can be done in server memory.
@pkali commented on GitHub (May 3, 2022):
this seems to be absolutely perfect!
thank you!
i'll have some time over the weekend to ponder these points in more detail, but in general I do agree with all points.
@pkali commented on GitHub (May 3, 2022):
I was planning to write a rest api in python (because I know how to do it), but I'll be more than happy to work with node.js and your help, this is the only way to release it before the next glacial period.
@pkali commented on GitHub (May 12, 2022):
I am sorry for lack of activity here, I was implementing sfx which turned way more complicated than expected.
Also more than half of the free memory taken. Will networking fit in ~4KiB?
@bocianu commented on GitHub (Jun 28, 2022):
sorry for beeing quiet here, but im focused on fujitalk server/client. Good side of it is, that more then 50% of server code can be reused for scorch-server ;)
Yes, I think 4k for networking should be more than enough if we have OS ROM accessible.
@pkali commented on GitHub (Jun 29, 2022):
Not a problem at all, we are slowly and steadily progressing towards the end of the single-player version, it would be silly to venture adding networking to a half-baked and oh-so-buggy game. I think we should be able to start working seriously on networking around August.
Bad news - only 2KiB left. But we'll push something under OS ROM and finish this silly Atari 800 compatibility fad :)
@pkali commented on GitHub (Aug 30, 2022):
OK, so the single player game seems to be "done" (sans bugfixes and optimizations), so we can to think about the implementation.
Bad news - practically NO free mem. But it is lower 48KiB only, so we have full XL/XE OS RAM available and we can move there several game elements, e.g. sound, non-time critical tables, etc. Page zero taken from byte $64.
@mozzwald commented on GitHub (Feb 5, 2026):
Any update on this? Is there any RAM left for networking?
@pkali commented on GitHub (Feb 5, 2026):
It got worse, less page zero space, a handful of bytes free in 48K, only XL/XE RAM under ROM is available.