Reflect – Multiplayer web app framework with game-style synchronization
51–60 of 159 posts
Re: Reflect – Multiplayer web app framework with game-style synchronization
#52Edit: I have no idea why this was downvoted, it's true
Re: Reflect – Multiplayer web app framework with game-style synchronization
#53I would add a link to the documentation on the homepage.
Re: Reflect – Multiplayer web app framework with game-style synchronization
#54Earlier quoted context omitted.
Can you share how y'all made it fast? Obviously it can be made fast because multiplayer online games are living proof but I'm curious what it takes to get there or what's missing in my mental model.
Not really any magic, just a lot of careful engineering.
I've done a lot of thinking (but not coding) around "simply replicating state" being the right answer to interconnected apps.
The degenerate case is to model everything as a git transaction log, but be able to run it "faster" than really using git. It's very intriguing to hear your discussion of "branching, sequentialization, etc..." because that seems like the right way to go. ( edit: and implicit _physics_ vs. state transfer in some cases... it's cheaper to send nuke@[x,y,z] instead of the literal calculations and changes to state that single action may imply ... physics in games maybe being gravity and ballistics, but 'business-physics' might be update/select/modify, etc. )
There's a few interesting optimizations/tradeoffs in some of the "real" multiplayer networking libraries: https://torque-3d.readthedocs.io/en/latest/script/network.ht...
...eg: Unguaranteed, Guaranteed, Guaranteed Order, Most Recent State, Guaranteed Quickest (and each client has it's own "camera" / perspective against the "scene", where +180 might be "need it now b/c I'm looking at it", but -180 might be "meh, need close-to-the-latest-state before I turn around and look at it").
I'm rooting for you b/c "multiplayer + physics" seems like the right answer (eg: the ghost of couchdb), but no one seems to have (yet) cracked the semantic code as to how to describe "as fast as local, but synchronized with $THESE tradeoffs and $EXCEPTIONS".
Re: Reflect – Multiplayer web app framework with game-style synchronization
#55Re: Reflect – Multiplayer web app framework with game-style synchronization
#56Re: Reflect – Multiplayer web app framework with game-style synchronization
#57Re: Reflect – Multiplayer web app framework with game-style synchronization
#58The demo at the top of the homepage ( https://reflect.net/ ) is a lot of fun. While I was watching, every time the puzzle got completed, people would shake their cursor in excitement, like saying, "yay we did it!!"
Re: Reflect – Multiplayer web app framework with game-style synchronization
#59This is a pedantic comment, but the terminology is confusing. Games have "players" so their sync systems are called "multiplayer," but regular software has "users" so their sync systems should be called "multiuser." The page reads strangely mixing the terms "user" with "multiplayer."
Re: Reflect – Multiplayer web app framework with game-style synchronization
#60Looks great, congrats on launching. Is this in a similar vein to https://partykit.io/ ?
Yes they are in the same space. The key difference is in how opinionated each is. PartyKit is extremely unopinionated. It's essentially lightweight javascript server, that launches fast and autoscales (I don't say this as as a bad thing, it's a useful primitive). Most people seem to run yjs in PartyKit, but you can also run automerge or even Replicache – my company's other project. Reflect is entirely focused on prov…