Earlier quoted context omitted.
Good call, thnaks for the correction. But there definitely was a sync bug. Here's an old forum post discussing it https://tl.net/forum/brood-war/352588-my-replays-are-broken Here's a hacky patch that also documents some of the possible issues https://liquipedia.net/starcraft/Replay_Fix_for_1.16.1 It seems like the bug is related to pausing the game.
more specifically, the bug is due to a buffer overflow during paused chat, and presumably deviant undefined behavior between the original execution and the replayed execution. and most importantly, it has nothing to do with the non-deterministic nature of the game -- non-determinism is trivial to account for, because PCRNGs are not actually non-deterministic; they're (pseudo)random, and deterministically so. They're…
Game devs explain the tricks involved with letting you pause a game
251–260 of 273 posts
Re: Game devs explain the tricks involved with letting you pause a game
#252Earlier quoted context omitted.
This is a great idea, but respectfully, if you're going to get traction you need to be the one instigating getting people to talk to you. Have a pitch, have an explicit ask, and be willing to put effort into making it happen. Fantastic idea though, you should do it.
There are a few of these floating around for older games, but the world needs more: Ara technica has a war stories feature on game development. https://arstechnica.com/video/series/war-stories For apple 2 games John Romero did a podcast. It’s decent but he seems to have stopped doing them. https://appletimewarp.libsyn.com/ Or YouTube Ted dabney experience has a lot of interesting interviews with older arcade game des…
Re: Game devs explain the tricks involved with letting you pause a game
#253I would prefer to understand why a paused or backgrounded game still manages to consume a ton of CPU or GPU Like, you're still just churning away at the main game loop while literally nothing else is happening except for you waiting for me to unpause it ? Because THAT would be an actual achievement. Hell, I can suspend any process from the Unixy side of things by sending a SIGSTOP signal, for a far more perfect "paus…
But if you were a game dev, you would understand why it‘s not as easy as it seems to outsiders. :)
One idea that might be relatively easy to implement- Slow the framerate down to something super slow instead of fully stopping
Re: Game devs explain the tricks involved with letting you pause a game
#254One of the things that impressed me in Quake (the first one) was the demo recording system. The system was deterministic enough that it could record your inputs/the game state and just play them back to get a gameplay video. Especially given that Quake had state of the art graphics at the time, and video playback on computers otherwise was a low-res, resource intensive affair at the time, it was way cool. It always s…
It wasn't really that much to do with determinism. Quake uses a client-server network model all the time, even when you're only playing a local single-player game. What the demo recording system does is capture all of the network packets that are being sent from the server to the client. When playing back a demo, all the game has to do is run a client and replay the packets that it originally received from the server…
Re: Game devs explain the tricks involved with letting you pause a game
#255Earlier quoted context omitted.
It wasn't really that much to do with determinism. Quake uses a client-server network model all the time, even when you're only playing a local single-player game. What the demo recording system does is capture all of the network packets that are being sent from the server to the client. When playing back a demo, all the game has to do is run a client and replay the packets that it originally received from the server…
I don't see why it makes a difference for this purpose that you're replaying network packets or controller inputs or any other interface to the game engine. The important thing is that there is some well-defined interface. I guess designing for networked multiplayer does probably necessitate that, but if the engine isn't deterministic it still isn't going to work. There was a twitter thread years ago (which appears t…
Re: Game devs explain the tricks involved with letting you pause a game
#256Earlier quoted context omitted.
An interesting thing about the a lockstep solution which only considers inputs is that any RNG required in the game must be generated from the input history somehow. This could lead to players being able to manipulate their luck with extremely precise inputs.
https://news.ycombinator.com/item?id=30359560 DonHopkins on Feb 16, 2022 | parent | context | favorite | on: Don't use text pixelation to redact sensitive info... When I implemented the pixelation censorship effect in The Sims 1, I actually injected some random noise every frame, so it made the pixels shimmer, even when time was paused. That helped make it less obvious that it wasn't actually censoring penises, boobs…
Btw video number [2] is private.
Re: Game devs explain the tricks involved with letting you pause a game
#257Then there are others such as vfx that can have their own tiers, you might have something in the background that is difficult to pause, stop and/or resume.
Then there are other things such as timers etc. that will need special handling, graphics card interactions etc. When done with those you also need to be able to resume and ensure that all of the previous will continue as if nothing have ever happened.
In the same vein some other "simple" things like saving/loading the game is often anything but.
Re: Game devs explain the tricks involved with letting you pause a game
#258Earlier quoted context omitted.
That could lead to other subtle problems elsewhere though, because it requires synchronizing the seed. If you can't do that, it could lead to problems. E.g. when comparing offline speedruns where everyone would have a different seed. Then some players could have more luck than others even with the same inputs, which would be unfair. (Though I can't think of anything else at the moment.)
That's not more of a problem than synchronizing the player names at game start. It's table stakes for an online game.
Re: Game devs explain the tricks involved with letting you pause a game
#259Earlier quoted context omitted.
https://news.ycombinator.com/item?id=30359560 DonHopkins on Feb 16, 2022 | parent | context | favorite | on: Don't use text pixelation to redact sensitive info... When I implemented the pixelation censorship effect in The Sims 1, I actually injected some random noise every frame, so it made the pixels shimmer, even when time was paused. That helped make it less obvious that it wasn't actually censoring penises, boobs…
I love stories like these. Btw video number [2] is private.
Re: Game devs explain the tricks involved with letting you pause a game
#260Earlier quoted context omitted.
Murdering CEOs is extremism, saying something is an "evil megacorp" is totally different.
There's probably something eloquent by Hannah Arendt about how 190,000 Americans killed by health insurance companies goes unnoticed while one person killing a CEO becomes a spectre of "left wing extremism" held up as an example. Or was it by The Joker from Batman? Or was it when protesters in Latin America sat down blocking a road to protest environmental destruction and an American driver was so angry that he was m…