Log In  


Is there a plan to add multiplayer to PICO8 ?

As it is a virtual console, it would be super awesome to have a native way of simply doing lockstep simulation with rewind to cope with network latency, but that means pico8 has to implement it. Ideally just relying on a STUN server, so it works without config on a LAN, and with very simple config on the Internet.

I don't know which category to post it, so if someone who know moves it to the correct one, I'd be glad.



see what I said in the other thread about scoresub!


yes, but it's actually not that at all.

Let me see if I can hack something on the pico8 emulators out there... and from there, give ideas to zep & have it natively...


ah, your post talks about different things, and I reacted to one of them!

multiplayer: we have that, pico-8 games can have up to 8 players.

network multiplayer: not in scope for pico-8; we don’t know of any plans for picotron or voxatron

lockstep simulation rewind: I don’t know anything about that. you describe it as something pico-8 has to do and related to networking, so it would also be out of scope. sorry!


Exactly.

A very nice corrolary of pico8's awesomeness is that ther's a bunch of pico8 emulators that take care about the runtime. such as fake-08, retro8, tac08 & zepto8.

So, I'm planning to enhance one to do what I meant. But need to find some free time first ...


don’t forget pemsa!


@snide did this ever go anywhere?

I desperately wanted simple HTTP GET in PICO-8, mainly for replicating 1980's-style "two player online" gaming. ie Chess, Checkers, Empire, trader wars type games. And online high-scores.

I saw hints somewhere that PICO-8 on the Raspberry Pi could access GPIO, which means it could do "serial" I/O (which meant it could talk to a Python process). But getting from that, to actual messages flying around, is a bit of a lift.


not exactly: https://www.lexaloffle.com/dl/docs/pico-8_manual.html#GPIO

on a raspberry pi, the gpio memory can interface with hardware
it is in HTML exports that the gpio memory can be used to communicate with javascript code, which can then do anything it wants (such as requests to implement network multiplayer, leaderboards…)
desktop pico-8 can use easier communication channels (stdin, stdout, files): https://www.lexaloffle.com/dl/docs/pico-8_manual.html#Serial – see an example of process communication https://www.lexaloffle.com/bbs/?tid=38732


I was mostly thinking about running the whole emulator in lockstep, rewinding if needed.

So that the multiplayer is totally transparent to the cart code. The only thing that differs on the various instances of pico-8 are the controller input order. Having a whole console makes it possible at the console level.

More info https://www.gafferongames.com/post/deterministic_lockstep/

But i get that there is no plan for it. And I also do not have free time myself.

Thanks



[Please log in to post a comment]