The Standup with ThePrimeagen

Programmers vs Dream's Fake Manhunts

Montag, 19. Oktober 2026 · 1 h 26

MP3

Shownotes

[Sponsor]
Linear helps teams track issues, manage projects, collaborate on docs, and ship products - and the crazy thing is their software is actually fast and a joy to use. Learn more: trm.sh/linear

[Description]
The Standup crew puts their detective skills to the test with a quiz about Dream's supposedly "uncut" Minecraft Manhunts. Can programmers spot the suspicious edits, hidden clues, and inconsistencies?

[Sources]
youtube.com/⁨@rubyswolf9767⁩
youtube.com/watch?v=WsWNWzSwVUA
dartjs.com/joltcracker
mcsrc.dev
github.com/misode/mcmeta

[Hosts/Guests]
Prime: thestanduppod.com/contributor/theprimeagen
Teej: thestanduppod.com/contributor/teej-dv
Trash: thestanduppod.com/contributor/trash
Casey: thestanduppod.com/contributor/cmuratori

[Partners]
Linear: trm.sh/linear
Sentry: trm.sh/sentry

[Socials]
x.com/thestanduppod
instagram.com/thestanduppod
tiktok.com/@thestanduppod
facebook.com/profile.php?id=61573286173150

[Other Places to find us]
Spotify: open.spotify.com/show/01A062kejnXFkJE01bjN5J
RSS: thestanduppod.com/feed.xml
Clips: @TheStandupPodClips
Website: thestanduppod.com

Transkriptvom Podcast bereitgestellt · Zeitmarken springen hin

All right, Casey, hit us with your blocker. Hold on. We have to start the startup. Yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah What are your blockers?

What is this flu shot blocker? Let's put this in progress right now. No, no, no. I want to do the other one first. Oh, gosh. Okay. You'll notice that I delivered the flu shot blocker back faster than I assume William Sonoma has ever done anything. If this is the thing I'm thinking about. It's exactly.

So a lot of people have been asking me. Oh. There was a bit of a thing that happened with William Sonoma two years ago, actually. Yep. For people who don't know, I wanted to send Jonathan Blow a box of peppermint bark for Christmas because I know he likes peppermint bark, and I thought that would be a nice thing to do.

That is a nice thing to do. You know? I was trying to be a good person on Christmas, all right, and send someone some peppermint bark. That's all I was trying to do. And William Sonoma... They just flat out lied to me. First of all, they said they were going to ship it. They never shipped it. The shipping place just said label printed.

It never changed from that. And then six months later, they changed the status to just be delivered on the Williams-Sonoma end. But it had never – it was still just label printed, and then it just disappeared from the shippers. People, they're like, we've deleted this record because we never received a package.

Right? And so I was wondering, I'm like, I sent a box of peppermint bark. Which is going to finish first? The 10-year project that involved creating a new language, a new engine, and either one of the largest or the largest puzzle game ever created. Will that ship first or will the peppermint bark ship first?

And now, last week we got the answer, Order of the Sinking Star is out, and Jon has received no peppermint bark after two years. Zero. And just to put this in perspective, John's language also iterated and made macros or like compile time programming in a much more expansive way than people thought humanly possible.

He iterated on human design faster than bark could be shipped. Yes. Like you could meta bark before William Sonoma could bark, basically. Dang. Where's your money? Where's your money? So here's the thing. I decided. What's the plan? I'm going to be a good employee, right? And I'm going to be – you know, you just don't complain about your teammates when William Sonoma obviously should be fired.

You take Matt and – William, William, William. So what I am doing – Mr. Sonoma. What I'm doing right now, and I'm going to go to the store today, I bought – a box of peppermint bark myself. It literally says that, huh? And I am going to try, and this is important, I'm going to try to ship this to Jonathan Blow, because maybe it's just impossible.

Like maybe shipping peppermint bark really is harder than making like the largest- It could be illegal. Maybe it's impossible. I don't know. Peppermint across state borders? That could be a crime. It's like the TSA of shipping is like, they're like, well, one time a guy tried to take out the US Postal Service with peppermint bark.

We can't have that happen again. I have a question. I don't know what peppermint bark is. Is it in the shape of a dog, or is it like the bark of a tree? Oh, I love that trap. Wow, that is beautiful. This is... That's a very good question. He just put his entire thumb into his mouth and sucked off frosting from a donut he's eating.

This man loves trees and does not know what bark is. I hate peppermint, too. But it doesn't have to be... I never heard of bark. Casey, sorry. Casey, go. It's migration season. Nothing like seeing tickets fly done for the winter. Look at that guy go. Look at that guy go. Finally a ticketing system that can keep up with my agents.

Hey, cut the jokes. Linear did the impossible. It's helping me stay organized, and that's why I'm so glad to have them as a partner of this channel. So if you want to support this channel or just get your work organized, check out Linear today. Links in the description. No, but I think Trash has a very valid point here that I was about to point out.

And I don't think he realizes just how prescient he is because I believe it's probably bark of a tree based on the look of it would be my guess. But what do you call that right there? That's why I got confused. It's a freaking dog, dude. That's a dog, right? That's a dog. I got confused when I saw that dog.

I was like, oh, maybe. Quick question. Do you think they're AI generating the top of the boxes now? And the AI got confused. I think these might be older than that, but that would make sense. However, we'll get to this. I'm also sending him the advent calendar, which also has two dogs, just like the other one.

Two dogs on it. Yep. And is that one exclusively peppermint bark or does it come with various other barks? I think it's just peppermint bark. I don't know. Where the parks are there? I don't really know. But here's the thing. There's at least chocolate, I feel like. Yeah, there's like that peanut brittle.

It's kind of like a form of a park. Okay, what is that? I don't know what the heck this was supposed to be, but I'm like, John's getting that too. See, that's what I was envisioning when I saw the cover for the peppermint bark. Okay, but I feel like you're kind of going on hard mode, though, because previously you just did bark, and now you're doing big bark advent calendar plus a dog.

Yeah. I figured, look. It's getting stolen. Here's the thing. I like doing fault-tolerant programming. It's one of those things that I enjoy looking at and analyzing. I think it's fun. And so what I have learned in fault-tolerant programming is that if you need something, if you're really trying to get something to work that is extremely difficult, like shipping Peppermint Bark to Jonathan Blow apparently is, then you do it multiple times, right?

You have multiple things that you send there. And yeah, maybe the dog doesn't get there, but the box does, right? The advent calendar gives us 24 separate days of possible peppermint bark that could succeed. Just think about that. Is it 24 or 25? I don't think you get one on Christmas. Do you? Maybe you do.

I'm looking it up right now. I don't think so. Does it say? Does it say? Oh, look at this. It's actually a split. So there's two schools of thought. Right. 24 is the traditional one. Yeah. Whereas 25 is the modern commercial one. This one looks like 24. Just people these days, they want to have their cake and eat it too.

Yeah. You know what I'm saying? They want to have their bark and eat it too. Yeah, exactly. They disgust me. I think I've met anyone that is Ian Bark before. I love peppermint bark. Peppermint bark is one of the most delicious treats of all time. I love it. Yeah. I'm with you, bro. Also, peppermint firsty kisses.

Very good. Trash, we'll get you some for next week. Some non-peppermint versions, too, because I'm with you. I'm not a huge peppermint guy in all different situations. I don't mind it as a candy, but I'm not a big peppermint plus chocolate kind of situation guy. They have other barks, yeah, like caramel bark and things like that.

Yeah, looking at them. That's what I would be down for that. Mm-hmm. Alright. Trash is really considering it though. Look at how much thought is going. I've never seen him this focused on the stand up in my entire life. Dude, Trash just gave us his ex high face right there. Yeah, we just turned a bottle.

I think I've seen this before, but I don't think anyone's ever called it bark. It looks familiar, just like, I don't know. I'm aware of your game. What do you got Prime? You got a blocker today I got a small blocker but before we do that Let me just move this one to Should it be done not in the review?

Okay you're right we can go down to done Are you even a scrum master? Because I'm starting to think that you don't really know. He's a scrum master. I don't know how this works at all. All right, Casey, I saw something today on the internet. Okay. Oh, boy. And I thought of you immediately, and I started thinking, okay, I wonder what Casey would say, because correct me if I'm wrong.

Typically, when we're designing new chips, it's like a multi-year process of taping it out or whatever that crap's called and designing, and I'm sure there's FPGAs involved and figuring out everything that goes into designing a chip. Salt and vinegar, jalapeno pepper, dill, those are the kind of chips I'm designed.

You know what I mean? This is very confusing. But then I saw today- I mean just to be clear, usually it's about because of all the validation and tests, like it's like, you know, typically there's just really long lead time because you, you know, you don't want to put a crappy chip out there that has all these bugs in it, right?

Yeah, you don't want to be, what was the lake, Raptor Lake or whatever, what was the lake from Intel that was just like filled with non-stop people talking about how terrible, it was like a few generations ago I think. That was, yeah, you're talking about there was a voltage issue on those. But then there was like the Pentium divide bug would be another classic one that they had that was like, okay, yep, that, you know.

Yeah, I don't want a divide bug, okay? That does not sound good. All right, so I saw this today, and it said these two people from Google are developing chips with AI, claiming it's going to take the process from multiple years down to potentially one day. And I was curious, Casey, in our world, what would that do?

Like, let's just theoretically, okay, just ignore all the actual practical implications of everything. If you could go from idea to actual, like, hey, this design works in one day, what would that do to Moore's Law and all these other, like these, you know, again, Moore's Law, I'm also kind of hand-waving here.

The theoretical double improvement every 18 months, even though I know that's not what Moore's Law is. Like, what would this do to the world if this was actually true? Well, I guess I don't really know what part there would be speeding up exactly for that. I mean, it would help if I read the article at least, just so I know what they're talking about.

But... I mean, obviously, shortening lead times means that you would get access to the thing that you would have had, you know, in a year. You could get access to it now, right? And I guess what I would say is, unfortunately... So one thing you could definitely say that you would get is a one-time bump in that all the things that would have been a year or two years out, we could get them sooner.

So you'd have a one-time bonus of, like, shrinking that horizon. Okay, we'd zap into the future. Everyone would just be twice as fast or whatever. Well, not these days. Not these days. Yeah, maybe if this had been something that had been done back in the day. But the other thing is presumably... presumably that's a bonus, you know, even after that, there's some bonus to it where it's just like the industry can be more responsive, right?

Because currently, you know, there's not really that big of a problem with having two-year lead times in CPU design or something like that these days. It's not like that's a huge issue. But the part where it becomes very maladapted is when something shifts in what people wanted the chips to do, and the industry can't respond as fast as it would like, right?

So AI going from not really big to, hey, we need to build a $100 billion data center yesterday is a – Non-traditional amount of growth. Sadly, no, not like that. And the only reason I say sadly, no, not like that is because that is just a pure capacity problem and this would not help that at all. Right.

So what I more mean is like, say on the AI front, you were building all of these CPUs and you know, you didn't assume that people needed very much like neural, like, like tensor throughput. And then now AI is all the rage and everyone wants tensor throughput, even in like their laptop chips. Well, now you could adjust that balance very quickly.

Like, instead of waiting two years to change how much of the diary is dedicated to neural, now we could just change it right away. And like the chips that ship, you know, in two months or something can have it. Because the design, we just redid it. And the fabs, you know, we... assuming that this article is corrected i'm just yeah i know i led that's why i led with let's pretend like everything is because i was just curious like what does it do does it fundamentally change the the slope of improvement or is it going to be one of those things we're like okay now everybody needs these tensor new calculations and everything so we have a we have like a perceived speed up right away but it's more like we just realized what we could have already had we just simply didn't plan for that and so therefore it's like oh yeah this is what it would have been yeah i assume um

I mean, it's really hard for me to say because not being a hardware designer, like I can't necessarily say all the things that this might help. But like in general, if you design hardware, it's not like you don't have the ability to experiment with new designs before before actually starting the process of like taping out a real chip.

Right. So I'm not sure how much this would actually impact. like the overall quality of chips, that's a better question for a hardware designer. But it clearly, at least to my mind, I'm like, it clearly just means you can be more responsive because if now you're just saying like, look, after we decide what we actually want to do, it only takes us a few days to like vet that design or something.

Then obviously we could make sure that, you know, the lead time on orders to TSMC is... is not going down at all because of that, as far as I know. There's still some lead time, but at least you know that when you place your, you know, you've got your allocation TSMC, when you're going to tell them what you want to actually build at whatever time that has to go in, you've cut your time down to just whatever the length of the process is, but, you know, between those two steps.

So getting the... you know, telling TSMC what you're actually going to the fab, them doing all of whatever has to happen to fab it and it coming out the other end, that's not going to change. But the, the lead up to that would, would presumably, right. Okay. So that's my best guess. And there's only so many wafers.

There's only so many wafers in the world at any time. And Trash eats a huge amount of wafers. I know that. He may not know about Bark, but he's a wafer guy, it seems like. Yeah, Trash, thoughts on wafers versus Bark? We'll have to have that test maybe next week. Yeah. Do you think AI could improve that process?

Your Bark to wafers speed. Okay. Yeah, yeah. All right. And I would assume that, like, yeah, I mean... At the moment, most of the problems with chip supply right now is literally capacity. It's not really design. Like design, obviously you're always looking for ways to improve it. So I'm assuming that this is a good thing.

I mean, I haven't seen it, so I don't know. So it's not like speeding up design is a bad thing. Obviously it's good, but at the moment that's not the problem, right? The problem is just that building these physical facilities and the ASML machines, there's only so many of those that are necessary for doing the patterning.

You know, it's just, it's a capacity constrained industry at the moment. And design is not the bottleneck at the moment. Okay. I was just curious because when I hear things such fantastic, like, oh, this process used to take us two years. Now it takes us one day. It's just like, oh, that's like a thousand X improvement.

So what does that buy us? And I just, I have no way to even reason through that question because it just sounds, it sounds too fantastic to be real. Because I would just assume if there's any other process that you could be like, it's instantaneous now, it would just immediately make a big change. Just kind of like software.

Like we build our own, a bunch of own crazy tools internally that are awesome that we would have just never built before. So there's obvious changes there. And like I said, maybe there is. Oh, Pam. Yeah. Maybe there are some ways that this helps them other than being more responsive. I don't know. Because like, again, not being involved in hardware, it's hard for me to say like, you know, how much how much of the how much of your ability to improve the design is a problem with this, you know, is a problem with that lead time versus, you know, just the fact that, well, you know.

Um, we have to kind of be slow because when we tape out a chip, that chip has to ship into the real world and we actually have to produce a certain number of them at scale. Right. And so it's like, it's the commitment to that. That is the thing we want to be really sure. This is actually what we want.

Okay. I don't know. Um, so yeah, Probably my guess is, I mean, because they already use AI in designing chips, you know, for doing like layout stuff and things and optimization. NVIDIA has already, you know, multiple times claimed that they've shipped, you know, like they're actually like their organization of things like their, you know, arithmetic logic unit goes through AI layout tools and stuff.

That's been true for a very long time. It's been true for quite a while Longer than LLM Networks I knew network routers and all that They also use AI for a long long time I've heard they write code of areas Kind of like how to move the packets around by AI So this is not shocking that Yeah, machine learning for things like, you know, routing is a very common thing you would want to do, right?

And so it's not like they weren't already using AI to speed up that process. So again, and it's hard for me to comment on this because since I haven't seen the article, I don't know what specific things they're talking about having improved. One thing it might mean is people who work on the validation teams might be losing their jobs.

That could be bad, right? Because a lot of that stuff is, you know, It's manual or partially manual, right? Well, I'm glad we're still using tape, though. 3M will always be a company. All right. You're taping out. You can tape it out. It's still a massive thing. All right. So, TJ, we do have a very important thing because it does seem like you have something for us.

I didn't know what to put it as, so I just put it as the amazing game because I don't even know what it could possibly be. I know that's – I did not – Look at what they were doing. I even walked into a meeting where everyone hid their laptops. So it was clearly whatever's going on. This is going to be fantastic.

Hey, everybody. And welcome to the stand up today. All right. All right. Okay. So here's Prime. I'll do the intro. So this will be a little bit different. First off, to interrupt you, I already did the intro. I welcomed everybody but trash because you interrupted me. And so now this is a second intro, buddy.

Yeah, well, that's probably true. Okay, so recently, recently, a big drama in the Minecraft community went on, and as I was watching the video about it, I was struck by there was a bunch of fun programming concepts that... in the drama. So I thought we could do a little quiz game show where all of you will get to participate as you go along and experience some of the things along the way.

And then... We'll just sort of talk about some of the programming things that are happening as we go. Because there's actually some fun programming stuff. So that's kind of why we're doing that here today. And also just like it's one of those things where it's hilariously awesome how they found a bunch of these things here.

And so I wanted to go over it. So if you guys don't know who Dream is, he's probably the biggest Minecraft YouTuber ever. And he's got this series called Manhunt where they're all the most elusive prey, they say. allegedly allegedly allegedly uncut real raw videos okay that's but and i say allegedly in the sense of he claimed it what's the word instead of allegedly that i'm looking for no purportedly purportedly purportedly purportedly saying supposedly Um, and so of course, every time someone makes a claim on the internet, everyone immediately wants to prove them wrong.

So people have been trying for a long time to prove that these aren't real. Okay. There's like a whole bunch of drama for like literally years for a bunch of these, whatever. That's not the main point of the video. Here's the basic premise. I'm going to play a little clip. Ideally, ideally, this is also going to play on your guys' screens for you.

If it doesn't, then hopefully then this works. Teach, can I ask one? We'll see what happens. Of course. I said one clarifying question. Yeah, of course. What is the... Minecraft. Like, when you say uncut, why is it impressive that they were uncut? Because the guy could go eat some food? What is the bonus to it being uncut, exactly?

So, in each of the videos, it's set up that Dream, the main guy, is the host, is trying to escape, like, four to five other people hunting him down in the game. Okay. And so they go and do a bunch of very like insane stunts and he does like crazy parkour. They go and fight stuff and they're like chasing after each other with the premise being like, hey, it's a two hour video or something.

Yeah. Like, and all of this really happened. So the drama is elevated, right? It's like reality TV. It's supposed to be like it's reality TV, but on the internet. Does that make sense? Well, reality TV is heavily edited, but they're saying this is not for some reason. Certainly. Okay. This is reality TV.

Okay. Real reality. Yeah. Right. And honestly, that part doesn't really matter. We're just going to get eventually to the code parts because I think that that's what's fun. But like that is the premise. And so here I'm going to play a little bit from the original video that kind of broke this news. Okay.

So here you go. New evidence was just discovered that suggests Dream cuts his supposedly uncut manhunts in order to fake them. Fake. And not just once or twice, but 46 different times across the three original videos. This was the other thing, of course, is since he says this and claims it, then like that makes the drama higher.

Right. So he's claiming it because he thinks it makes it bigger. So then people want to stop it. Found using new tech that allows anyone to fairly easily search for hidden cuts in any Minecraft video, because normally they're almost impossible to see. I mean, try spotting the hidden cut in this clip.

Pretty tricky, right? But what if you somehow had the ability to see how long the game had been running for? Now, try paying attention to this stopwatch. I've been playing the game for two minutes here, but then suddenly during the cut, it jumps up to three minutes, clearly giving away the fact that I hit over a minute of failed attempts.

First try. But then, for this next cut, this time it jumps down. Part of the reason I had to include this beginning part is because I just need to get my statement out there. Lego Batman, amazing movie. Trash, have you seen it? The Lego movie, but not Lego Batman. Lego movie is really good. I've seen the Star Wars Lego movie or series or whatever.

But did you watch Batman? Because if you haven't watched it with your kids, you'll love it. I haven't. I will. Okay. I just needed to make sure my public statement about Lego Batman was on the record. Thank you. Okay. and that's because I had to call it a day and close down the game, only coming back to it later, starting a new session from Zero.

There's just one problem though. Minecraft never actually shows us this stopwatch. So that's the basic premise of what they're going to do. We're going to walk through a series of steps along the way here and eventually tell you how they found out just from the info that's currently on the screen right here how to reconstruct things.

Basically that timer from like Minecraft internals. Okay. So can I, can I just throw something out there just so I understand it, which is that we just watched a video that he made that looked uncutted to the untrained eye, but it actually was cut several times and he even quit for a day and came back.

And so he is an, this person is claiming to be an expert, not only at detecting it, but also he can create it very, very well. Like I, that was fully believable for me, the rookie. Right. Yes. Watching the video, you don't know that he took like 100 shots and missed a bunch of times and then made it go together.

Right. So he's effectively Dream is doing Minecraft trick shots. Right. And he's claiming they're 100% real. And then people are getting upset because they're saying it's not real. Okay. So... We're going to have a quiz along the way. And as we go along, each of you is going to get a chance to guess where or how a cut is supposed to have happened during this clip.

Okay? So we're going to watch a clip. You guys will get to guess how they detected that there was a cut. And then I will reveal the right answer. So that... What? What, Trash? So these are the things I'm supposed to be watching for on the screen. These are the four items that you're supposed to be watching for.

We don't actually, don't worry, also we don't actually have 29 different clips. We have some, I have some slides later showing the code. Yeah, it says cut one out of nine. Don't worry. What is the phrase lag spike refer to? Trash. This is your expertise. Like, hey, can't see. No, no, but I mean, when we say lag spike in this case, are we literally just talking about the frames lagging, or is it Minecraft?

Is it frame drop, or is it some other thing? They're saying, so, occasionally... Minecraft, especially, you know, JVM Minecraft has, you know, some problems on the server with a multiplayer server, right? Because these are multiplayer games. He has his real friends coming and joining the game and they're playing remotely and stuff.

So... Okay. I'm sorry. I hate to be that guy, but I'm just saying, so if you have a game where the client and server are decoupled, you will not see a frame rate drop in that case. What you'll see is something like a guy teleport or something. So I'm just asking, in Minecraft, what does a lag spike look like?

That's what I was trying to ask. It will look like teleporting. Okay, so you rubber bands. I believe we call that rubber banding. Got it. Yep. Yep. Okay. All right. So I'll click play, and hopefully this is going to work here. Alright, I think I got it. I think I got it. Alright, so then we'll stop. I'll click open answers.

Can I click? You should be able to click. And it should keep me updated when you guys click. I have no idea. Okay, this is working so well I can't believe it. Let's see what happens. Locked and reveal. Prime thinks not that guy thinks it's particles vanishing. Just watch the video again, Prime. You see it.

You can literally see it. You can see it jump. It just jumps in the video. It's right in the beginning, right? Yup. Good call, Trash. Right here, coming up. Okay, see, I thought it was, I thought he- I honestly thought that was me. Right. I thought it was me that spiked, but then you played it again and did it.

And I was like, okay, that's... See, I thought it was going to be, because this is like so intense that someone mapped out how often the torches go like this. And they're like, actually in the background, when you looked at that brief second, one went down, but then the sparkle, you know, it's just like, oh, damn.

Okay. That's... Prime, that was exactly what I wanted you to think and why I put this one as the first one. So that's why I thought the stars were lying to me. When I saw that, I said, okay, TJ's lying to me. That's, I thought this was the red herring. I see what you're saying. It was just too obvious to ignore that spike.

Yep. Okay. Well, that's okay. We have some more cuts. You have some more chances to guess, Prime. Okay? Okay. So here's where I have a new confession, though. This presentation is actually just a way for me to ask Casey a bunch of questions about video games. And Casey can explain to me. Legendary game programmer Casey Mortori.

Legendary game engine and developer Casey Mortori. of what the heck is going on when we this is also not just for me but for the audience is also turning this into an educational opportunity right what happens during the lags like this is a proper client server architecture like the server is running somewhere else uh for minecraft and like how do you make those happen less or worse or like appear less worse i'm saying Well, again, it really has to do with where the, you know, I would imagine that people use the term lag spike now.

This is why I asked that clarifying question to refer to a lot of things that might have nothing to do with a lag. But that lag might not be the best term for or whatever. So lag spike is now like vibe coding, right? It has its own meaning that may not exactly be the meaning that it was originally created for.

So who knows? We're just basically talking about something that's a hiccup. Right? Like, we say the word lag all the time for things. I'm like, kids, that's not what lag means. You're using the wrong term here. So who knows, right? But in general, what happens is you have a... Obviously, in a video game, you have a certain budget that you have to get everything.

$305 million. Oh, no, not. In 16 milliseconds or thereabouts, right? You're trying to get everything to the GPU that needs to go to the GPU to get the next frame kicked off and whatever. And those are supposed to come out at a regular 60 frames a second or sometimes higher if you're trying to run it at a faster frame rate or whatever.

And so what you have to look at is what are all the things that could happen in there, right, that could cause a problem? And there's two broad categories. I won't bother going into too much detail so that we don't have an hour-long podcast. on just this, but one category is there's actually something happening on the client side in the code.

That's trying to get that stuff done in the 16, 16 milliseconds. It's 16.6666 or whatever, but you know what I'm saying? Yeah. Um, You have something happen in there, which actually means that you miss the time when you would have had to have gotten the data to the GPU to present the next frame in a smooth fashion.

Right. And so that can look like any number of things, just like there were some computations that took too long. It can also be that you handed stuff off to the GPU and the GPU took too long. So it had too much graphics processing to work. That's very common now. Right. Right. It's got too much graphics processing work to do.

It doesn't make its, you know, 16 milliseconds that it then has to hit that frame rate. Right. You've got this like pipeline of things that all have to sort of daisy chain. They each are getting 16 milliseconds in sort of a rolling window. And so if anyone misses there, just through the code not running fast enough on the client side, that's one place you could obviously get a spike.

The other place you can get it is if – so you have a network in between these two things. You have a server on the other side. Obviously, the server can have the same problem. So the server could be in a situation where it takes too long to produce whatever the thing is it needs to send to the client, right?

or the network could have a problem, right? It's not getting things fast enough. What happens in those cases is that the client, when it's getting this information back, it's seeing, you have to imagine, right? Like on your machine, you are effectively in a time window. You could, depending on how you wanna conceptualize your head, you're in a time window that's a little bit ahead of the information you're getting by some number of milliseconds, right?

Because the server is sending you stuff And you, for example, know that you, you know, your computer knows you pushed the space bar to like jump or something. You pushed it right now. The server can't possibly know that cause you've got to send a packet out to it and it's got to send the packet back, right?

And so on. So the way to think about it is every game engine has to have a strategy for what it's going to do to mix this variable set of event timing together to produce something coherent, right? Now, one thing that you often see is the client will just simulate its own world, and it will take your inputs and simulate them at the time that they happen, and it will simulate what it thinks the server is probably going to do.

The server, meanwhile, is simulating the authoritative version of the world that takes everyone's inputs and simulates them fairly, hopefully, right? And so effectively what you've got is two constantly diverging states of the world, the one on the server and the one on your client. And the client has to do something to bring those two back together.

Right. So one way that you can also therefore have a lag spike is if that code is unable or not written properly or whatever, or is unable to, based on the circumstances, generate something smooth and seamless that hides the difference between those two things. So a classic example in a really like case that's, you know, no one's doing anything wrong, but you just end up in a situation that's sort of untenable, I'll describe.

You could be playing a game, you know, like a battle royale game, and you're running with your gun or whatever. And there's a guy, your teammates running. Classic battle royale. Yeah. Your guy's running. Very relatable. Your teammates running right next to you, right? You're both running and you just, you're running together.

And then all of a sudden they like either rubber band back out of your view immediately or just disappear. Right. And you're like, what happened there? It's like, well, the last information that the client got from the server was that you were both running in that direction. Then you lost network connection to the server for a little while.

So it just extrapolated where it thinks the guy's going. But really, like, you know, a half second ago, he broke right. Okay. When eventually your client gets the information that he broke right a half second ago, it has to like interpolate those positions. It just has like, oh, crap. I thought he was here.

He's way the heck over there. Right. So that's another way you can get a lag spike, and it could appear in all sorts of ways, depending on how the client tries to show you a smooth transition between those two things. It could just hard cut, in which case it's just a jump, like whoop, he's gone. Or it could try to smoothly interpolate, in which case he goes like wow, you know, right?

But that's fundamentally the underlying process. So those are usually the two broad categories. You're looking at something in one of those two things. Great. Thanks, Casey. Any other follow-up questions? Trash, Brian? That was legendary. Very legendary. Okay, legendary. The one I don't like is when it happens to you on Apex, because I used to play Apex quite a bit.

You try to run, and it's like you're running in a dream, because it constantly is bringing you back, bringing you back, bringing you back. Ugh. That's tough. That's like when there's this one hill by our high school where Kayleen and I went, you know, when we were young. Or TJ was the star football player to throw a football over a mountain.

No, no, no. Drummer in the marching band, okay, friends? Okay. I quit football. I was on. I could have played varsity. Okay, prime. And I play, uh, play in the band. Uh, but there's, she did cross country. There's this one hill by the school that she'd always be like, Oh, I hated running up this hill.

So every time we go up there, I always make the car go really, really slow. Right. As we get to the top. She gets to re-experience. It like feels like, I hate when you do this. Um, Oh, man. Okay. We've got another one here. So options for giving this cut away. Helmet glint changes. HUD disappears. Absorption harps reset.

Or the bobber jumps. What's a bobber? I love that we also... You'll see. It'll be obvious. I love that half the game is just playing against what TJ put in our mind to seed our reality. Yeah. Yeah. No comment. All right. Here we go. Okay, so... What was the bobber? That's the fishing line. So helmet, glint changes, HUD disappears, absorption card resets, or the bobber...

The HUD disappearing is obvious, because that just happened. Bobber jumps. Okay, I think I saw what happened. I'm like pretty sure I know what happened. I have no- I didn't see the bobber that I'm supposed to see so I'm kinda- Okay, the bobber case is right here. This- he's throwing- he's fishing. He fishes at the beginning.

Oh, just in the very beginning. Okay, can you- can you just show it to me for a second? Show it to me for a second. Okay, there's pause at the beginning. Oh no, keep going with the- Okay, I thought it was something completely different. I just wanna see it again. I don't know, yeah, okay. Alright, I'm gonna open the answers.

It's okay. It's okay if you get them wrong. It's just a quiz. It's not a test. Okay? It's just a quiz. It's not that big a percentage of your grade for this semester. I want to win, TJ. That one I legitimately have no idea. That one is definitely at my sort of having never played Minecraft. I'm like, I didn't even know what was going on.

I'm like, I don't even know what's on the screen right now. I'm with you. I have no idea what I'm looking at. I'm ready. That's all right. That's all right. So I'm just picking a random way. See, I thought the place he was digging was reset. Because he liked, when he went out. It really was the HUD disappearing.

It really was again. And this time, we have a little bit of extra info, I believe. It triggered this full screen. But there's also a technical way to prove that this wasn't just going full screen like he claims it is. You see, Minecraft has what's called the GUI scale, which is an integer pixel scaling factor for how large GUIs render.

For example, at a GUI scale of 2, every texture is scaled 2 times, such that every pixel from the texture becomes a 2x2 of pixels on the screen. At 3, it's a 3x3, and so on. That means that the inventory should get increasingly sharper as you increase the resolution, as each texture pixel gets mapped to several screen pixels, which reduces the overall effect of the constant-scale compression artifacts.

making the image bigger while the noise stays the same size makes the noise look smaller and less noticeable in comparison. But when we actually look at the video, we see the exact opposite. It gets blurrier as it zooms in, indicating resampling. Resampling ha- Alright, so there you go. So that's- So there was two things there, but I didn't want to ask you guys, did it get blurrier as it zoomed in?

Because that one's a little trickier. So the point for this one that he's making, which I just thought it was fun because Prime, we had to deal with this a lot at the tower. Trying to get pixel perfect fonts. You remember this? Yes, I spent my life on, I still think about pixel perfect fonts to this day.

Pixel perfect fonts. It's really hard to do and have them be readable on a card sized item. It's really hard. So. This is what happened. If we go back to the clip, actually, I don't know how to go back that much into the clip. We're not going to do that right now. But if we think about it, I forgot to add a player thing inside of this.

Okay. Cut me some slack. It's working pretty good. It is nice. He's saying, oops, guys, I went full screen. That's why randomly everything else in the game disappears. You can't see my bottom hot bar. You can't see my items, anything else. Yeah, but I don't understand even how that works. Well, what's not fair is I don't know when the head's supposed to disappear or not.

Never. So it's always there. Yeah, because I've been full screen in many games. And typically when you go full screen, the game doesn't get dramatically worse out of nowhere. So that's why I was just so confused by it. Yeah, yeah, interesting. Interesting. Okay. Right. So that's okay. That's okay. We are going to get to some actually interesting cuts in a moment.

That one was interesting. That is good. That is good. The pixels moving is good. Yeah, me too, Trash, because I'm rooting for you. Okay, Trash, I'm rooting for you. All right. All right, let's go. We'll go to the next one. Here we go. So achievements. So achievements in Minecraft are when you accomplish something new.

It does like it will pop up sometimes on the top or it will send a message in the bottom left. items in the chest change. His aim is off, so like where the pixel thing is or what he's holding swaps. Swaps hands? So everyone's watching. Swaps hands, right, swap hands. So it goes from the left hand to the right hand.

Right, that would be what a held item swap. Yep, that would be, yep. So here we go. We don't have audio for this part because he narrates what goes wrong here. So just... hit me one more time okay hit me one more time options okay yep Okay, alright, Trash, I can hear you that. Feedback for future games.

Chest items change. Feedback for future games. Aim is off. Yeah. Aim is off means that he's not pointing at the chest and he opens or something like that. Or what does that mean? Right, the aim is off as in it shifts sometime where it couldn't possibly have shifted, right? Like showing that there is a cut.

Okay. Showing that there's a cut. Understood. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Okay. Nice parkour. I know. Oh, let's go. It's all right. Okay. Some of these are getting better, okay? The cuts are getting better. Not all of them are just massive lag spikes.

You can guess. You can guess. Hmm. I didn't even see the achievement pop, so that's how stupid I am. I saw the achievement pop, but I don't know what that achievement is, so I'm not sure what that means. Oh, I see. Yeah, that's tough, Casey. So, like, I can't really get that one, but... Okay, here we go.

Let's see. Please, please. Casey. That was a lucky. You just got lucky. Well, I thought when he went to the chest, it kind of didn't exactly... I don't know. That was all I could get. Yep, here you go. We can tell this because he's aim jumps. What I mean by an aim jump is when your cursor suddenly moves, despite being completely still, both before and after.

If this jump were just the start of a continuous motion, then that would be a whole different story, and it's something normal that happens quite often. All right, that's good enough here, though, okay? All right, following. Nothing crazy on that one. Trash. You're really letting me down. Well, okay.

Okay. Oh, what, Trash? It's okay. Well, I heard the pigs, and it felt like that achievement popped up a little late. I don't know what the timing there is, but that's what I was doing. I was timing the snore. There's a pig snore to the ship. Okay. Yeah. Okay. Man, I am bad at this game. That's all right.

That's all right, Prime. That's all right. Here we go. That Prime, that just shows every programming trick shot you've ever done, we didn't put an edit in. So that's good. You're just an honest programming trick shotter, okay? Or I'm like, I'm open AI level employee trick shotter is all I am. Okay. All right, this one, hot bar, that's the thing on the bottom between your different items.

You swap between it. It's your current inventory. Got it. Right? Debug menu, there's like – TJ, a hot bar is actually a thing at Whole Foods. Yeah. It's like where the soups and stuff are. Yeah. Or Air One if you're trash, probably. I was going to make Air One joke. I did not. Yeah, yeah, yeah. Upscale, bro.

LA times. All right. Right. Yep. Debug menu closes. That's the, uh, there's like going to be some text in the top left that tells you like where you are in the world. Okay. Debug menu. Uh, C is a lag spike again in the colloquial sense, Casey, of course, or D all of the above. Okay. All right. So let's watch.

Okay, we'll watch it again. Wait, options? Options? Hold on. Oh, yeah, of course. Hotbar, debug menu closes, lag spike, or all of the above. Okay, I think I got this. Yep. Oh, my gosh. That's so hard. Oh, no. I can't tell. Got it. Got it. Okay. All right. Okay. Open answers. Okay, wow, I love it. I love when you guys are ready to go.

Great job, everybody. Yeah, yeah. Great job. Okay. All right, we'll let him explain. And yet another inexplicable lagspike conveniently occurs with 13 minutes go missing. Dream suddenly jumps forward, his debug menu closes, and his slots change. Yet another cut. So there you go. That was a pretty rookie cut, honestly, because that item slot change, like, that's...

That was blatant. And the debug menu just stopped having the X and Y up in the corner. Yeah, it just disappeared. One of the things we're going to get into too is like a bunch of the stuff in the hotbar and some other things. They've got some animation timers and some other things, which part of the reason that I thought this would be fun to discuss with Casey.

So we've got another one here. Okay. Ready? Debug values jump. So the values up at the top left could change. Oh, I love that B and C are in competition with each other. That's like how much of our ability to understand Minecraft really works here. What is item name... Where are the item names being shown when you hover over an inventory slot?

Yes, so right here. Oh, right here. Dirt. Yeah. Okay. Item name lingers or a small lag spike. Okay, on this one. All right, we'll watch through. Okay. Hold on, Tim. I feel like this favor is the actual item name. Like, Minecraft player. I don't know the behavior. Yep, yep, yep. That's okay, Trash. That's okay.

We're going to get to the programming stuff soon. We're almost there. Then you'll have a chance. Can you do it one more time? Hold on, one more time. Yep, of course, of course, of course. I love it. Get your investigation on, Prime. I'm feeling good about this one. I couldn't tell this one. Sorry. All right.

I think I know. Okay. Do you guys want one more? One more chance or are we good? I feel confident. What was the fourth small X point? Okay. Small X point. Here, we'll just open the answers. We'll open the answers. Feeling confident. I think I can even explain it. Oh, okay. I love Prime. I love Prime.

Call your shot beforehand. Yeah, I'm going to call my shot. I didn't answer yet. No, no, I didn't answer yet. Not yet, Prime. Casey and Trash still have to guess. All right. But I'm saying before I reveal what the right one is, I want you to confidently explain. I don't know. I want you to confidently explain.

This was just a blind guess. I have no idea. Yeah, yeah. I had no idea. All right, so here we go. Locked answers. All right, Prime. All right, so if you looked at the bottom part, I was looking at the item names, and out of all the times, one of them hard disappears fast, and the rest fade out. And so the dirt hard disappeared seems to me that it was a fast vanish versus the other ones fade.

So I guessed- I just blind guessed that one. Yep. Okay. That- I probably should not receive credit for that one, just to be clear. Oh my god! I was so close to picking B. I looked even, and I couldn't tell. I was so close! Did I get it? Here. Did I get it? You did, Prime. You did. Here. I'll even open this up for you.

You guys can still see my screen, right? Yeah, yeah, yeah. It didn't go- Oh, did it not go to the right? Oh, did it not? Here. One sec. Let me try and go back to the second. uh for some reason i can't i can't see where is oh man okay we'll come back to this later or i'll find it later uh oh it's one of the it's one of these constants it's one of these constants here i don't remember which one uh there's one though where it says that it takes 10 i thought i saw auto fade speed yeah oh did it okay did we did we yeah just look down go down a little bit more look okay Keep going.

I saw auto fade speed. There you go. Auto fade factor. Oh, right here. Oh, but it's a factor to something else. That's okay. We'll get to that. We'll come back to that later. But here we go. We'll play the explanation. He changes direction and starts tiling to the side where he opens his inventory to grab his pickaxe and cuts upon closing.

It's pretty well done, but he missed one little thing. The item label for his crossbow disappears as he cuts instead of fading out like it normally does. Yep. Not dirty. I did the lingers because the diamond pickaxe faded slowly. I don't know if that was supposed to happen. Nice. That's okay, Tresh. There's two fades.

There's two fades. So that's how I know. That's... Yep. Nice prime. There was enough info in there to deduce it. Or 25% chance to guess. Next one. Legendary game dev Casey is doing really well here. That makes sense. You do, bro. You do. You do. Alright. What gives this cutaway? Achievement pops late.

Again, we already discussed this. Coal burns too fast, so you put coal into a furnace, it burns over time. Okay. Render distance changes. Oh, that's crazy. Once you're inside of a chunk in Minecraft, there are like these squares, and it sort of only loads part of the world at a time. Like, and you can see other distances.

It shouldn't change, generally speaking. There's some exceptions. The Minecraft people will tell you when it can change. That's okay. I've got a new teammate. Let's go. New teammate arrives. Molly Bean. We're going to do this. We're on stop. Nice. Okay. Or the ingots are smelting too fast. Okay. The ingots is in the metal that's inside.

The little metal thing. You guys smelt it. Got it. Got it. Yep. So he built a tower up to the top and his friends are trying to come up and knock him off to kill him. Okay. Okay. So he's cooking various items in the furnace or smelting. You can cook raw meat to make it not raw, and it's better for you.

Not usually steak tartare is not the main food item. So he towered really high, and he's basically building stuff to protect himself. I need choices and then another. I need choices. Trash is taking this way too seriously. I just can't get last. There's an achievement and it pops too late or no. Coal burning too fast, render distance changes or the ingots, the metal smelting.

Smelting. Any of these four. We'll watch one more time. This is also an important clip to understand because a clip is coming up right after this. Or not right after this necessarily. Here, I'm just going to mute this so I can talk over this. And basically in like a hunt like this, you build this huge tower so that he can have the high ground.

Of course, everyone knows after watching Star Wars, that's very important. And he can like actually take time to do the crafting he needs to get his items. Okay? So he's like watching his friends come up to hunt him down while he has this thing built up really high. Okay? Which also means you can see very far and some other things like that.

Okay? So is he pretty much dead meat at this part? At this point? One more time. Just for a moment. Okay, fine. Oh, yeah, yeah. I can play it again. I just had one more question. I don't know where to look. That's okay. The achievements also sometimes pop in this bottom left area down here. We can be done.

I don't even know what I'm looking for anymore. That's okay. I got nothing. That's okay. That's okay. Trash. You can do this, buddy. Let's go. Okay. Lock it in. Reveal. Let's go. God damn it. You were so close. You were so close. So, here we go. We can look at the cooking recipe for... This tells you some stuff about the cooking.

This one, though, is the one that I wanted to click open here. This is the data for iron ore, and it takes 200 ticks to cook iron ore into an iron ingot. Minecraft's 20 ticks a second, so that's 10 seconds. Okay, more ingots come out of the clip than they had time for. So what was funny is as they were doing this analysis for the the actual final thing that we're about to reveal soon of how they found a bunch of these cuts.

They also just found a bunch of other things like this. When I got to the tower, I proposed that someone cross check the furnace timings. And so Layla went ahead and did so. And what she found was shocking. There's a whole 9.3 seconds of footage missing from the video after he loaded his safe state. That means he somehow smelted almost an entire extra piece of iron.

When he opens the left furnace here at 14.20 and 9 frames, it smelted 0.56 ingots. He then empties the left furnace here, and then 13 seconds later, he opens the furnace again, and witnesses it smelt its third ingot only 15.1 seconds after he opened it the first time. Do you see the problem here? There we go.

That's what we already went over. So... Dang. Right? So that's... So they're getting pretty serious about this, which I have to say I love. I love that they're figuring out the timings of these and being like, just literally not possible. Just literally not possible. This is better than, like, the baseball, like, instant replay New York, like, check the umpires thing.

Like, these... They need to hire these people. This would... These guys would be the ultimate review officials. Yeah. Because they clearly care way too much about this. I like it. Personally, I have no problem with it. I'm just saying, like, wow, that's a lot of, like, scrutinizing some random YouTube video.

But okay. Yeah, yeah, yeah. So, all right. So the ingots were smelting too fast. All right. Casey. I got another Ask Casey question for you. Okay. A lot of Minecraft recipes, as we showed just briefly here, you know, they're kind of in this, they're just like declared like this as some data, right? When in like making a game or building an engine, when would you do kind of like one versus the other?

Try and do stuff more with like declarative, just here's JSON blobs, whatever, versus like, cool, we're just going to write out code. Well, there's a lot. There's a lot of context that's kind of necessary to determine which one of those is likely gonna happen. I would highly recommend not using JSON, but if you're just talking about, we could write this in a data format that wasn't gonna cause problems.

So let's just say data versus code. The question is usually, it comes down to a couple of things. The first one is, do you need users to be able to modify this thing? So that's an easy question you can ask that lets you know right away. Like if users have to be able to modify this thing, then it had better be in data because usually you don't want to ask your users to code.

However, there is a record earlier to that is like, okay, if the answer to that is yes, Do you give your users a script? Like, do your users have access to the code? Because sometimes that answer might be yes as well. It's like, yeah, it's like this modding thing and they can all have access to it. Or we just we give them all a subscription to open AI and they're supposed to decompile the code.

Who knows? Like, if you have some explanation for why the user could somehow modify it without that, then maybe that's not true. So that's thing one. Thing two is kind of the more important part, which is, do you need this thing to be represented in a way that will be inconvenient in data? And this is something that a lot of people kind of, I guess I would say they don't appreciate the ramifications of the decision they make here very often.

Because usually they're just like, well, I can just data drive it, that's always better, right? And the problem with that is that when you decide to data drive something, what you're effectively saying is that you're going to restrict sort of the class of things that could happen in this part of the game.

So it means that that thing that you're just setting the numbers on, it will behave the same as all the other things do. just with different parameters, right? So you're homogenizing some part of your game, usually when you do this, right? Assuming that there's more than one thing that can be set this way.

And so what can unfortunately happen in some cases is if you decide to do this data driving prematurely and you haven't thought it through, you can get in this situation where like, oh yeah, there's like 500 pieces of armor in this game and they all feel exactly the same. They just have slightly tweaked like numbers, right?

And so the other thing that you kind of have to know from a game design standpoint, and I'm the wrong person to talk about, you know, the finer points are, because I'm not a designer, but is have you ensured that moving to data driving won't remove some algorithmic expressivity that you may have needed in the design to make these things feel more tangibly different by making it not just a number.

But more of a sort of an algorithm. Now you can still you can patch over that by having like in your data driven, you can have like type fields that help select different algorithms. So, you know, there's ways of trying to, like, you know, merge those two. But again, it's just it's part of the sort of gestalt like thought process you should be going through is like, how am I going to make sure that I'm not just going to end up with, you know, A billion different types of armor that all feel exactly the same, right?

So those are the things you should think through. In general, the only real hard do and don't is just never use JSON. That's a terrible idea. It's a very, very bad format for storing things that you would be using at runtime, in my opinion. Thanks, Casey. Trash, Prime, any questions to follow up there?

Or comments. Besides for like... Because... One thing I understand about JSON is that it kind of, you know, by being self-discovery, it kind of stinks. And there's like a lot of things you have to do. You have to do validation of things coming in. You also, you know, it just like puts memories in goofy locations, all this kind of stuff.

And I know that there's reasons why it's bad, generates a lot of garbage. But why is it bad overall for stuff as opposed to like a one-time cost? Like, okay, hey, we read all this data and it kind of, you know, it kind of stinks. But then we put it into the right order and everything's super fantastic.

And now everything's great. Why does it continue to suck? Or what is the problem beyond that? For the reasons that you're saying is exactly why it sucks, right? Because if you just have some, you know, a very typical thing that you'll see in games is there's just some like binary blob format. So there's no parsing time.

It just loads immediately. And then it can also have like a nice little custom editor. Usually game and studios have a little custom editor that lets you just edit those things. And it'll check like for validity and stuff like that. JSON has none of that, right? JSON is just an arbitrary text format.

You put whatever in it you want, which means that 100% of your tooling now is like in runtime in the game, doing that validation on a thing it loaded out of text. It had to parse. I hope you got the parser right. I hope you didn't have any like problems in there. I hope it's fast enough and not sling down your load times like Grand Theft Auto, for example.

And so on. So it just invites just a tremendous amount of unnecessary work that you're doing. And even when you do that unnecessary work so that, you know, it is fast enough and, you know, you have validated it, it's still just not that convenient because now the user has to edit this JSON, which editing JSON is not a pleasant experience, not a good experience.

experience for the user anyway. So I just see there be no real benefit to JSON other than it's a standard. And maybe, you know, if you have a really overwhelming reason why you want that standard to be used in your game, then maybe you have a case. But otherwise, I just think it's a pretty poor decision across pretty much all axes that you might be considering it.

They might be considering. Okay, well, start scoring some points, please. I know, I'm trying. That's all I'm thinking about right now. All right. Okay. Here we go. Oh, man. These are getting hard. Okay. All right. They're getting harder. They're getting harder. Okay. The lava pattern, right? So there's little particles that come off of the lava and like the top texture of the lava can change over time.

So does it jump in some unreasonable way? The hunger bar. So in Minecraft, on the hunger bar, it moves up and down. And kind of just wiggles. It jolts up and down. Oh, okay. So did it do something unexpected here? Okay. Does the axe glint jump? So when you enchant something in Minecraft... uh it starts getting sparkly effects obviously that's why it sold a trillion copies that's what enchanting means i mean if you've played video games you know the enchanting means there's some freaking sparkles okay it's true it's exactly enchanting to see something sparkle or is it that there is a cloud who jumps in the background okay took a screenshot everyone ready and i'm happy i Left side of my screen.

Oh, trash. Good thinking. Oh, man. He's locked in. I keep saying locked in. It's my new word. Well, he is, though. He is. He's locked in. I would assume there's no clouds for this particular one. You never know. Sometimes there's ghasts and some other things. Did it freeze for you? Did you pause it? Nope.

That's the end. That's the end. I'll start it over. We'll watch it a few times. It's getting tougher. It's a really short... Yep. Seen it. Okay. Okay. All right, we'll restart one more time. Do you guys need to see the beginning part again? I didn't need a few times because I was expecting kind of a longer clip.

I'm sort of settling into it now. Yep, yep. Yeah, there's not a lot. TJ, we need to talk about some of these things. Like you brought it up for a brief moment. Is this the one that I would pre-know? All right. All right. Because you did. I don't know. I'm not going to tell you, Prime. You can take the gamble about whether it's the thing that I mentioned.

I'm trying to do the opposite. I'm trying to say, like, hey, maybe I should intentionally pick wrong. Yeah. No, no, no. I'm saying, Prime, you should do the one that you think is the best one. Is everyone... Do you guys need another time or you're good? Cut. I actually just wanted my question answered so much, I didn't even look at what I was doing.

All right. Here we go. Casey, good job. Are you kidding? There's no way. Dude, pull the clip up. It was pretty brutal. It was up at the top, and it goes back down. Okay, go back. Go back. Casey! Good note. What a legend! Casey, what a legend. All right. Okay, what a legend. Here we go. You can examine some Minecraft code over here.

Casey, maybe... You can walk us, you want to walk us through this code? If I can see it, let me try and make that big on my screen. Oh yeah, I can see it. I want to see the clip again, this is BS. There's no way. Okay, trash, we'll watch the clip one more time here. I was looking for that. It goes dark, it goes dark too.

It makes it hard to see because it goes dark. Like the screen kind of dims because he's in a UI or something. I thought that was just part of the thing. Yeah, Casey, to hide it. I need the clip, clip, clip. Okay, show me. Okay, well, okay, we'll play the clip. Right in the face. the very axe Dream stole earlier.

It's enchanted, and enchanted items have a continuous, smooth, perfectly looping glint animation. If there really was a cut, then maybe this animation would suddenly jump. And so it went back frame by frame, and there it was. Clear as day. The enchantment glint on his act just completely jumps as he closes his inventory.

This part's highlighted, and now suddenly this part is instead. I mean, it's a pretty blatant cut. If you look at the lava, there's clearly a big blip in the lava, too. That could be, but we're going to do best answer only. Sorry, Trash. So you can actually see right here. Here is, I believe this is the right code here.

It looks like setup glint texturing. Yep, that's the glint texturing. I don't know, Casey. Wow, okay. Interesting. All right. Casey, walk us through. Why is the same number of... Why is 11,000, why is 110,000 divided by 110,000 a thing? Well, I mean, he, so he's trying to produce a, you could think of it as like things that want to be at a different period.

Right? So the mod is like... Oh, whoopsies. I just realized there's a mod right there. Yeah, my bad. Do you know what I'm saying? So the mod is producing something that goes in that period because it's milliseconds, right? So it's something that's periodic on that scale. And then the divide turns it into a uniform float so that you can multiply it by what you actually want to do it by, right?

So it's trying to produce a number between zero and one at that point. You know what I'm saying? And of course, this is the... This is the important bit for finding the cut. Yeah, that was the really interesting part to me was the fact that this just uses get millies. So, yeah, not how I would have done it, but, you know, that means you're locked to probably the real clock.

I don't know Java, so I'm not sure. Is that, like, an actual millisecond timer that's external from the game, or did the game implement that? Is util the games class? I don't know. And does matrices run backwards there? Because I always thought it was Identity, scale, rotate, orbit, translate And that looks like we did translate Rotate, scale Oh, I don't know So sorry, could you say what you were saying?

I always do scale, rotate, orbit, translate If you want to place things Isrot is how I remember it in my head When you want to place something out there You don't screw it all up where you actually orbit When you meant to rotate I would agree with you, but what I was just trying to say there is it's about the order you want them applied in, though, right?

So he's trying to produce this kind of weird effect of this thing shimmering through it. So it may just be that he wants the translation. He wants to move it, then spin it, then scale it might be what he was trying to do, right? You know what I mean? You might want the translation to be scaled, I think is what I'm trying to say.

Casey, I got another one for you here, which you have already alluded to, right? Which is that the glint is running on real time, I believe, later. No, I do have some of the code later, I think. It is like similar to Java's, just like literally the irregular clock situation, not like part of the game clock or anything.

Can I say one more thing about the Primes question first? Yes. Yeah. So just in case this matters to anyone out there who's confused about matrices, I just also kind of wanted to add, we could talk about matrices sometime. It's been a long time since I've talked linear algebra, but I just wanted to point out.

So when you think about how matrices work, it's also important to remember that it depends on how you're imagining the multiplication is working, like how you decided to implement it, right? If you use the standard math notation and you implement your library so that it multiplies matrices the same way that they would be multiplied if they were written out mathematically.

So like, you know, when you're reading left to right in math, you would read left to right in your code. So you're implementing the same operators that a math textbook would do it. then it's really just about the order in which you're imagining the multiplication happening. And if we could we go back to that snippet in a second that was there?

Yeah. So you'll notice here there's nothing's written out. It's like dot translation. Yeah. So. To me, like, I don't even know. It's one of the reasons I don't, I really dislike that format of writing math as well, is when you do dot translation, I don't know, is that a right multiplied translation or a left multiplied translation?

Because if you took two matrices and you had the translation on the right, then that would apply the translation first. But if you have the translation on the left, that would apply the translation second. And so when you do dot translation, it's like, now I need to know what your convention is. Is your convention that you, when you say dot translate, that you're concatenating on the left, which means the translation will happen after everything else that's in this matrix, or is the convention that the thing will happen on the right, which means it will happen before everything else that happened on this thing, right?

And so I, I, I don't mean to criticize this particular thing. It's not like some huge crime that it's doing this, but this is just one of the reasons that I prefer not to write code that way because then I know that anyone else who doesn't know my convention, they read it, they have no freaking idea what this does.

They could guess that it's probably on the left translation because you would imagine that they're going to go like the things that happened before should happen first, right? But that's purely optional. That's not an aspect of matrices. That's an aspect of which order you decided to do the multiplication.

Does that make any sense what I'm saying? Hopefully. Yep. Okay. I feel you. By the way, Casey, I know you haven't done linear algebra for a while, but linear algebra, kind of all the rage these days. It has feelings now. It kind of has feelings, so you should say sorry to Dario. Only if we restrict it to being like freaking four bits.

Not if we do it in full 32-bit float, apparently. You gotta keep those bits low. It is 32-bit float. Yeah, God, all those bits. Can't afford them. Just going away. Can't afford the memory. Can't afford the bandwidth. Can't afford any of it. Okay, the glint runs on real time, not game time. What should run on the wall clock?

So in my opinion, the way that I always write this code, there is no such thing. Like, I would not even allow any module in the game code to compile with access to a wall clock. Full stop. That's just like a hard no. It's like, that's not even in the includes. Like you're not, you don't have access to that module.

Right. And the reason for that is because I like to treat the game code side of things as effectively from, from like, if you think of it almost like from this, this layering perspective of like operating system engine game code. I want the game code to be completely reproducible. It should have no way, right, ideally, of getting entropy from anywhere that I have not pushed into it as part of the update call.

So it can have something that runs on wall clock time in quotes, but that wall clock time is going to be some value I called wall clock that I stuffed in the head end structure that gets propagated out. And it may not be wall clock time. Why? Because I want to do things like record runs of the game, play them back and have them be reproducible.

Exactly. I don't want to have like, oh, crap. Now I've got to go like put this piece in that like intercepts calls to the system timer, like through the thing. Like I don't want to deal with it. And I just it's easier if nobody ever does that in the first place. Right. Because otherwise you've inherited this mess.

So so typically what I do at the start of things like this is I basically have this thing. That's like a timing struct that gets fed forward. And it's got things like how many audio samples do I want you to think have elapsed? How much wall clock time do I think want to last? And how much gain clock time do I want you to think has elapsed?

And those are just completely set by me. And they may or may not be truthful. And everyone else is just expected to use them as authoritative. That makes sense to me. We made this mistake in Mordoria round one. So yeah. Yeah. It's an easy mistake to make. It's one of those things that you learn over time because you're like, oh crap, I want to start doing these things.

And like, it's the same as don't call a random number generator. That's not under your control. Right. It's like you, the random, random number generator is another input into the system. It's supposed to actually be under your control that produces a thing that you know what it is. Right. So anyway.

Right. Yeah. All right. Okay. All right. Things are about to get really tricky. Uh-oh. Okay? Because now we're introducing the possibility, maybe not even a cut in this one. Okay? Is it A, the hunger bar shakes in a way that is impossible? Does the axe glint jump in an impossible way? Or is it the clouds?

Or this time, is it actually a perfect cut? Okay. Okay. Let's play it. Oh, no. Okay, well, there we go. It says... I'm going to mute it since he tells you what it is here. I didn't realize that I put the right clip in for this one. My apologies. My apologies. Okay? There's a clip. There's a cut right there where the three to four goes.

So you don't pick D. Okay? Don't pick D. We know what it is. We know what it is. Everyone knows what it is now. I like how it's zoomed in. I put the clip in. Fine. I don't know what it is. What? No. Okay. Well, trash. You don't get another try. Trash. That's a great point. That's a great point. Trash.

You cannot have another try after that one. Here. Here. We'll play. We're going to play. I trusted you to tell me whether my Pokemon were valuable or not. I even added, I forgot that I didn't mute this. I even added this little black bar over this spot. I don't even know what that's supposed to be. It's blocking him saying the words.

Oh. But this is where it should give it away, Trash. It's even better. Can you get it now, Trash? Oh, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, yay, There we go.

I was actually kind of terrified. I was about to get him wrong. All right. Here's where things get very fun, okay? Here's where things get very fun. We reach the most impressive hidden cut I've ever seen. The Jolts narrow this down to a one second window, from here to here. He jumps down, stops for a split second, cuts and then continues, not leaving anything on screen to give it away.

However, based on his food level of 17, these jolts should have really happened 52 ticks or 2.6 seconds apart, not one. And while I think I'd- So, I never would have caught that. I never would have caught that. Yeah, yeah, right. I know. So this is where this gets really fun because, well, he's, we're going to show the code in here.

I'll come back to the MSRC thing. This clip right here, which I'm going to start right here. If you recall, this is from back at the top of that big tower. This is the most important moment maybe of Dream's career. This is called the boat clutch. Okay. So watch what happens here. He gets knocked off by his friend.

So there's a bug in Minecraft where you can place a boat down and enter the boat. And if you place it down fast enough, you won't take fall damage. Normally, he's about to die here. Crafts the boat in air. Crafts the boat in air, right? And so this is supposedly, right? This is being presented as this happens in real time.

Organically, right? So the options are water flow jumps... The hot bar with his items on the bottom changes. Got it. Something about the boat desyncs or the sun moves in the sky. Okay, we'll watch one more time here. This is our last clip. There's not even a sun, right? Okay. All right. Oh, sorry. You want to watch?

I got it. Or I think I got it. Lock your answer, Trash. Lock your answer. I'm not so sure about my answer anymore. Unfortunately, I can't tell it with the rest. I'm sticking with it anyway. I'm sticking with it anyway. No! I did not see that one. I was looking specifically at the hot bar. Here you go.

I lucked out. No one else got it. I got lucky again. point to YouTube compression as a possible culprit. And sure enough, this can actually lead to the two hotbars looking different, but in the exact opposite way to what we see here. Since the hotbar at the bottom of the screen is darkened by the inventory overlay, changes there can sometimes get compressed away, which can lead to the bottom hotbar being delayed behind the bright, clear hotbar in the actual inventory GUI.

But here it's the exact opposite. The hotbar at the bottom of the screen somehow sees into the future. That's the main one for this one here. He just, they spliced it on top of it. Probably. They probably spliced this on top, had something that hit it from his inventory. And then he clutches down at the bottom to the boat.

So anyways, that one doesn't have anything to do with the jolt cracking. Here you go. Prime. We'll talk about the randomness at the end. This was a fun, you know, there's some fun stories about how you shuffle and introduce people to new randomness. So we'll come back to this in a second. All right. So here's what's going on here for the hunger bar.

Basically this guy, dark spark, the one whose video we've been doing shout out to them. They made this thing called the jolt cracker. And effectively what happens is each of these things has a chance to be up or down, right? So up is the pluses down is the minuses. They move up or down. And, and, As you have different hunger amounts, it changes.

And here's where it gets fun. They have basically this big modulo that they take this item over, right? And it gets a new seed. The seed is based on the particular time in the tick in the game, right? So they're setting the seed based on the tick inside the game, right? And then they're doing this big modulo cut here across using this number, okay?

Okay. And what happens with that is you can work backwards from the pseudo random of the numbers where you can say, cool, what produces this pattern? Since it's based on the tick amount and this modulo number here, you can actually work backwards to figure out what tick a particular up and down categorization is going to produce this pattern.

So since you can produce the tick, you can find that original stopwatch timer that we brought up at the beginning of the game. So basically, this functions as a rough clock that shows you the count of the game at various points along what's going because it's pseudo random based off of the tick. That's hilarious.

And so what you can see as you're going, what should the video look like? It should be a monotonically. Yeah, go ahead. Prime. No, I didn't say anything. I didn't say it. Okay. It should be a monotonically increasing line. It's just, the slope is just one for all of time, right? If it's truly uncut, but instead what you see is like, Oh, maybe they played the game for a while and then had to restart.

Cause they ran out of time that day and played again for a while, played again for a while. Right. Right. And so the jolt cracker can tell you from watching this. And so then basically, right, they go through here. You put in the different spots in the video. What game tick could possibly produce this jolt.

So they made an awesome little website that you can go through and you can download the JSON from these. And you can click through to the different spots in the video so you can go through it yourself. All of the code is open source. They built, I don't have it in here, but they built a small little computer vision thing that basically can look very simple, but it just looks at this spot of the screen and can tell you what tick it needs to happen from.

They really don't want this guy to get away with cutting Minecraft videos, huh? No! The thing is that I think that if most people cut Minecraft videos, it's not a big deal. You just can't do the boat save. and say it's uncut, right? Like, that's, I mean, that's... So one of... We gotta let Trash go. We gotta let Trash go.

He's gotta go to a meeting. All right, see you, Trash. Oh, okay. Bye, Trash. I got four minutes. The thing they talked about, though, Prime, besides just, you know, proving that people are lying, which is an objective good, proving that people are lying, that's good. is also there's a lot of people who splice Minecraft speedruns.

And so this is going to be a crazy tool for the Minecraft speedrun community because it's going to be like, good luck, bro. Good luck beating the jolt cracker. Like, which is going to be crazy. So... I think that's pretty much it for this. We can talk maybe a little bit about some stuff in terms of randomness.

That hurts me. Yep. Yeah, Trash has a meeting. He just needs to leave. I should have put something in where it put legendary if Casey won, but I didn't think about that. Well, now there is a real legend. It's like, remember how he won that game. That's true. I do want to say before we just talk some other final things, shout out DartSpark.

We'll leave the link to the video for his original thing, the jolt cracker, some of the code, and some of the other things there. The video is awesome. Great YouTube video. Amazing. Very well edited. Very fun to watch. Takes you on a really great journey. So just wanted to at least make sure we do that before the last second of the video.

This was insane. That was like really, really interesting. Yeah. Casey, this is just a joke question that I wanted to have at least before we go. We can just sign off because Trash has to leave. Which is, if you were designing the game, how would you make it tamper evident? And then I wanted to do the reveal of flipping it.

If you were Dream, how would you have hidden the cuts better? Oh, wait. One more thing. Okay. Casey, I need to know which one of these you think is funnier. Can you read these on my screen right now or no? Okay, yeah. So John Carmack says, That demo involved a non-trivial chance of embarrassing failure.

I'm only going for the baseline model. This is for the Roadster. And you said, That makes sense. I imagine that's why they don't call you John Rocket Mac. Okay. I guess I got a chuckle. Here's what I would say is like John Carmack was the guy who did Armadillo Aerospace. He did do a rocket company for a while.

I kind of feel like the better burn there would have been something like you're only saying that because you're jealous that you, you know, or something like that. Well, I wasn't trying to burn him. I'm just making a dad joke. All right. Well, that succeeded. Carmack. Okay, good. Because John Carmack's awesome.

That's the only reason I wanted to put it in. We're fans of John Carmack. Yeah. TGTV breaking absolutely huge oversight from Elon Musk revealed in tonight's test reveal. It makes absolutely no sense to call the world's first flying car the Roadster. It should be called the Skyster. Tesla fans in shambles after this.

I don't know, man. It's A. You can pick A, B, or C. You can just put neither. That's fine. Yeah, C. We're going with C. Okay. I think we... Dad jokes... I guess what I would say is the... I wanted more of a pun, bad pun feel than I'm getting from this. I realized you were trying, but I don't know. I want a better bad pun.

These are like bad as in cringe, TJ. So you just didn't do a good job. Sorry. That's literally the definition of a dad joke. Except for Rocketman. Maybe the A. Here's the thing. Here's the thing. I'm going to go with A. I'm going to go with A. A has more of a pun to it that actually makes sense. So we're going to go with A.

It's A. The answer is A. Okay. The answer is A. Nice. Awesome. The answer is A. Okay. Okay. Thanks everyone for joining us on this episode of the standup. If you liked this, you can make sure you watch it on Spotify or on the main channel, which maybe that's where you're watching right now, where we have every full episode on edited at, well, just a little editing.

You guys don't do not check the hunger bar on this. Do not check the hunger bar when he says unedited. Oh man. Bye everybody. Thanks. Bye. Boot up the day. vibe called and errors on my screen terminal car

0:00 / 0:00