I was one the developers responsible for implementing the netcode on Serious Sam. We often slept under the desks in the offices at croteam after lurking usenet. One post in particular described the QuakeWorld prediction system which inspired us. That night we coded a simplistic mvp as a colleague (hi dan) tested it over an old 486 nix machine acting as a router that we could simulate lag with. This was well before th…
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.
Serious Sam handled massive amounts of enemies on 56k modem connections
141–150 of 172 posts
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#142Earlier 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.
I work at a big company and commented once that some decision was stupid and one of the top two engineers at the company dropped in to tell me I was wrong. I felt so honored. (And he's wrong.)
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#143Earlier quoted context omitted.
Serious Sam looked amazing for the shitty hardware it would run (FAST) on. On a similar note, Counter-Strike never looked good, but was popular for a long time because it ran great on toaster PCs
I think this also explains the continued success of World of Warcraft.
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#144Yet 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…
Do you have a number for "that many enemies"? If article is giving one, I couldn't find it. There are plenty of modern games that is multiplayer and supports enemy numbers that I would consider "massive". Or massive number of players if that is that matters.
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#145Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#146Is this the same idea as "1500 archers on a 28.8" for Age of Empires? https://www.gamedeveloper.com/programming/1500-archers-on-a-...
Either you have the resources, or you don't. Don't cap for reasons of capping.
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#147The 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 stuttered.
At multiplayer startup we passed our seed. To run it looked like this:
On frame A it reads the controls, and packs them into a byte and puts that in the transfer buffer. The transfer occurs while it renders frame B. At the start of frame C it has the local controls encoded in the byte sent on frame A and it has the other side's controls in the byte received in frame B.
It applies the controls to the game state and renders frame C. Local and remote controls are applied with one frame delay.
There was no frame delay of the controls for local play so if you ever lost in multi-player feel free to blame lag and me specifically if you need to.
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#148Earlier quoted context omitted.
Yes. Both are “deterministic lockstep” systems. Many many games have used such a system over the years. Although it’s probably less common these days for a variety of reasons.
Is this due to the heterogeneity of client hardware?
First, building a PERFECTLY deterministic sim is brutally difficult. Even for a single piece of hardware. It’s so so hard and expensive. A single bug “crashes” the game with a “desync” error. Making it work cross-platform was never really an issue.
Second, you’re bound by the slowest client. No one can go faster than the weakest link.
Third, you can’t stop cheating. Every client has full and complete world state. This is fine for co-op but a major issue for competitive.
Really the ONLY benefit to lockstep sync is it minimizes bandwidth. In the days or 56k this was a strict necessity. But these days client-server is almost always a better choice.
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#149Earlier quoted context omitted.
I work at a big company and commented once that some decision was stupid and one of the top two engineers at the company dropped in to tell me I was wrong. I felt so honored. (And he's wrong.)
Hahah oh man, do you have a link? I'd love to have an opinion on who's right.
The gist of it is...
The person who wrote v2 of a thing got a lot of shit, because there were a lot of "cons" that could have been predicted and mitigated.
I complained about them getting shit. Making a new thing is hard, and yes, there were "cons" but there are an enormous number of "pros," and you can't always block progress trying to enumerate and mitigate all of the "cons," especially if the "cons" are social in nature (which makes them hard to predict!)
I believe the company should have let the guy build v2 and see if it works. Let him test it in a few cases. Then he can try to shift to managing roll-out, and etc. Unfortunately, v2 became hugely popular instantly (wow, a problem I wish we all had!) and then a bunch of stuff went wrong, because the roll-out itself "should have been managed better."
So, #2 engineer-in-the-company came in to my comment thread, and documented the cons. Actually linked to a slideshow which showed each con on a separate slide.
Sure.
Here's the problem, v3 was written by a TEAM of people, with backing from leadership, and the "cons" of that job are enormous and embarrassing. I mean, really bad. Years later. Unpopular, and most people haven't migrated to it.
Stop giving that one guy shit when a team of people did worse. And especially if your main problem with his work was that it was too successful too fast!
Grrrr.
Re: Serious Sam handled massive amounts of enemies on 56k modem connections
#150Earlier quoted context omitted.
Why did you make the guys with exploding heads who run at you and their scream gets louder as they approach? I can still hear them.
Why wouldn't they? It's called great sound design. Games of the 90s and early 2000s put a lot of effort in that. See Thief the dark project. Sound design can bring more immersiveness than graphics alone. It's something forgotten in many games of today that keep beating the ray traced graphics horse