About a year ago I was looking at Crash Bandicoot timer systems and I found that Crash 3 has a constantly incrementing int32. It only resets if you die. Left for 2.26 years, it will overflow. When it does finally overflow, we get "minus" time and the game breaks in funny ways. I did a video about it: https://youtu.be/f7ZzoyVLu58
Is it common to default to a signed integer for tracking a timer? I realize being unsigned it would still overflow but at least you'd get twice the time, no?
Doom crash after 2.5 years of real-world runtime confirmed on real hardware
161–170 of 221 posts
Re: Doom crash after 2.5 years of real-world runtime confirmed on real hardware
#162Earlier quoted context omitted.
Um, there are the cases new == old and new > old. And all the more specific cases new == old + n. I haven’t seen the code so this is just speculation, but there are plenty of ways how an unexpected, "can never happen" comparison result causes immediate UB because there’s no execution path to handle it, causing garbage to be returned from a function (and if that garbage was supposed to be a pointer, well…) or even exe…
Dividing by a difference that is suddenly zero is another possibility.
Doom4CE (this port) was based on WinDoom, which only creates the program window once at startup, then switches the graphical mode, and proceeds to draw on screen independently, processing the keyboard and mouse input messages. I'm not sure, but maybe Windows CE memory management forced the programmer to drop everything and start from scratch at the load of each level? Then why do we see the old window?
There are various 32 bit integer counters in Doom code. I find it quite strange that the author neither names the specific one, nor what it does, nor tries to debug what happens by simply initialising it with some big value.
Moreover, 2^32 divided by 60 frames per second, then by 60 seconds, 60 minutes, 24 hours, 30 days, and 12 months gives us a little less than 2.5 years. However, Doom gameplay tick (or “tic”), on which everything else is based, famously happens only 35 times a second, and is detached from frame rendering rate on both systems that are too slow (many computers at the time of release), or too fast (most systems that appeared afterwards). 2^32 divided by 35, 60 seconds, etc. gives us about 4 years until overflow.
Would be hilarious if it really is such an easy mistake.
Re: Doom crash after 2.5 years of real-world runtime confirmed on real hardware
#163Re: Doom crash after 2.5 years of real-world runtime confirmed on real hardware
#164Earlier quoted context omitted.
> Back in the real world, no race team would agree that their cars should disintegrate after one race. Wasn't F1 teams basically doing this by replacing their engines and transmissions until the rules introduced penalties for component swaps in 2014?
Yup, cigarette money enabled all kinds of shenanigans. Engine swaps for qualification, new engines every race, spare third cars, it goes on. 2004 was the first year that specified engines must last the entire race weekend and introduced penalties for swaps.
Re: Doom crash after 2.5 years of real-world runtime confirmed on real hardware
#165Earlier quoted context omitted.
There are, and if you really have the workload that you need to cook stuff 24/7 (what in gods name is OP cooking btw?) then you should definitely get one of those. Maybe not even secondhand but just a new one. The cheap consumer grade ones are meant for people who use them once or twice a year. This is a fine example of what I meant about people complaining when they use products beyond their design parameters.
It is easy to have to run a bunch of sous vide cooker 24/7 if you have a small restaurant or food delivery business.
Re: Doom crash after 2.5 years of real-world runtime confirmed on real hardware
#166Earlier quoted context omitted.
Anyone can build a bridge, but it takes an engineer to barely build a bridge.
Alan Weisman's lovely book World Without Us speculates a bit about this, basically saying that more recently built structures would be the first to collapse because they've all be engineered so close to the line. Meanwhile stuff that already been standing for 100+ years like the Brooklyn Bridge will probably still be there in another 100 years even without any maintenance just on account of how overbuilt it all had t…
https://www.justice.gov/archives/opa/pr/aluminum-extrusion-m...
Re: Doom crash after 2.5 years of real-world runtime confirmed on real hardware
#167Earlier quoted context omitted.
It's just me, so I only need one running at a time. Every day I take one serving out and put another one in. I clean the tank about once per week, or if something breaks. My favorite is short ribs, my daily drivers are chuck roast or shank. The prices have skyrocketed in the last few years. I buy in bulk on sale and portion it into bags with a chamber style vacuum sealer. It goes straight from the freezer into the ta…
Do you take pride in knowing that you eat cooler than anyone else, because you should. Short rib is shocking where I am. Even chuck is pushing past $15 a pound. What are you doing for sides/sauce? Generally when I think braise/sous-vide I think some rich, flavourful sauce, but that seems unpractical for daily consumption.
I crisp it up in an air fryer before serving. Here's the full ingredient list: meat, butter, salt. After five years I still look forward to every repeat.
I just replaced an air fryer that lasted two years of daily use, a personal record. I was ready to replace it anyway, because they accumulate grease where you can't clean, and the smell gets interesting.
Re: Doom crash after 2.5 years of real-world runtime confirmed on real hardware
#168Earlier quoted context omitted.
Never heard of it, appreciate the recc! Edit: ah only works on safari
You are on iOS. There is only safari. Any other "web browser" is just a skin over safari
Edit: ah forgot my vpn was off, usually clears all that up for me. Much better now
Re: Doom crash after 2.5 years of real-world runtime confirmed on real hardware
#169Earlier quoted context omitted.
Same. Something about the metroidvania design with the home hub of the later ones didn’t give the same feeling. It should be run, kill, find secrets, end, next level.
The latest DOOM: Dark Ages ditched the home hub. I think it's a really great DOOM game.
Especially the 'mech scale' stuff was just boring. I don't remember what they call it in-universe, but essentially the parts of the game where you're playing from a giant robot and just walking over tanks and fighting supersized demons.
Re: Doom crash after 2.5 years of real-world runtime confirmed on real hardware
#170Earlier quoted context omitted.
Porsche was talking about racing, where the primary focus is reaching the finish line faster an anyone else, and over-engineering can easily get in the way of that goal. Back in the real world, no race team would agree that their cars should disintegrate after one race.
> Back in the real world, no race team would agree that their cars should disintegrate after one race. Wasn't F1 teams basically doing this by replacing their engines and transmissions until the rules introduced penalties for component swaps in 2014?
You can see this really on display with the AMG ONE. It's a "production" car using an F1 engine that requires a rebuild every 31,000 miles.