2,425 karma · joined May 9, 2020
https://gooberdash.winterpixel.io/
tbh the WebRTC performance is basically the same network performance as websockets and was way more complicated to implement. Maybe the webrtc perf is better in other parts of the world or something...
Note: We have a fork of godot that has some changes and fixes weve made and engine upgrades are still a breeze. Solving the odd merge conflict is not that hard, people do it all the time. Godot's code base isnt drastically changing from day to day. 3->4 only had significant impact if you were doing certain things with the 'visual server'... other than that even that was easy.
Compile the engine from source and add your classes as a module. Cuts out all the gdextension glue code and then you don't need to ship a shared library.
This is why Ben Golus's posts on shaders are the best. Cause they're actually accessible.
> In computers, floating point numbers have a limited precision, based on how many bits are used. Does the innate 'error' in floating point numbers have implications on your theory of 'Computational Irreducability'? Are the 'errors' introduced with each floating point operation is fundamentally computationally irreducable? Does this have a domino effect that causes basic classical mechanics to become computationally irreducible? Like the integration of velocity into position, it is a O(1) operation to compute the future position given a velocity and a starting point, but if a computer is rendering each individual frame, it will accumulate error in each frame, and the final frame may end up in a different position. Does this concept relate to the real world through things like the Planck length? Is space perhaps not purely continuous?
So just to clarify: in League, the 'dt' passed into each 'simulation step' is NOT constant? Isnt this kinda crazy? In your later articles, floating point imprecision is talked about. Couldnt this variance in dt create odd behaviour and ultimate contribute to weird things like 'character movement speed' being not _exactly_ the same between games? (like really small, but still...)
And beyond that, how does the client and the server synchronize with each other if the frame #s represent different positions in time? My mind is blown right now...
Note: I've worked on many networked games, and have written rollback/resimulate/replay code. I don't really understand _why_ League wouldnt use a fixed time step. Whats the advantage? In our games, the rendering of course uses the real dt passed in from the OS, but the simulation step is always fixed. This means in our games during a replay, your computer could render the outcome differently if your frame rate is different, but the raw simulation is always the same.
For context, to show I at least have some idea what I'm talking about, I made this replay system (and the game has rollback multiplayer):
https://gooberdash.winterpixel.io/?play=5b74f7c0-8591-40dc-b...
I havent played a lot of League, but I always assumed it would use deterministic lock step networking (like it's predecessor, Warcraft 3)
This could use some elaboration. I don't even know how it's possible to have determinism without a fixed-step. I must misunderstand what this means. Every simulation tick in league of legends has gotta be the same duration, right? ie: 1.0 / 60.0?
I don't think Automattic's trademark claims are fundamentally going to hold up. From the complaint:
"WPE’s nominative uses of those marks to refer to the open-source software platform and plugin used for its clients’ websites are fair uses under settled trademark law, and they are consistent with WordPress’ own guidelines and the practices of nearly all businesses in this space."
I dont know what the settled trademark law is, but this seems like common sense to me.
Everyone says 'WordPress' to refer to the software platform. Just seems like extortion, plain and simple.
I get Matt's upset that WPEngine is making all this money, but that's par for the course when you release something open source. You simply need a better product if you want to beat WPEngine in the marketplace.
WPEngine may very well be doing something wrong, but WordPress needs a clearer license with which to attack them with