Yet games with 10x the bandwidth struggle to support that many enemies. It only just occurred to me: an increase of technological resources actually has a reversing effect on the efficiency and creativity of computer science. As bandwidth, storage, memory and compute has gotten bigger, there is an inverse response in the software that makes it slower, more bloated, and less capable, per discrete unit of resource. Cal…
Serious Sam handled massive amounts of enemies on 56k modem connections
161–170 of 172 posts
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#162Earlier quoted context omitted.
I think another issue with lockstep is that for it to work, each client needs all the input data from all the other clients to be able to simulate the next step, otherwise the simulations become out of sync. So how does the simulation handle both your input, and another clients input that comes in 100ms later? If you just pause until you get their input, your game is effectively pausing and running at 10 steps/second…
Some games that used a determinism based architecture, will actually provide immediate feed back faked on the client and then some how make that work when the real stuff happens later. See Starcraft providing instant audio response when moving units or for Factorio: https://factorio.com/blog/post/fff-83 https://factorio.com/blog/post/fff-412 (second half of post)
I doubt that'll scale to games like Starcraft and Factorio, because in my example, you would need to resimulate 100ms of simulations in ~16ms. In a fighting game with 2 characters and not much else to simulate, that's a lot easier.
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#163Earlier quoted context omitted.
That's like one of the key selling features of the game. Great experience that also scars you for life.
Exactly. See also: first headcrab fight with only a crowbar in Half-life.
Which are actually voice lines of people in torment played in reverse.
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#164Earlier quoted context omitted.
So now that lead is looking for a job? :)
Probably has buckets of cash, so no? :)
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#165Do I get it wright - the reason to implement a custom protocol above udp instead of using tcp was the benefit to have a certain amount of packets that didn’t need to be acknowledged?
Packetloss with TCP creates unnecessary latency for games. The OS TCP stack basically will show data in a sequential fashion to the userspace code, this greatly simplifies things like a HTTP stream but in a game it also means that even if 9 out of 10 packets have arrived, if the lost one is the first packet then we need to wait for another roundtrip or more before seeing all the packets because the first one still ne…
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#166Do I get it wright - the reason to implement a custom protocol above udp instead of using tcp was the benefit to have a certain amount of packets that didn’t need to be acknowledged?
Packetloss with TCP creates unnecessary latency for games. The OS TCP stack basically will show data in a sequential fashion to the userspace code, this greatly simplifies things like a HTTP stream but in a game it also means that even if 9 out of 10 packets have arrived, if the lost one is the first packet then we need to wait for another roundtrip or more before seeing all the packets because the first one still ne…
Specifically I remember team fortress's pyro secondary grenade in QW being just pulses of AOE damage instead of shooting more fire particles that needed tracked, and the soldier nail grenade .. doing something different to not have as many flying objects.
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#167Earlier quoted context omitted.
That's like one of the key selling features of the game. Great experience that also scars you for life.
Exactly. See also: first headcrab fight with only a crowbar in Half-life.
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#168We used deterministic game play to implement multiplayer on the GB Color port of Vigilante 8. The GBC Link Cable would pass 1 byte in each direction at the same time. It's a pair of shift registers filling each other up across the cable. The game was locked to the GBC's frame rate. There was a lot work to update the screen that had to happen in each (effectively) V-Blank and if it was missed the smooth scrolling stut…
Thank you for the technical note on the multiplayer implementation -- that's really cool!
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#169Earlier quoted context omitted.
I love how there's an article about how some legendary game was made, and someone in the comments casually goes "oh yeah, I built that, fun times". It's great.
HN is wonderful for that. I once commented on an article about Brave Browser that it was an ad extortion racket, and Brendan Eich showed up to call me an asshole. Good times!
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#170Earlier quoted context omitted.
HN is wonderful for that. I once commented on an article about Brave Browser that it was an ad extortion racket, and Brendan Eich showed up to call me an asshole. Good times!
I never called you an asshole, I quipped that your handle's surname suits you. Accuracy matters, especially given that you are the source of the ass* name. https://news.ycombinator.com/item?id=11232460
I don't personally see much of a distinction between "asshole" and "asshat" in this context, and I think the intent of your reply was pretty clear. Nor do I begrudge the comment--it comes with the territory of choosing such a username. But if you believe my characterization of that exchange to be false, my apologies. The link to the original reply was posted almost immediately after my comment, and so the context is there for all to see. I summarized it in a way that I thought would be entertaining to the audience.