5 ms·
Is this the same idea as "1500 archers on a 28.8" for Age of Empires? https://www.gamedeveloper.com/programming/1500-archers-on-a-28-8-network-programming-in-a
by mizzao 2y ago
Is this the same idea as "1500 archers on a 28.8" for Age of Empires?
https://www.gamedeveloper.com/programming/1500-archers-on-a-28-8-network-programming-in-age-of-empires-and-beyond https://www.gamedeveloper.com/programming/1500-archers-on-a-...
- forrestthewoods 2y agoYes. 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.
- LarsDu88 2y agoIs this due to the heterogeneity of client hardware?
- Thaxll 2y agoIndeed, imagine all the cpu / compiler / different platform, all must behave the same.
- nightowl_games 2y agoNot primarily. There were weirder CPUs in the past. Today's CPUs have largely converged on floating point operations. Basically just sin/cos/tan differ now. It's possible to write fully cross platform deterministic code today, but it's harder to do and uncommon in libraries. Writing state synchronization and using client side prediction is generally easier. Determinism is only necessary if there are bandwidth constraints.
- eru 2y agoAlso it's easier to cheat when your local client has all the data.
- meheleventyone 2y agoNot so much easier but enables a different class of cheats in games where players don't have perfect information, even with other schemes there is normally enough information leaked that similar cheats are possible. OTOH using a deterministic simulation prevents a whole class of other cheats.
- nightowl_games 2y agoWhat class of cheats are prevented in deterministic simulation but possible with a dedicated server running a state synchronization netcode model? I don't think any...
- eru 2y agoWell, unless you don't trust the server.
- kalleboo 2y agoWasn't that even worse before? Games like Warcraft and Doom played across Intel x86, Motorola 680x0 and PowerPC
- hnthrowaway0328 2y agoFun time. Developers essentially have to dig very low into the stack and deal with multiple architectures. The way to build great programmers.
- mobiuscog 2y agoThey didn't have to deal with agile/scrum though. Clearly not real programmers ;)
- nottorp 2y agoDid Warcraft 1 and Doom have cross platform multiplayer back then?
- kalleboo 2y agoI don't know about WC1/Doom1 but WC2/Doom 2 on the Mac also supported IPX to play against PCs in addition to the native AppleTalk support they had. The only time I ever saw IPX on a Mac.
- ThatPlayer 2y agoI 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. For comparison Starcraft 1 ran at 42ms a step, or ~24 steps per second. You'd be playing in slow motion. Games like Starcraft 1 would handle it by adding an artificial delay to your inputs (and all your opponent's inputs). Putting it into a buffer for future steps instead. If anyone remembers the latency option for "Extra high latency", this would increase the delay on inputs so that simulations did not have to pause while waiting for inputs from other clients. And then if any network fluctuations causes your input buffer of other clients to empty, you have to pause again. In fighting games this is usually called delay-based netcode, and people hate it. It makes your inputs feel unresponsive, and in games that require fast reactions (like fighting games) gives you a smaller window to react.
- hypertexthero 2y agoThis is all way above my understanding, but: Recently I’ve been playing Arma Reforger with friends online on a dedicated server, and when driving vehicles the collision physics are off, especially when driving fast, making the whole scene “teleport” forward, with frames lost and the vehicle reappearing in unexpected positions. I wonder if this is related to this type of code. The game is technically out of early access, but there’s lots to be added still on the roadmap.
- chainingsolid 2y agoSome 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-83 https://factorio.com/blog/post/fff-412 https://factorio.com/blog/post/fff-412 (second half of post)
- 2y ago
- forrestthewoods 2y agoLockstep determinism has a lot of issues. 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.
- killcoder 2y agoFactorio is a good example of a modern game that works this way.
- Anotheroneagain 2y ago[flagged]
- throwawayqqq11 2y agoThe history of religion contradicts your point. Judaism emerged in the most illiterate area of its time. I think "immunity for brainwashing" is the wrong term. Back in the simple days people got less exposed to, how ever you would like to call it. The first ever printed western book was the f'ing bible and people in the 2000s thought the internet would spark a new era of education, you know, printing press 2.0 and such. Ok, enough OT.
- defrost 2y ago> Judaism emerged in the most illiterate area of its time. I'm pretty sure Australia was way more illerate at that time - plenty of cave and rock art going on for some 70K years prior, sure, but no written language at all even by 1788.
- throwawayqqq11 2y agoI meant right next to rome, egypt and persia. Palestine is right in the middle, so relative illiterate.
- racional 2y agoJudaism emerged in the most illiterate area of its time. How do we know this? The very fact of its emergence (and reliance on written teachings) speaks to the very opposite.
- wizzwizz4 2y agoThe majority of the Torah is the Oral Torah: the Written Torah is only five books (and they're not huge books, either).
- peppertree 2y ago
- OptionOfT 2y agoThis number actually shows how weird it is to have a unit cap in Tempest Rising. Either you have the resources, or you don't. Don't cap for reasons of capping.