The latency is a little intense from Australia … but surprisingly not as bad as I thought it would be. It was playable. I wonder if you can use speculative execution to play the game a few frames ahead and then the client picks what to display based on user input, or something like that. Each frame is 16ms, so you’d have to work ahead 6 frames to conquer the nominal latency of around 100ms, which may actually be 200m…
Show HN: Server-rendered multiplayer games with Lua (no client code)
31–40 of 62 posts
Re: Show HN: Server-rendered multiplayer games with Lua (no client code)
#32Re: Show HN: Server-rendered multiplayer games with Lua (no client code)
#33Cheating with AI will be possible even with server side rendering ; nvidia has released models able to learn to play - it's going to be very difficult to detect whether it's an AI or a human ; very impressive however
That’s a very different kind of cheating though. The kind of cheating this effectively makes impossible is cheating where a player has more information than they’re intended to have. If someone makes an AI that plays the game as a good player, then it’s effectively indistinguishable from a real player who is good. If they make it super-humanly good, then it would probably be detectable anyway. It’s still fair in the…
Re: Show HN: Server-rendered multiplayer games with Lua (no client code)
#34Reminds me of the cave X11 games. For game play I'd suggest slowing it way down.
I'm always biased since I test locally with no delay when developing :)
Re: Show HN: Server-rendered multiplayer games with Lua (no client code)
#35The latency is a little intense from Australia … but surprisingly not as bad as I thought it would be. It was playable. I wonder if you can use speculative execution to play the game a few frames ahead and then the client picks what to display based on user input, or something like that. Each frame is 16ms, so you’d have to work ahead 6 frames to conquer the nominal latency of around 100ms, which may actually be 200m…
What you’re describing is called “rollback netcode”. It’s a pretty cool chunk of theory, usually used for fighting games which are extremely sensitive to latency. This explainer has some nice graphic demos https://bymuno.com/post/rollback
Re: Show HN: Server-rendered multiplayer games with Lua (no client code)
#36Earlier quoted context omitted.
That’s a very different kind of cheating though. The kind of cheating this effectively makes impossible is cheating where a player has more information than they’re intended to have. If someone makes an AI that plays the game as a good player, then it’s effectively indistinguishable from a real player who is good. If they make it super-humanly good, then it would probably be detectable anyway. It’s still fair in the…
I’m also curious if an AI could process the screen feed quickly enough to compete in first-person shooter games. Seems like it would be difficult without extremely high end hardware for the foreseeable future?
Re: Show HN: Server-rendered multiplayer games with Lua (no client code)
#37This method of multiplayer you propose is inferior in basically every way: you can't do client-side prediction to make inputs feel smoother, and non-trivial scenes will surely take up more bandwidth than just transmitting entity deltas.
Re: Show HN: Server-rendered multiplayer games with Lua (no client code)
#38Earlier quoted context omitted.
What you’re describing is called “rollback netcode”. It’s a pretty cool chunk of theory, usually used for fighting games which are extremely sensitive to latency. This explainer has some nice graphic demos https://bymuno.com/post/rollback
It's a common misconception that this is only used in fighting games. This technique was developed first in Duke Nukem, and then exploited heavily by Carmack in Quake, and subsequently refined and built upon in other AAA FPS games, specifically for the local player movement and shooting.
With rollback/lockstep, there's no need for a server simulation at all. Most games are not doing that: the client's local simulations are less important than the server's simulation, even missing information (good to prevent wallhacks). Any dropped packets are handled with the server telling the client the exact positions of everything, leading to warping. Dropped packets and latency also only affect the problem player, rather than pausing everyone's simulations.
Re: Show HN: Server-rendered multiplayer games with Lua (no client code)
#39Reminds me of the cave X11 games. For game play I'd suggest slowing it way down.
good feedback! I'm seeing people really struggly with the control lag + speed. I'm always biased since I test locally with no delay when developing :)
Re: Show HN: Server-rendered multiplayer games with Lua (no client code)
#40Interesting approach! I've thought about a similar method after reading about the PLATO platform. When playing astro‑maze, the delay is noticeable, and in a 2D action game such delays are especially apparent. Games that don’t rely on tight real‑time input might perform better. (I'm connecting from Europe, though.) If you add support for drawing from images (such as spritesheets or tilesheets) in the future, and the c…
Yeah.. As people are playing and I'm watching their feedbacks it is becoming clear to me that the main source of input delay comes from the distance to the server.. the whole game is running in a single machine in SFO, so it makes total sense this bad exp in europe I think this is inevitable unless I add some optimism/interpolation in the client Also, thanks for the feedback! I will fix the Abstra landing page try ht…