This was actually hella interesting. I've spent a ton of time in the Valve Source titles but never played Titanfall. Would be cool to see more quirks and changes that they made for Titanfall compared to "regular" Source.
The game i'm working on uses Quake's .map format, and i needed to write a lot of this code as well to turn brushes into meshes, the main difference is instead of the half-spaces being stored as a normal and distance in the file, they are stored as triangles that are aligned along the plane the half-space represents, which i had to convert into the prior format, i'm still not sure why. Anyhow, it was a couple weeks of painfully debugging my crappy math (with help), so i can really appreciate the work you put into this
I absolutely love that the alternate power sources actually lead to possible sources of power, even the water one makes sense, water wheels exist, and for the pterodactyl looking thing, that could *technically* be used as a power source, that's such a small detail that didn't need to exist, and probably shouldn't have, but they did it anyways.
id actually love to see more titanfall videos. ive always been really interested in seeing what exactly they did to source and how much of it is still intact
Idk why I can’t just edit my original comment, but to wanted to say good shit for finding this. Being able to see these triggers helps speedrunners out so much, thank you!❤️
@@SplarkszterSource Engine was made basically by practically turning GoldSrc into a new engine (the same thing they did to the Quake engine basically). You can really see that in the 2003 leak, everything looks and feels a lot more GoldSrc-y. So yeah, every Source game/mod is just a really fancy Quake mod.
The keyvalue based triggers is extremely cursed jesus christ Other things that are extremely cursed: - having to have line of sight to a trigger to trigger it - everyone seeming to have their own version of deducing triggers - having to deduce the position of triggers from some numbers - some things not working and having to make longer workarounds with commands that do work
Aside from the occasional funny ragdoll, TF|2 doesn't really have that distinct jank and charm of the Source engine I feel. Most people are usually surprised to learn it runs on Source. Nonetheless, it is a fantastic game, so by all means check it out.
@@beingsactual in a casual playthrough, i'd agree - the game appears very well polished and you really don't see any of the jankiness that appears in something like hl2. it's hard to imagine the game even runs on source. but, the game's movement system has a lot of similarities to other source games, in that it has a ton of depth and uniqueness given to it by various programming quirks. and in carrying on this time-honored source tradition, most of these things are completely unique to titanfall. just like hl2 has accelerated backhopping, tf2 has rocketjumping/stickyjumping/trimping, tf|2 has lurch. if you go watch a speedrun of the game, you'll see some absolutely wild movement tech that is extremely reminiscent of classic source movement. if you wanna learn more about it, go check out this video from zweek on the lurch mechanic (ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-AjPSwwnKm1o.html) or this one (ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-C_cXYyA4LaU.html) by bryonato/zweek which is a whole ass guide on nearly every single movement mechanic there is to know in tf|2. sorry for the info dump, i just think the movement system is sick and that a lot of people who only know about the jank in valve-made source games would appreciate what tf|2 has to offer.
I'd really really like to know what possible reason they had for creating their own trigger system from scratch instead of just using the one that Source already has... while also introducing bizarre new limitations and seemingly no new advantages (?)
I assume to not fill the map file with brush models. Though that makes it even weirder when you consider there's an even easier way you can make custom cuboid trigger volumes in source without a brush model! Use the "mins" and "maxs" parameters to set the bounds (2 short lines total), and set the solid type to 2. This only works with addoutput outputs normally but they could've easily fixed that.
@@xDShot9000 so it's all mesh based like Source 2 and a lot of other engines? ...In that case, I'm curious why they chose to use the Source engine in the first place
there are some entities that seem to be just like the old-style brush entities though with a numbered model and data in the bsp that looks the same as it did back in HL2
Finally a video about TitanFall's source engine, I want to learn more about how its different from the Source engine in games like HL2 and TF2 but I don't have the knowledget to dig into it myself
Yes, but they are saying that Titanfall 2's triggers ALL require a line of sight; a limitation, not an optional feature. This is not true for triggers in HL2 or any other Source game
A few years ago I saw a meme in the TF2 speedrunning community with triggers in it. It led me down a rabbit hole and I could not for the life of me figure out how he showed the trigger_hurt or whatever it was
Bruh, I remember hearing awhile ago that Titanfall 2 was built off the source engine but I didn't realize the relation was even this close. Not to mention the work you put into this, holy crap. Amazing work as always!
I love videos that start as simple ambitions but end as a complex deep dive of being in way too deep. Super cool you guys managed to figure this stuff out, at least to a degree that's definitely usable and useful for those trying to pick apart the maps. This makes me want to play some Titanfall 2. Been a hot minute.
Is there any chance the developers made triggers require line of sight so that they could use them for enemy line-of-sight in foliage? I'm shooting entirely in the dark here, I admit...
i'm not educated on this subject so i'd appreciate it if someone answered my questions rq. what is a trigger? i'm guessing it's an object that triggers something on a map? like it spawns enemies if you enter an area i think right? why do we need this script to show them? is titanfall actually on the source engine or on a modified version of it? is source a good engine for getting started with? or should i just try starting with something like godot or (life is) roblox?
Trigger is some sort of area or thing to interact with by walking, jumping inside or doing some action with (and so "trigger"), that will cause some sort of function of the engine or the map scripting to run. Usually it's changing some value to activate another object, play an audio file, trigger a cutscene, etc. And yes, spawning enemies is one possible function. It's really any dynamic action within the game map. The entire script is necessary because the version of source engine used for the game is heavily modified and some stuff that one would expect just is not there. Like debug command to show the triggers. And uh, it's a modified version of source engine from what I understood? Not sure on details Source is not viable for developing your own game without either some source modding knowledge, or you being a company of some kind. That and it is not really easy to learn... Godot is a good choice, really. Roblox is... while not a good company, I can acknowledge that it does help people learn game dev.
@@SSS333-AAA good, and i have a mother figure, she even taught me how to do my nails and makeup on my own and also how to dress cute like my older sisters when i was still 8, what about you huh?
'showtriggers 1' draws triggers stored in the bsp as only those have meshes generated when compiling a map. In the case of titanfall 2 all triggers are stored as keyvalues ( apart from a few on mp_angel_city ). Apex Legends moved to storing the collision information in base 64 encoded keyvalues. Titanfall 1 doesn't support keyvalue triggers.