That Time I Saved the 2023 TF2 Summer Update (Troubleshooting Obscure Source Engine Problems)

  Рет қаралды 54,221

UEAKCrash

UEAKCrash

Жыл бұрын

This video is intended to be a sort of case-study of my troubleshooting process on a weird, obscure source engine bug that was plaguing a map, possibly even delaying the 2023 TF2 Summer Update in the process.
I hope you enjoy, and you're welcome for saving the TF2 Summer Update.
(Please note that I mean a lot of this as a joke, I don't think I personally saved the update, I'm sure it would've been solved without me, but just let me have this win, okay?)
added RGB(nan, nan, nan)
CLICK THE LINKS
------------------------------------------------------------------
Steam Workshop: steamcommunity.com/id/UEAKCra...
Discord: / discord
Twitch: / ueakcrash
Twitter: / ueakcrash
Patreon: / ueakcrash

Пікірлер: 418
@balintkurucz7245
@balintkurucz7245 Жыл бұрын
Imagine going through all this, then just telling the mapper to "rotate this one brush by 1°", and provide no context. He'd be flabbergasted
@TheDiner50
@TheDiner50 Жыл бұрын
Na. You do not make such a grate Hammer sauce map without being kicked and * enough to be happy that it did not involve some proper jank to fix. This is just a normal day in the sauce. Just happy and thankful that someone saved there map. Not really surprised what was needed to fix it.
@multigrandmarquis
@multigrandmarquis Жыл бұрын
this is a standard programming thing i doubt anyone who's familiar with source would react with anything more than a tired "yeah that seems about right"
@PROPLAYEN
@PROPLAYEN Жыл бұрын
Source is so stupid that this is just the average one off problem
@mechtroidProductions
@mechtroidProductions Жыл бұрын
As both a programmer and a mapper, my guess is that it has to do with the Intel and AMD FPUs (floating point units). On old code, the two vendors can have a different epsilon (number so close to zero it rounds to zero). I'm 99% sure the brush was so close to parallel with the ray bouncing off it that dividing to get the difference in angles between them ended up being a divide by zero error on intel but not AMD, poisoning the color info with NaNs, throwing more and more of the map into darkness. If something like this happens again, you can confirm the problem by compiling the map with 1 or so light bounces and finding the dark patch in the world to get a clue where the problem lies. Also, to solve it faster in the future I'd recommend messing with the position of the lights, not the brushes, there's far fewer of them.
@mechtroidProductions
@mechtroidProductions Жыл бұрын
(why reflection angle would mess with color info is another question entirely, but has to do with fresnel, which affects how reflective a surface is based on the reflection angle.)
@squigglycups5666
@squigglycups5666 Жыл бұрын
If I'm not mistaken it's usually bad practice to go off grid in hammer because of how much floating poat inprecision affects compiles.
@iHateHandlesGetRidOfThis
@iHateHandlesGetRidOfThis Жыл бұрын
god i hate the fact i understood this comment
@ghoulbuster1
@ghoulbuster1 Жыл бұрын
Intel being Jank like always
@WalnutBun
@WalnutBun Жыл бұрын
I had almost the same exact thought and came down here to say that it's probably a floating-point precision error. You explained it way better than I ever could.
@GermaphobeMusic
@GermaphobeMusic Жыл бұрын
Piece of wood: _rotated by a millimeter_ Valve: "This little maneuver's gonna cost us 51 years"
@taxcollector9543
@taxcollector9543 Жыл бұрын
man, source engine 2007 is laughing in his grave so hard its shaking
@uis246
@uis246 11 ай бұрын
​@@taxcollector9543what do you mean?
@Connorses
@Connorses Жыл бұрын
>An error with map compilation >caused by one brush >rotated at this exact angle >in this exact place >as a func_detail >Localized entirely to Intel CPUs? >Yes. >May I see it?
@zynzeki
@zynzeki 11 ай бұрын
>No.
@Rhoran
@Rhoran 11 ай бұрын
@@zynzeki SKORZYN! The map is on fire!
@zynzeki
@zynzeki 11 ай бұрын
@@Rhoran No Rhoran. It's just the solution_to_a_dumb_problem.vmf.
@chpsilva
@chpsilva 11 ай бұрын
​@@zynzekiHEEEEEELP!
@zynzeki
@zynzeki 11 ай бұрын
@@chpsilva 😬👍
@Randomstuffs261
@Randomstuffs261 Жыл бұрын
Source engine likes to punish you, not because you did something wrong. But because it can.
@fojisan2398
@fojisan2398 Жыл бұрын
I love this great engine but at the sane time I hate this garbage engine
@Randomstuffs261
@Randomstuffs261 Жыл бұрын
@@fojisan2398 Sauce is love, sauce is hate.
@jondoe6608
@jondoe6608 Жыл бұрын
I get that source is jank. But floating point numbers are also jank no matter where they are used lol, so I'd not be harsh about it. This is likely a rounding error that resulted in a zero that then got a value divided by it. Floating point errors are notoriously hard to debug and edge cases are very tricky to find. As someone who has worked with software, its not a type of problem that is unique to Source. As for why only on intel, AMD and Intel (depending on what compiler is used) have different thresholds set until a number is rounded down to zero. (epsilon) If that is not the issue, it could also be an issue with SSE code.
@fojisan2398
@fojisan2398 Жыл бұрын
@@jondoe6608 Kinda like how Linux and Windows have different ways of rounding.
@bestestbread
@bestestbread 11 ай бұрын
It runs by its own rules…
@liamsandersonmusic
@liamsandersonmusic Жыл бұрын
I’d imagine valve is going through a different but similar idea of source fuckery with trying to get VSH to run in casual
@mrhat1073
@mrhat1073 Жыл бұрын
my guess is that Casual has been so broken since the beginning that it can't support VSH. can we do away with Casual already?
@alt1763
@alt1763 Жыл бұрын
the creator had to go through some source fuckery trying to get the game to function player wise, aka, not spawning players in early, not kicking spectators for inactivity, allowing players to not respawn, etc
@wolfcl0ck
@wolfcl0ck Жыл бұрын
The weird thing about VSH is that it *only* breaks in casual. As far as I understand, it's even fine on their testing servers, which means that the thing breaking it is probably a casual mode code hack.
@Delayrix
@Delayrix Жыл бұрын
vsh breaks because Valve didn't test it on casual servers, the server crashes after someone joins blue team. How do players join teams in casual?? Autobalance.
@lenship2
@lenship2 Жыл бұрын
its broken because of how casual matchmaking works; it always tries to put you on the empty team with the rest of your party, but the map itself is trying to contradict the casual matchmaking queue by forcing you onto a team you literally can't be on according to the matchmaker, leading to the crash
@pao_lumu
@pao_lumu Жыл бұрын
She nan error on my Intel floating point unit til I *P A S T E S P E C I A L ! !*
@UEAKCrash
@UEAKCrash Жыл бұрын
lmao
@luigifan4585
@luigifan4585 Жыл бұрын
[EXTREMELY LOUD INCORRECT BUZZER]
@omniscientbarebones
@omniscientbarebones Жыл бұрын
@@luigifan4585She rotate my func_detail till I RGB VALUE NaN, NaN, NaN!
@Ultimatum227
@Ultimatum227 Жыл бұрын
Unironically now I want to join a Hardwood match and see the piece of wood for myself lmao. Like an attraction for tourists or something 😂.
@UEAKCrash
@UEAKCrash Жыл бұрын
I took a screenshot standing in front of it in my first game, lmao. I kind of forgot I did that, I should've included it at the end of the video.
@omniscientbarebones
@omniscientbarebones Жыл бұрын
@@UEAKCrashwhat is the area you can find this singular plank?
@bamlcd6122
@bamlcd6122 Жыл бұрын
That's a good idea lol
@aronkardos4230
@aronkardos4230 Жыл бұрын
@@omniscientbarebones I think its between the first and second point on the right side if you are on attacking
@KyleBrownIsALoser
@KyleBrownIsALoser 10 ай бұрын
hopefully there was people laughing at that dumb piece of wood
@SmileytheSmile
@SmileytheSmile Жыл бұрын
And that, kids, is how you use the binary search algorithm.
@bottuja
@bottuja Жыл бұрын
I think they did just that with the cordon tool.
@b.r.207
@b.r.207 Жыл бұрын
That's for school girls. *Points at exhaustive search* Now here's a search with some chest hair.
@squigglycups5666
@squigglycups5666 Жыл бұрын
Idk why but the fact it was just an off grid func detail is a real letdown. I thought he was going to be actually working with others to fix this.
@SmileytheSmile
@SmileytheSmile Жыл бұрын
@@bottujaThat's what I meant, in retrospect a better comment would have been "And that, kids, is how you use the binary search algorithm." Ah what the heck, I'll just edit it to that.
@thewoodpeckers655
@thewoodpeckers655 Жыл бұрын
HELL YEAH
@1lucia
@1lucia Жыл бұрын
Honestly great showcasing of how to find errors like this. Everyone that has a couple years of experience with Hammer had to do this at least once lol
@UEAKCrash
@UEAKCrash Жыл бұрын
Definitely the idea. After I figured it out and sat back to think about the stupid process I just had to go through to find one single brush causing the issue, I was like, hey, this would probably make an entertaining and informative video. Source engine is wild, haha
@DrHundTF2
@DrHundTF2 Жыл бұрын
The so many times I had to copy me whole map and paste it into a new file just to be able to launch it without a crash are uncountable. But probably 4-6
@TheDiner50
@TheDiner50 Жыл бұрын
@@DrHundTF2 Yea. I bet. It is insane that there was no rituals or something needed to take place to solve this Intel compile problem. I can not even blame sauce or Intel to be honest. This is far out of bounds to be that simple. The blame has to be put on the evil within this cursed old source code. Agen Hardwood got away without major sacrifices taking place? How lucky we are! :)
@RainbowsClone
@RainbowsClone Жыл бұрын
how the fuck did a wooden wall being rotated at a specific angle cause the entire lighting to break lmao
@yspear_
@yspear_ Жыл бұрын
Spaghetti code
@CanuckRabbit
@CanuckRabbit Жыл бұрын
the lovely world of floating point values
@Noruzenchi86
@Noruzenchi86 Жыл бұрын
So basically, hammer *really* hates when you have "microbrushes," like those smaller than 1 unit on any XYZ axis. Also unusually small geometry, angled and intersecting brushes. Judging from the top down view, the two func_details were trying to get combined with the faces overlapping, so the engine didn't know which face was assigned to which brush. They were also positioned halfway inside and halfway outside eachother, intersecting at the middle and creating both a tiny space and tiny block.
@jondoe6608
@jondoe6608 Жыл бұрын
@@yspear_ its a floating point rounding error, even clean code bases suffer from edge cases, its very tricky to get right (im talking from experience lmao).
@LalitoTV
@LalitoTV Жыл бұрын
Really puts into perspective how even just getting maps in involves more work than most people think
@sib3155
@sib3155 Жыл бұрын
Also shows how smallest things can mess up your work i once played with coding the whole program woudnt work becouse i put n instead of m in one word
@seronymus
@seronymus 11 ай бұрын
​@@sib3155which word?
@Content_Deleted
@Content_Deleted 8 ай бұрын
@@seronymusdeez
@AlexEatDonut
@AlexEatDonut Жыл бұрын
Oh my god, I remember this issue. Back in 2018 I kept posting this kind of "blacked out map" screenshots on your discord server. I remember you took my vmf and bruteforced it with cordon tool, just like seen here. I remember that you narrowed it down the a func_details that I made by skewing it. It was my lesson to never skew any brushes.
@g0reshow
@g0reshow Жыл бұрын
Compiling is such a fucked process, man. I don't know if this is true or not, but I've heard that an issue with Valve's compile is what led the Cashworks spawn bug to be possible.
@Zack_Wester
@Zack_Wester Жыл бұрын
tge what?
@g0reshow
@g0reshow Жыл бұрын
@@Zack_Wester After the update came out, it was briefly possible for RED to get inside of BLU's first spawn.
@KimFareseed
@KimFareseed Жыл бұрын
When I first heard of the bug, my first thought was; "Did it break in the compiling or something?" The map had been around for 14 years after all. Such a major bug would have been found and squished out way back then.
@invalid_user_handle
@invalid_user_handle Жыл бұрын
My only possible consideration as to why this error happened, is that in the version of the compiler that is Intel-based, it was compiled to _slightly-different_ CPU instructions than the AMD version (think to the old 'small health pack gives 1 more health on Windows-hosted TF2 servers than linux-hosted servers because one uses a different multiply instruction' issue), and somehow the stray brush was causing the Intel-based light-bouncing solver which is specific to func_detail brushes (since they aren't world brushes and usually entities don't interact with lighting they're given special treatmenT) to FREAK THE HELL OUT and end up with an invalid number when trying to solve the light direction (which then proceeds to screw up the rest of the map because it bounces lights 100(!) times, which would lead to any light hitting a corrupted surface also becoming corrupted, because (any number) +-*/ NaN = NaN), but somehow the AMD solver doesn't because of it's different processing methods. That isn't so much Source-related spaghetti as it is just regular old code spaghetti, because programming just *adores* making such specific detailed bugs like this.
@noobez8o
@noobez8o Жыл бұрын
needs more likes
@Wyatt_James
@Wyatt_James Жыл бұрын
Intel and AMD shouldn't be using different versions of the program. They use the same instruction set (x86-64 in this case), and thus, are fully compatible. It could be some weird bug in the CPU, or some instruction set extensions not being enabled on AMD for whatever reason, or what have you.
@vibaj16
@vibaj16 Жыл бұрын
@@Wyatt_James Another commenter suggested that it could be caused by AMD and Intel CPUs having different thresholds for how small a float can be before it rounds down to 0, and that a light ray was almost exactly parallel with that piece of wood and caused a divide by 0 error for Intel because it got rounded down to 0, and through some weirdness that error somehow got into the RGB value for that light ray
@pux0rb
@pux0rb Жыл бұрын
This is why I like to have all my world and detail geometry on-grid, even if its super tedious to make every vertex line up so no concave surfaces form. That being said, I've never run into any problems putting things off-grid, but even after 10 years of mapping source still scares me enough to not take chances.
@friendofp.24
@friendofp.24 6 ай бұрын
Seriously. I never, EVER, fuck with brushes like that. Literally making brushes where even all the vertices are on grid but the faces are angled still scares me.
@UEAKCrash
@UEAKCrash 6 ай бұрын
Honestly I do it all the time, my brushwork turns super messy by the end of a project, and this was the first time I've ever seen this sort of thing happen
@pux0rb
@pux0rb 6 ай бұрын
@@UEAKCrash Unrelated, but its a total coincidence. I was just thinking about this video today and was going to re-watch it for fun, and then I got a message that you responded to my comment an hour ago.
@reptarien
@reptarien Жыл бұрын
I love how the solution to this problem was so simple but would have completely borked the update process because of how small it was. And like others have pointed out, this is a masterclass in using a binary search to solve an issue. Great video and presentation!
@mush9921
@mush9921 11 ай бұрын
hammer is a piece of ancient technology that the space marines in 40k are terrified of uncovering
@EaTStu
@EaTStu Жыл бұрын
I'm so glad my dad has taught me how to troubleshoot problems, its the most useful skill i could possibly have because stuff like this happens so often
@t3dotgg
@t3dotgg 19 күн бұрын
Just wanted you to know that I still come back to this almost a year later. Within the best debugging videos ever made
@Pinsplash
@Pinsplash Жыл бұрын
this looks a lot like a bug i had in a csgo map (free nuke) but it was caused by two displacements occupying the exact same space but with one flipped around
@MrNicosaure
@MrNicosaure Жыл бұрын
To be CPU specific, it's a math problem To only show up at specific angles, it's a float value being rounded, everything handles float differently; CPUs, OSs, programs, anything can change how rounding is done As for Intel vs AMD, it comes down to how many decimals they convert, I believe Intel goes 3 digits (maybe 2? This keeps changing over the years actually, so I wouldn't be able to tell for certain) further than AMD, I'm guessing when given really small float values, Intel will round way down where AMD has no other choice than round up For a more practical example, let's say the problematic angle was 0.000000001, Intel will keep the number as is since it can handle it, will give it to the program that will look at it and go "My math functions only handle 5 digits after 0, when parsing this reads [0.00000]", and give a bunch of NaN errors, meanwhile AMD will look at that value and say "Nope, too low, this is too ressource heavy, let's round it up to 0.00001" then give it to the program who will accept it without problems Someone probably commented on this already but at least I can say with confidence the Source spaghetti wasn't the culprit for once And if you're wondering why everyone and their mother is doing floating points differently, that's because everyone thinks their way of doing it is the better choice when in reality they all have issues, you saw what being too accurate can do, but you can probably guess why being less accurate would have its issues as well
@Kapparoach
@Kapparoach Жыл бұрын
I also have an Intel CPU on my PC, and I ran into this issue once while compiling a map. I also managed to fix it with similar methods, although I deleted the affected func_detail and remade it entirely. Great informational video, but one thing that I'd like to say; you should include a mention about the compile logs' GatherLight bounce stage "added RGB(nan, nan, nan)" in the description, so people who are experiencing the issue could find this video with a Google search and get a solution to it.
@UEAKCrash
@UEAKCrash Жыл бұрын
Good call, I'll have to add that in
@TheAmazingHerosquad
@TheAmazingHerosquad Жыл бұрын
An angle of possibly less than one degree caused an entire map to break down... fucking hell source must be a nightmare.
@Casapillar
@Casapillar Жыл бұрын
I’ll never look at that wood the same ever again. Great work again Crash!
@whoopas312
@whoopas312 Жыл бұрын
I guess it must have been a HARD wood to find
@MrGermandeutsch
@MrGermandeutsch Жыл бұрын
Good old Source Engine. Driving us insane since 2004.
@IJusaI
@IJusaI Жыл бұрын
Having had to go trough a similar process a few times, I've never seen such an obscure issue. Well trouble-shot!
@bestestbread
@bestestbread 11 ай бұрын
I’m glad! Hardwood is my new favorite map, and it inspired me to get into mapping! I honestly find it the highlight of the summer update! (I still love selbyen)
@Huguito
@Huguito 11 ай бұрын
I remembered to have similar issues about "wrong brushes" and "wrong map vertices" in normal goldsources maps that I made years ago. It made me stop working in Valve Hammer tool, because it's really annoying having unsolved problems into maps.
@bajsbrev4651
@bajsbrev4651 11 ай бұрын
All this damn compiling makes live in-engine editing seems like a godsend
@JTCF
@JTCF Жыл бұрын
The method of searching for the problematic region is an excelent demonstration of binary search, bravo!
@APaintBucketNamedHuey
@APaintBucketNamedHuey Жыл бұрын
Peak Source Engine moment
@JTCF
@JTCF Жыл бұрын
That is definitely some kind of floating point precision bug, as "nan" is a value of a float, just an invalid float. I speculate that this might happen either because of some conversion somewhere (like from 64 bit precision to a 32) or simply a bug in intel's silicon, in which case... lol
@This-Was-Sparta
@This-Was-Sparta Жыл бұрын
Absolutely fascinating. Love videos like this. It's like the feeling of satisfaction you get from finally understanding a bug in your code without having to spend >3 hours debugging, lol.
@Nonamesleft
@Nonamesleft Жыл бұрын
I can really feel the nerdy love-hate relationship you have with TF2 and it's Source engine jank. Your passion for the game is infectious. TF2 wouldn't be the same without people like you dude.
@astrosthefox
@astrosthefox Жыл бұрын
Would LOVE to see more stuff like this- seeing solutions to weird obscure problems in hammer/source, it’s so interesting
@Tukaro
@Tukaro Жыл бұрын
tl;dr: Map was too hardwood. Love not only the explanation but going over the troubleshooting process. (Bug hunting is the only part of programming I can stand anymore.) I'm reminded of the parable of the printer technician. To paraphrase for those who don't know: Newspaper printer does an ope, techs can't figure it out, they call in a specialist. Specialist looks at the machine for 30 minutes, turns one screw three rotations, printer works again. Newspaper billed $5k and, when they balk at the $, specialist replies "$100 for the 30 minutes I was there, the rest for knowing what screw to turn and how much."
@TrustyGun2
@TrustyGun2 Жыл бұрын
Troubleshooting is an underrated skill, good job bruv
@angelex4891
@angelex4891 Жыл бұрын
Such an amazing explanation to an obscure problem. Marvelous work¡
@silvialuzmia
@silvialuzmia Жыл бұрын
It's nice seeing how things work
@sir-scudio
@sir-scudio Жыл бұрын
see, this is what happens when you have an engine from 2004 be held together by gorilla glue and duct tape. (as a mapper, i love yet hate source so much)
@kritzmaker
@kritzmaker Жыл бұрын
"wow, i love this map! i cant believe valve chose the map!" floating point numbers:
@CK-eb5tq
@CK-eb5tq Жыл бұрын
Crash: I did it, I save the world.
@SquidsTv
@SquidsTv 11 ай бұрын
That's incredible man.. Troubleshooting such an obscure issue, sucessfully! Props mate, thanks for documenting it too
@HankRichard
@HankRichard Жыл бұрын
Such a weird problem with such a weird problem. Glad you found the solution!
@anstheram
@anstheram Жыл бұрын
I am really glad I tend to make maps more aligned to the grid, I would have never been able to figure this one out. Source is wild, man.
@ViciousVinnyD
@ViciousVinnyD Жыл бұрын
I wouldn't be surprised if immediately after that comment, it shat out a NaN error for perfectly straight geometry and only on AMD cpus. hammer just loves to spite that way
@jondoe6608
@jondoe6608 Жыл бұрын
​@@ViciousVinnyD its a floating point rounding error & I don't think its fair to say it out of spite of lack of care. Floating point errors are notoriously hard to debug and edge cases are very tricky to find. As someone who has worked with other engines, its not a type of problem that is unique to Source.
@ViciousVinnyD
@ViciousVinnyD Жыл бұрын
@@jondoe6608 Oh I didn't mean out of the carelessness. I was just joking that source heard what you said and somehow found a way to break just to spite you!
@jondoe6608
@jondoe6608 Жыл бұрын
@@ViciousVinnyD Ah lol, my bad
@PsychedelicPenne
@PsychedelicPenne Жыл бұрын
Wow almost like they should add Farmed and Brine to the Summer update maps (please 😢 (also Extinction (please!!))) Also Hardwood still crashes the game for me and my buddy on occasion - haven't been able to play on it for longer than 10 minutes total I'd say. Regardless of all of that, I love how you break down your thought process here. This kind of problem-solving is, I feel, the bread and butter to a lot of computer science applications. Cool to hear about it step by step!
@sheacorduroy5565
@sheacorduroy5565 Жыл бұрын
I think LazyPurple put it best, “THAT’S BECAUSE IT MAKES NO FUCKING SENSEEEEEEE”
@6lbs._onion
@6lbs._onion Жыл бұрын
achieved with Sorse ✨
@hkhjg1734
@hkhjg1734 11 ай бұрын
Thank you for servicing and finishing Hard Wood.
@UEAKCrash
@UEAKCrash 11 ай бұрын
heh
@szyl
@szyl 11 ай бұрын
very cool insight to a mapping issue, this was a very good watch
@nolram
@nolram 11 ай бұрын
I loved this video. Watching experts troubleshoot source engine jank is always lovely to see :)
@devuano
@devuano Жыл бұрын
Thank you for all your sanity breaking work Crash! Maybe take a mental break for a few days.
@CharaGonzalez-lt7yw
@CharaGonzalez-lt7yw 11 ай бұрын
Good video as always. Ezcited to see what maps you su mit for this scream fortress, which I'm actually excited about for once
@UEAKCrash
@UEAKCrash 11 ай бұрын
I've got some *stuff* in the works that I'll hopefully have ready in time
@CharaGonzalez-lt7yw
@CharaGonzalez-lt7yw 11 ай бұрын
@@UEAKCrash 😳
@CharaGonzalez-lt7yw
@CharaGonzalez-lt7yw 11 ай бұрын
​@UEAKCrash I don't know how many other map makers you know but if ever someone's short of a map idea, halloween Cactus Canyon would be amazing
@Aviiven
@Aviiven Жыл бұрын
Interesting i remember having trouble with this all blacked out map error thing in the past.
@DirtblokjeExtra
@DirtblokjeExtra Жыл бұрын
would love to see a map tier list vid of yours about all the maps in tf2 (halloween maps etc included) would maybe seem interesting to hear your opinion on all maps in the game
@UEAKCrash
@UEAKCrash Жыл бұрын
Personally I'm not a big fan of those kinds of videos, I feel like rating work creators have put in can be cruel, especially for me being so connected to the mapping community. I try to focus on the positives rather than trying to say anything is better than others.
@MimicKairatta
@MimicKairatta Жыл бұрын
I think it might be caused by a collision/input check outputting more than the native kernal of Intel can handle in the backend of reading he program through hammer, thus removing the oldest output in order to process the map. Oldest output being the lights.
@FissionMetroid101
@FissionMetroid101 Жыл бұрын
I don't think even shounic could unfurl this knot of spaghetti. Great save dude!
@SurrogateActivities
@SurrogateActivities Жыл бұрын
i will laugh taunt at that fence brush
@DrHammerr
@DrHammerr Жыл бұрын
I encounter a bug like this nearly every single time I try to finalize a map. And it's ALWAYS a weird func_detail brush I have to remove/replace/modify in order to get it working again. It sometimes represents differently, sometimes the lighting breaks, sometimes the map won't compile, sometimes certain walls won't render or will render as an eldritch mess of polygons instead of a brush, but it's always solved using the exact same method you described above. Hell, sometimes the cordon trick doesn't even work because it's like, a T-junction error that only happens when a certain number of func_detail brushes intersect/touch non-func_detail brushes! At this point I usually start by seeing if the issue persists with only func_detail active since I have such a bad track record with those guys. I was actually hoping an established mapping figure like yourself would have learned some magic shortcut for this issue, but I guess I was debugging it correctly this entire time. Ah, the life of a source mapper. Pain.
@lifesymbiont5769
@lifesymbiont5769 Жыл бұрын
Thank you for your work
@Gamepro5
@Gamepro5 11 ай бұрын
I was hoping the conclusion would explain why it happens. I didn't know this engine was held together with duct tape and dreams. Also, congrats on describing "debugging". Welcome to the club!
@yacan1
@yacan1 Жыл бұрын
Dude this rocks. Would love to see more Crash Case files
@Justanothertgrt
@Justanothertgrt Жыл бұрын
I really liked this video not only because of the whole story around it, but because it shows that sometimes "all" you have to do is go through 4 hours of simple testing and testing and testing to find the tiniest error and the simplest possible solution. By no means did you need to be a rocket scientist to do any of this. But ho boy did you need an admirable amount of patience, dedication and passion to narrow the issue half by half by half until you honed in on a fraction of a fraction of the map. Nice job dude. Thank you for doing so much for this community.
@FreshTillDeath56
@FreshTillDeath56 11 ай бұрын
Crash, you're the MAN! Cheers pal!
@elimcgamerguy
@elimcgamerguy 11 ай бұрын
This error happened on my map, koth_spacebase(check my steam workshop)! I was checking every brush just to find that one of my ramps was off-grid. Fixed it and bam! lighting fixed! The issue still haunts me. had no clue it was an Intel thing.
@ZaccoOfficial
@ZaccoOfficial 11 ай бұрын
This video is actually fantastic.
@donaldpetersen2382
@donaldpetersen2382 Жыл бұрын
Duplicate grouped brushes made into a function have caused me problems. My solution was to ungroup and then re-group anything duplicated just incase it became a function.
@mustafaaustinpowers5748
@mustafaaustinpowers5748 Жыл бұрын
Mappers like you are greatly appreciated in TF2,just letting that one out.
@Duck9K
@Duck9K Жыл бұрын
the jank is real on this one
@t3dotgg
@t3dotgg 11 ай бұрын
What an incredible journey, thank you for sharing it 🙏 My theory is that the Intel vs AMD difference is because Source is using some weird pipe for rounding things at angles, and Intel has different behaviors than AMD for that edge case. Maybe an overflow? @lowlevellearning this might be up your alley
@t3dotgg
@t3dotgg 11 ай бұрын
I’ve come back to this twice now. Genuinely in awe
@Ralofguy
@Ralofguy Жыл бұрын
Nothing like the satisfaction of finally fixing some super obscure issue that happens for absolutely unknown to you reasons.
@mil260zs
@mil260zs Жыл бұрын
Compilepal sometimes does not show errors that lead to some stupid errors or even making it impossible to compile the map
@stevethepocket
@stevethepocket Жыл бұрын
You know, I wonder if this is partially the result of having been made in Hammer++, which retains the full floating-point coordinates of off-grid vertices instead of rounding them. In fact, now I wonder what would happen if you loaded the unfixed map in OG Hammer, re-saved it, closed it, re-loaded it, and compiled it.
@GrandHighGamer
@GrandHighGamer 11 ай бұрын
Seems unlikely not one of the test mappers, including valve themselves, wouldn't be using the original base version of Hammer though.
@foobar9761
@foobar9761 Жыл бұрын
Great Video!
@Kacper42PL
@Kacper42PL Жыл бұрын
I was prepared for anything, but this exceeted everything I would've imagined
@robuxyyyyyyyyyy4708
@robuxyyyyyyyyyy4708 Жыл бұрын
Source is probably this way because it's a modified version of a modified version of quake
@twelvethousandths1698
@twelvethousandths1698 Жыл бұрын
UEAKCrash has revived!
@jack_5344
@jack_5344 Жыл бұрын
holy shit an error so so specific caused so much damage godamm source
@RidexFastxLandxFlat
@RidexFastxLandxFlat Жыл бұрын
Please do more of these.
@henke37
@henke37 Жыл бұрын
Once located, I would try working on the intersection with other brushes, but who knows if that would've helped.
@KimFareseed
@KimFareseed Жыл бұрын
Great work. Now, to figure out why half the dam of Phoenix, just about every single prop of Sulfur, and the vault door of Cashworks occasionally just fail to load at all.
@Fezezen
@Fezezen Жыл бұрын
The only thing I can think of is a division by zero error causing the NAN, but I'm not satisfied with that.
@rmod8
@rmod8 Жыл бұрын
This gives me an idea to make a program to show the position of the brush causing a nan error when compiling. If a vmf of the troublesome brush could be made public, it could be used to detect those edge case bugs.
@UEAKCrash
@UEAKCrash Жыл бұрын
I have encountered this error twice in my entire mapping career of the last 13 years, lol
@user-cd4bx6uq1y
@user-cd4bx6uq1y Жыл бұрын
Great video
@janlohndorf9665
@janlohndorf9665 Жыл бұрын
And this is why, kids, you always ask help with mapping issues because only Gaben knows how convoluted Source is.
@thegrayseed2792
@thegrayseed2792 11 ай бұрын
Hardwood's lightning literally have a stroke over a single beam of wood being 3 degrees off.
@FBombFitzgerald
@FBombFitzgerald Жыл бұрын
Still bummed Shoreleave and Overgrown didn't make it. I also liked your fishery map too.
@UEAKCrash
@UEAKCrash Жыл бұрын
Same 🫠
@mRhea
@mRhea 11 ай бұрын
good vid im really sad there wasn't an actual explanation on why this fence at a specific angle was causing compiler errors on intel
@AtocStowwe
@AtocStowwe 11 ай бұрын
I feel like the rounding error is probably the most likely one. As a rule, if you're gonna rotate anything in source, try and round its rotation to a full integer of degrees, since Source *really* doesn't double-check its math as much as it should, and it *REALLY* doesn't like decimals. Rescaling displacements, rotating func_details, all of it is gonna give you grief later on.
@lychy645
@lychy645 11 ай бұрын
64 bit cpus can handle 32 bit x86 perfectly fine
@AtocStowwe
@AtocStowwe 11 ай бұрын
@@lychy645 You're probably right, I'll remove that bit from my comment. I'm not as knowledgeable on L1 as I probably should be.
@CubeItself
@CubeItself Жыл бұрын
thank you crash for such bedtime story
@simpson6700
@simpson6700 11 ай бұрын
back when i still used hammer, i always snapped vertices to the smallest grid when moving things off angle, not because of any game breaking issues, but because the objects would look more pleasing. Would've saved me in this case.
@soviut303
@soviut303 11 ай бұрын
The Hardwood map looks really beautiful. I'm glad it was able to be fixed so it could be included.
@Scarfulhu
@Scarfulhu Жыл бұрын
Absolutely wild.
@rimbaud0000
@rimbaud0000 Жыл бұрын
Superb video
@fireaza
@fireaza Жыл бұрын
Buff GoldSource Engine: "Modders can use me to make any kind of game they can possibly imagine!" Cheem Source Engine: "I can't render the lights because of the angle of this func detail."
@darknetworld
@darknetworld 11 ай бұрын
Wow that a lot of work. It just a guess over lapping vertices points of the mesh vertex must have bug out since it baking. Not sure does merge all mesh?
@zypireal
@zypireal 2 ай бұрын
13:15 that left ear clicking man.
@UEAKCrash
@UEAKCrash 2 ай бұрын
Supposed to be a fireplace sound effect, lol
@Shizuka965
@Shizuka965 11 ай бұрын
when a simple angle on a func_detail is causing so much trouble...
TF2 Custom Map Journey - Gavle Dev Log #3
17:05
UEAKCrash
Рет қаралды 3,2 М.
Making the Source Engine Beautiful again
9:09
3kliksphilip
Рет қаралды 1,3 МЛН
ОСКАР vs БАДАБУМЧИК БОЙ!  УВЕЗЛИ на СКОРОЙ!
13:45
Бадабумчик
Рет қаралды 5 МЛН
THEY made a RAINBOW M&M 🤩😳 LeoNata family #shorts
00:49
LeoNata Family
Рет қаралды 38 МЛН
Best father #shorts by Secret Vlog
00:18
Secret Vlog
Рет қаралды 22 МЛН
I CAN’T BELIEVE I LOST 😱
00:46
Topper Guild
Рет қаралды 119 МЛН
Expiration date, but the script was google translated 20x
14:46
The Removed & Lost Easter Eggs of Portal 2
26:10
Ossy Flawol
Рет қаралды 164 М.
TF2 Custom Map Journey - Gavle Dev Log #1
19:11
UEAKCrash
Рет қаралды 7 М.
Everything Wrong with TF2's Dustbowl
17:15
LED
Рет қаралды 366 М.
de_prime - How Far from the Source can it get?
11:07
3kliksphilip
Рет қаралды 518 М.
If Team Fortress 2 Was Updated by a Bot
9:39
Dr. Ocsid
Рет қаралды 3,5 МЛН
How I Made the Most Terrifying Minecraft Mod
11:29
Gargin
Рет қаралды 5 МЛН
TF2 Custom Map Journey - Gavle Dev Log #2
13:46
UEAKCrash
Рет қаралды 3,8 М.
Как сбежать от РОДИТЕЛЕЙ в Schoolboy runaway???
12:26
idontfirst GAME
Рет қаралды 1,1 МЛН
СБЕГАЮ ОТ ЗЛЫХ РОДИТЕЛЕЙ в Schoolboy Runaway
44:32
КОРОЧЕ ГОВОРЯ, ИГРЫ - СБОРНИК OneTwo
34:06