The Txt File That Almost Destroyed Valve's TF2 Economy | Prime Reacts

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 224

  • @nikkehtine
    @nikkehtine Місяць тому +211

    prime talking about TF2 LESSGOOOO

  • @tayzonday
    @tayzonday Місяць тому +169

    TF2 was disruptive because it brought the competitive feel of MarioKart and Twisted Metal (fixed-characters, zany levels)-plus the athletic arena feel of Madden and NBA Jam-to FPS gameplay. Unreal and other franchises had toyed with the gameplay concepts but Valve incorporated a slick comic noir aesthetic and self-deprecating chaos to expand appeal.

    • @lxdixd
      @lxdixd Місяць тому +18

      it's also really incredibly well designed from a gameplay standpoint. a lot of people talk about it for how rewarding and skill-based the gameplay is to this day

    • @jeffwells641
      @jeffwells641 Місяць тому +7

      Eh, I think Quake and Unreal had faster paced competitive gameplay and zanier maps, etc. The key difference with TF2 was the highly defined character roles and unique game modes. It kept a lot of what made Quake and Unreal so fun - the fast paced combat, crazy maps, etc - and refined them, while expanding the ways you can play the game. At the time it came out it was the pinnacle of the arena shooter genre.

    • @tsdecker
      @tsdecker Місяць тому +6

      @tayzonday watches @theprimeagen? 🤯

  • @Reichstaubenminister
    @Reichstaubenminister Місяць тому +69

    It's not JSON as a database, it's JSON as... data. It's read only. It's a game asset.

  • @NicolasPimprenelle
    @NicolasPimprenelle Місяць тому +45

    4:50 The video is in 4/3 for historical accuracy reasons

  • @angrydachshund
    @angrydachshund Місяць тому +37

    @7:30 Json as database has a redeeming trait when used for small datasets: You can check it into vcs and then get nice diffs of its changes over time.

    • @charlesbenca5357
      @charlesbenca5357 Місяць тому +9

      honestly i think it's a good usage of json. the only problem is it was stored on the client, not that it was json.

    • @opfipip3711
      @opfipip3711 28 днів тому

      @@charlesbenca5357 That is also fine. The client needs assets. The problem is much deeper: The server ever trusted the client. The worst thing that file *should* be able to do is cause visual glitches and/or crash the game. (i.e. you try to open a loot box with the modified catapult, the client shows the animation for loot box opening... and crashes when the server replies in an unexpected way.)
      That's generally what happens in e.g. Minecraft.
      The client has assets, data and logic, and calculates most things itself, but the server re-does or checks all relevant logic, and if he comes to a different result... well, the game is de-synced.
      But that's hard, expensive, and requires careful planning. Anti Cheat, checksums, hard-to-modify or online storage of assets are all just plasters.
      To be fair, that's how they fixed the issues, but that there were so many of them, repeatedly, shows that their whole inventory system was never refactored to be server side by default, and only has the client do enough to allow for offline play.

  • @SekiohSachs
    @SekiohSachs 25 днів тому +3

    Quoting all values is because internally the core Source game engine only has char and float I believe, doesn't even have integers or full qualified strings. So it was easier to wrap all values and either be a matched case or a casted number faster than trying to write a wrapper and parser for game+webserver+gamehost all separately for different reading methods.

  • @encoded14
    @encoded14 Місяць тому +73

    14:30 Wait till he hears about 1.5million usd knife skin in Counter-Strike XD

    • @Kane0123
      @Kane0123 Місяць тому +3

      Economies in games seem so pointless to me... the classic "market economy" creating value sinks

    • @p99chan99
      @p99chan99 Місяць тому +1

      @@Kane0123 Have you seen Counter Strike's economy? Hello?

    • @кточто-м1о
      @кточто-м1о Місяць тому +4

      ​@@p99chan99 hello

    • @thesenamesaretaken
      @thesenamesaretaken Місяць тому

      ​@@Kane0123indeed, now let's add NFTs to the mix

    • @narcolepticmarshmallow9012
      @narcolepticmarshmallow9012 Місяць тому +1

      @@Kane0123 idk the 15 years of fun from trading i've had has really made it worth it for me, made way more money from the game than i ever spent on it

  • @blakkerr
    @blakkerr Місяць тому +9

    To be fair, originally TF2 meant to be a simple multiplayer FPS in the age of the dedicated servers where server owners were able to tinker with their own configurations as much as they wanted, and only later became this monstrosity of hats, keys, inventory. I don't even want to think about the hacks upon hacks used to make this thing possible in the first place.

  • @Vitalya245
    @Vitalya245 Місяць тому +45

    TF2 is my favorite game

    • @bundzsi
      @bundzsi Місяць тому

      TF2 is my favorite game

  • @galaxia_fe
    @galaxia_fe Місяць тому +35

    Never thought I’d watch Prime reacts to TF2 content

  • @the-answer-is-42
    @the-answer-is-42 Місяць тому +5

    I think the solution is to encode the text file in base64, since obviously no hackers will ever expect something so stupid and won't figure it out. It's the perfect solution.

  • @t3dotgg
    @t3dotgg Місяць тому +72

    FAMI AND TF2 FEATURED LETS GOOOO
    I don’t know if you remember this Prime but I introduced you two at Open Sauce 🙏

  • @IvanKravarscan
    @IvanKravarscan Місяць тому +6

    "They had JSON back then" - but libraries where rare and crappy. So when you have to basically roll your own decoder you might as well make your own file format.

  • @AndreKK-
    @AndreKK- Місяць тому +37

    The string as bool thing is probably due to the "cvar" (console variable) code from Quake, which was later used in GoldSrc and Source engines.

    • @RealRatchet
      @RealRatchet Місяць тому +5

      No, not really. It actually makes it easier to parse this way. They don't need to have special cases for parsing because they already know schema of the file they will be parsing.

    • @fenix849
      @fenix849 29 днів тому

      Yeah this is pretty much it, you can open a quake live config in 2024 and see seta r_teleporterFlash "1" for example, it's very much an engine convention. Ratchet, sure it's easy to parse but that doens't invalidate it being an engine driven convention. It's funny that quake engine games have comparitively very little trust in the client and server authority rules there with the obvious exceptions of input etc,

  • @AQDuck
    @AQDuck Місяць тому +17

    I have to parse a huge VDF (Valve's shitty JSON) file for my project, it's actually hell.
    It makes me want JDSL.

    • @vilian9185
      @vilian9185 Місяць тому

      From what game?

    • @AQDuck
      @AQDuck Місяць тому

      @@vilian9185 It's for Steam

    • @celdaemon
      @celdaemon Місяць тому

      ​@@vilian9185Any goldsrc derivative games, so that includes source and even source 2

    • @Rastla
      @Rastla 21 день тому

      Why? When I learned Java I wrote a VDF parser and writer for fun and it was super easy

  • @Luzgar
    @Luzgar Місяць тому +12

    TF2 is basically a heavily moded version of Half Life 2, they must have had some really weird technical requirement to work with to end up with this monstrosity of a file.

    • @temari2860
      @temari2860 27 днів тому +1

      All Valve games are just heavily modded Half Life

    • @Luzgar
      @Luzgar 27 днів тому

      @@temari2860 In that one the executable was still named hl2.exe and if you delete some files you get the Half Life 2 main menu.

    • @chpsilva
      @chpsilva 19 днів тому

      @@temari2860 and Half Life was a heavily modded Quake (the original one). Also, this hideous txt file format ? Thanks Carmack for that.

  • @ctrl-alt-tutor5587
    @ctrl-alt-tutor5587 Місяць тому +11

    The F4mi Prime crossover I never expected

  • @PhaizKannon
    @PhaizKannon Місяць тому +12

    Best off the cuff Asmon impression ever lol.
    All that configuration JSON stuff looks exactly like the stuf used in GoldSrc from Half-Life 1, so even if JSON was around, I would assume that valve had just kept using their already familiar in house formats they used since probably 1997 or so, and only bothered to change it if there was a major reason to.
    It looks the same as the files that describe every single HUD menu including screen positions, every weapon, every sounds resource definitions, which are used to define every aspect of any GoldSrc or source "mod" though I'm sure the hl and hl2 games use the engine in the same way, and "mods" are only mods because some of them incorporate hl/hl2 resources and assume they will be present, rather than starting with an empty engine with no content. The fact that I can type in a cs 1.6 console> speak "the time is four twenty" and hear the voice from the original half life always amuses me.
    And the quoted values in the files are the same as every text based .cfg files that are auto generated by the game engines themselves. The universal usage of quotes probably makes make the parsers and generators less complex, not needing to parse types becuse they are only loading values into the game and the game LATER parses the values as the game instance starts. The elements are stored in game as text values and loaded into actual data structures when they get referenced by game engine instances, some being modifyable live in session and some only loaded as the scenario begins.
    Here are some quirks in goldsrc CS 1.6 which I know well and I'm sure many of these quirks still exist in the source games and beyond.
    In the case of cfg files, you can always just omit quotes if there is a single element with no whitespace or separators. However,
    cl_crosshair_color "0 255 0"
    and
    cl_crosshair_color 0 255 0
    are not equivalent and in the second example, the last two elements are ignored, since crosshair_color is implemented to expect a string "R G B" meaning the first example is green crosshair an the second seems to (afaik) only successfully set the R value to 0 and seems invariably zero out the G and B values. I would assume that this is just the default constructor behavior of that data type as the engine parses the user-accessible value and passes it to the active game instance, rather than simply leaving the existing G and B unchanged, it replaces the entire RGB as a whole.
    This only becomes a real issue when getting into configuring your "alias" the command used to create user defined configurations and input customizations, can only collect multiple commands into one action by using quoted strings including separators.
    When keybinds are used in game, "bind mouse1 +attack" is the standard attack bind, and the + is used for pairing commands with their - counterpart, activating whatever you've bound to -attack when mouse1 is released. All input actions have an associated built in command attached.
    Problem: I have no headphones and when I talk on voice chat, it picks up the game sounds loudly and people yell at me and can't hear me speak unless I turn the volume and lose the ability to hear enemies coming.
    Solution: create an alias that mutes the volume while you are holding the voice key, default setting: bind k +voicerecord
    alias +shhrecord "volume 0; +voicerecord"
    alias -shhrecord "volume 1; -voicerecord"
    bind k +shhrecord
    works like a charm and lets you use voice chat without having to isolate your microphone or blow up your teammates ears. Just remember you're deaf for a moment while you speak.
    or you want your gun to refuse to autofire because you hold down attack with your ak47 too much and want to be forced to practive single shots. (btw the wait command just introduces a single frame delay to ensure that actions dont happen too fast to actually activate properly)
    alias +oneshot "+attack; wait; -attack"
    bind mouse1 +oneshot
    Which works, but doesn't require a - counterpart since in this case, the firing action is already cancelled and nothing need to be triggered when releasing fire. NOTE: this bind interferes with using other weapons and with holding grenades before throwing. you would need a way to turn off the setting when changing weapons to use it in game without complications.
    Or another legitimate customization you might desire:
    you want to use a green crosshair but have it turn red as you are firing but go green again as you release fire.
    Attempts:
    alias +redattack "+attack; cl_crosshair_color "255 0 0" "
    fails to work because of nested quotes. Okay maybe we can just make an alias to contain the crosshair command first,
    alias setred "cl_crosshair_color "255 0 0""
    Oops. same problem.
    Only way to escape the need to nest these quotes, that I've found? to activate the loading a config file from your game folder, which simply runs all lines of the config file as console commands.
    redx.cfg containing a single line: cl_crosshair_color "255 0 0"
    greenx.cfg containing: cl_crosshair_color "0 255 0"
    bind redx "exec redx.cfg"
    bind greenx "exec greenx.cfg"
    alias +redattack "redx; +attack"
    alias -redattack "-attack; greenx"
    And you've better hope the implementation or caching of data is handled well by the game and/or your OS, because this solution indeed works, if you're comfortable with the game being told to actively load and run two .cfg files each and every time you fire your gun, just because you are trying to change a three-element variable in combination with another action.
    The fact that the way these games are structured leave a lot up to the client to configure, means that servers have to "assert" limits for various settings and the choice of what to allow and what not to is decided by whoever runs the server that you connect to. I've had settings that are fine almost everywhere get me booted from ones that decide that my every day settings are not legitimate. No servers have been prevented me from using customized in game sounds, though some override them. Most servers allow me to enforce minimum player models, which I use to block custom VIP models which are confusingly colored in regards to which team they are on, but a couple of servers will override all of my attempts to not "allow customized content" and somehow force it despite my use of the newer cl_filterstuff commands that are mean to prevent servers from modifying client settings you don't want them to. *shrug*
    I mean, barely any servers still allow flashlights even though it was a standard setting that was on when CS was new. Too many people using them annoyingly as well as the large part of the community whos graphics hardware wasn't able to handle the extra load outweighed the value of having them enabled and I only know one public server that has them enabled.
    The one major eyebrow raising client side option I currently think is strange to be allowed to use in 1.6 is r_wadtextures 1, which instructs the engine to, I have no clue, maybe only load textures from the .wad files and ignore any that are defined in the map files to be loaded from other places? or... the opposite? In any case it results in crashes for many maps which I would assume don't contain the required texture references for successful loading of maps, all probably created before the existence of the command, but for a few (de_dust2, de_hell) many textures end up failing to render their intended surfaces and are filled with bright purple checkerboard patterns instead. Since the r_wadtextures command is only in the newest version of 1.6, as far as I've seen, no servers prevent this setting.
    Luckily, as far as it might be considered a graphical cheat, woo boy it makes it extremely hard to see and fire at enemies, like trying to fight an optical illusion, and only increases difficulty instead of making anything easier. If there are ways to make use of it for an advantage, I haven't fathomed any and am not attempting to.
    So, its clear that valve made the structure of their standard ways of handling game data files with an emphasis on modding and clear access to many details of the client behavior, and left a lof of the implementation of securing the individual games operation, including item management, up to the individual teams running each individual game and the server operators who can freely decide to be thorough and manage those details or leave things stock and allow players the freedom to tune their own experience.

  • @velho6298
    @velho6298 Місяць тому +14

    I think was mistake on valves part not correctly incentives reporting exploits because it will create incentive not reporting problems and exploits but rather abusing them and get that cash flowing through trade

  • @novelhawk
    @novelhawk Місяць тому +28

    Just saying but a client side check of a checksum of a file is still not enough to prevent this from happening from people who know what they are doing. There's people that write cheats for these games and that's 100x harder than MITM the requests and modifing them on the spot. Alternatively you could just patch out the check or if it's sent over the wire just hardcode the checksum of an unedited file...

    • @someoneunknown6894
      @someoneunknown6894 Місяць тому +6

      Yess
      I was screaming the whole video that doesn't matter what they change, it's still clientside!! AAAA

    • @Kynatosh
      @Kynatosh Місяць тому +2

      ​@@someoneunknown6894Yeah client side is stupid in any way

    • @MrZombastic
      @MrZombastic Місяць тому

      thank you.

    • @gregorymorse8423
      @gregorymorse8423 Місяць тому +2

      Exactly. Unless they fully implement server side logic, anyone so determined will get around it by patching

    • @Aidiakapi
      @Aidiakapi Місяць тому +1

      At least that requires modifying or injecting code, which can get you caught by VAC. That said, trusting the client to do any of these "open crate, rename item, etc" behaviors is crazy.

  • @hoefkensj
    @hoefkensj Місяць тому +3

    i remember swapping out wall textures with window textures , and spy footsteps with horns in the beginning of tf2 :)

  • @unclebob418
    @unclebob418 12 днів тому +1

    "you've gotta stop buying stupid shit"
    ...
    "those magnetic posters are actually pretty cool"

  • @Basuko_Smoker
    @Basuko_Smoker Місяць тому +4

    I still play this game daily...there's nothing else like it and the charm it has built over the decades

  • @PledgeBass
    @PledgeBass Місяць тому +1

    Some of the best editing in a video I've seen in a minute! Gave them a sub!

  • @frowin2
    @frowin2 20 днів тому +1

    Let’s appreciate the videos storytelling and editing. And music.

  • @Casper4041
    @Casper4041 Місяць тому

    yo thats dope, I just discovered f4mi's channel a few days ago, been kinda binging it. So cool to see prime checking it out too. She makes great videos!

  • @ubayabdelgadir4165
    @ubayabdelgadir4165 Місяць тому +1

    I have 4317 hours in tf2, and still playing, this video is great

  • @thekwoka4707
    @thekwoka4707 Місяць тому +1

    I like how you still watch the in-video ads to support the creator.

  • @elzabethtatcher9570
    @elzabethtatcher9570 Місяць тому +4

    TF2 is mah favourite game, I play it to this day. Hats and payed-for pixels though... it is a single shameful thing TF2 has done, but what a disaster for game industry it was!

    • @Mactakun
      @Mactakun Місяць тому

      I’ll never get the idea that people are mad that cosmetics exist in a game lol

  • @yamix-tr
    @yamix-tr Місяць тому

    STOP, can we take a moment to appreciate how creative this lady was ... UNBELIEVABLE !!!

  • @DJRustyBridges
    @DJRustyBridges Місяць тому +2

    This reminded me that the James Web Telescope uses XML

  • @Veptis
    @Veptis Місяць тому

    Between 2013 and 2016 I spent nearly 2k hours in TF2 learning english and trading. I ammassed an inventory in the ballpark of 1k$ from zero external investment. and have since transferred that over to csgo where I did continue for two years but since stoppped.
    Trading has taught me a lot about talking to starngers and being suspicious. Since scams and sharks are rampant. I also got into collecting some items with special attributes like lvl100 or gifted by.... Which arent tracked by the common economy tools. Hence my inventory now has a much larger sentimental value than a first look approximation.

  • @PimOekraine
    @PimOekraine Місяць тому +8

    A checksum client side is easily patchable. A checksum server side could have hash collisions but is more secure, although you are uploading the 6MBs to the server everytime again. Why does valve not just use a server side database instead of a client side one...

    • @vilian9185
      @vilian9185 Місяць тому +6

      Because the game is 17 years old and didn't even had hats in the launch, it was a latter addition that fucked things

    • @Electric_Bill
      @Electric_Bill Місяць тому +3

      ​@@vilian9185 the game was in development a decade before it released. The codebase was already ancient.

    • @vilian9185
      @vilian9185 Місяць тому +1

      @@Electric_Bill a yes, and source was a quake engine lol

    • @XxZeldaxXXxLinkxX
      @XxZeldaxXXxLinkxX Місяць тому

      Because ancient spaghetti code probably requires it to be a client side file

  • @spl45hz
    @spl45hz Місяць тому +6

    Not gonna lie I have seen worse 'JSON' encodings in the automotive industry...

  • @petemoss3160
    @petemoss3160 Місяць тому +17

    people saying "its my money i can spend it how i want"
    ...SIR, YOU FUND THE ENSHITTIFICATION!

    • @vilian9185
      @vilian9185 Місяць тому +1

      Idk man, that was inevitable like with movies enshittification, loot boxes were only a way to make it happen

    • @petemoss3160
      @petemoss3160 Місяць тому

      @@vilian9185 death and decay are inevitable... why fight it. bend over and learn to enjoy it.

    • @rmidifferent8906
      @rmidifferent8906 Місяць тому +1

      Eh, I can get this counterargument when you are talking about "pay 2 win" microtransactions, but imo it's all ok as long as it stays in cosmetics. Maybe to you a digital item is not worth a lot of money, but if people want it then why would you stop them? Maybe they like the game more than you do and want to support it.
      Also I think the way Valve does it is the best. You can buy keys and open chests or sell it all for small profit. If you don't want the randomness you can buy the skin you want directly. I even once got a random drop from a game in CSGO worth more than 100$ and I bought myself a few games for that

    • @FarnhamJ07
      @FarnhamJ07 Місяць тому

      ​@@rmidifferent8906 Eh, I'd argue TF2 is effectively pay-to-win. Among other restrictions, you can't use text or voice chat in game on official servers-including calling for medic-without ponying up the $5 for a 'premium' account! In theory you can work around it by playing on community servers... but then you're going to end up getting pounded by people with thousands of hours and all the unlocks in short order. The game's still well worth the $5, and definitely more than fun enough for some casual time-killing even as a F2P...but let's be real; being unable to coordinate with your team or even call for medic on an official server is a massive gameplay disadvantage.

  • @Byron804
    @Byron804 Місяць тому

    the editing on the original video is really good

  • @viko1786
    @viko1786 Місяць тому +2

    Blue hair! She codes in Rust in her free time, I bet

  • @josh.salles
    @josh.salles 14 днів тому

    Holy sh-t I just randomly looked _"Downtown"_ song up yesterday what a trip lmao

  • @P3PPING
    @P3PPING 14 днів тому

    "Stop spending your money on stupid things" ** displate advert ** "Ok imma look into this"

  • @tempo5366
    @tempo5366 Місяць тому +2

    I wonder if people spend more money on virtual hats than actual hats at this point.

  • @Chrisxantixemox
    @Chrisxantixemox 6 днів тому

    ParseBool(ParseInt(baseitem)) is incredibly based.
    That's some "hey, there is a weird bug in this legacy code, can you take a quick look?" type of energy.

  • @voskresenie-
    @voskresenie- Місяць тому +1

    tf2 is an incredible amount of fun, plus beautiful graphics

  • @boyscout399
    @boyscout399 Місяць тому

    I used to adjust my guns in the original Rainbow size because all the attributes like accuracy, rate of fire, power, etc were all just a text file that you could edit.

  • @awarepenguin3376
    @awarepenguin3376 Місяць тому +6

    they redownloaded a mongo database LMAOOOOOO

  • @Monokai
    @Monokai Місяць тому +1

    12:37 - no, valve didn't make that, early 2000s mmorpgs such as Habbo Hotel, RuneScape and WoW essentially made the concept of crypto with virtual economies that gave birth to essentially nft black markets for real money, both selling and buying. 😂. Unfortunately lots of us early internet game users have encountered selling and trading for real money and some of them made a LOT of money out of it. Valve just made it even more profitable with their games like csgo and tf2

  • @Exilum
    @Exilum Місяць тому +1

    3:35 Nah that quarter is chat saying that and asmon saying because you buy.

  • @georgehelyar
    @georgehelyar Місяць тому +1

    Even if they added signature verification you could just patch out the call to return true

  • @local9
    @local9 Місяць тому

    That ending reminded me of soooo many cracks.

  • @RealRatchet
    @RealRatchet Місяць тому

    I wrote a vdf parser for first year DS uni class. It's technically superior to json because it supports comments and training comma doesn't murder it like json spec compliant parsers

  • @Nbc66
    @Nbc66 Місяць тому

    Yeah bro fun fact that all of valves' internal data or configuration is stored using the valve data file format. It's literally a key value data file with keys and subkeys
    And tbh its way fucking better then json man has support for so many things

  • @MossySparks
    @MossySparks Місяць тому

    Just press (f). Says It right there...

  • @omri9325
    @omri9325 Місяць тому

    This was a gem, thanks

  • @IILunchTraeII
    @IILunchTraeII Місяць тому

    Love TF2, I finally got the iphone ear buds since their price dropped a couple of years ago. I still don't have a unusual hat (probley never will) but I have ear buds and that is all that matters.

  • @crusaderanimation6967
    @crusaderanimation6967 24 дні тому

    0:24 I also experience youtube ui just not working problerly.

  • @RigelOrionBeta
    @RigelOrionBeta Місяць тому +2

    String as bool? In college I did string as bit.

  • @thekwoka4707
    @thekwoka4707 Місяць тому

    I can kind of support loot boxes (even purchaseable) as a "let people do what they want with their money", but definitely the free crate that needs a paid key should absolutely be illegal.

  • @camarotheboss2854
    @camarotheboss2854 Місяць тому +1

    Someone can explain what is the genesis of this "The name is a primeagen" at the end of each video?

  • @xslashsdas
    @xslashsdas Місяць тому

    My first ever api used JSON as a Database because my stupid ass didn't know about SQLite and I wanted a simple and light storage.

  • @goaserer
    @goaserer Місяць тому

    I always thought using colon to separate keys from values was JSONs biggest downside.
    Will use Valve data file format for everything from now on

  • @odaselementales
    @odaselementales Місяць тому

    I really loved this one.

  • @TheBionicfury
    @TheBionicfury Місяць тому

    The best part about Valve giving out the Cheater's Lament is that I participated in the item grinding cheats and I still got a Cheater's Lament lol

  • @davelewis8270
    @davelewis8270 Місяць тому

    I know that voice. It's f4mi. Fantastic creator

  • @katanasteel
    @katanasteel 10 днів тому

    In the beginning valve release the Half-life Generation box set... on physical optical discs

  • @cryptonative
    @cryptonative Місяць тому +1

    Greece mentioned!

  • @roberthoople
    @roberthoople Місяць тому

    The Orange Box changed my life.

  • @GoddamnAxl
    @GoddamnAxl Місяць тому

    The creator of this video really edited the shit out of it. If videos can be vaporwave, this must be it!

  • @apchistuz
    @apchistuz Місяць тому

    The frying pan is from Left 4 Dead 2

  • @Requiem100500
    @Requiem100500 Місяць тому +1

    Based asmon watcher prime

  • @The1RandomFool
    @The1RandomFool Місяць тому

    Star Trek Online does the random loot boxes with paid keys as well.

  • @GarretSpenstHGF
    @GarretSpenstHGF 16 днів тому

    13:39 PUBG tried to sue Epic for Fortnite for their claim to battle royals and the "Bus" start system lol.

  • @itsPenguinBoy
    @itsPenguinBoy 28 днів тому

    If the download method allowed partials it wouldn't need to download the full 7mb, just the modified bits that need to be reset. But still.

  • @joyboricua3721
    @joyboricua3721 Місяць тому

    @13:18 The Golden Griddle... They had tasty pilaf.

  • @znewt99
    @znewt99 14 днів тому

    14:47 nice gold standard joke!

  • @SebastianBenderSkeptic
    @SebastianBenderSkeptic 29 днів тому

    Looks like valve never heard of hashing

  • @opensourcedev22
    @opensourcedev22 Місяць тому

    TF 2 was life. I literally did nothing but TF2-maxxing for the first 3 years

  • @tryitpro674
    @tryitpro674 23 дні тому

    The only thing that stopped you from binding console commands to buttons on the ps3 was a crc32 hash on the save file. Even better all the severs would just accept sv_cheats 1, then you could do whatever.

  • @mythicaldata6297
    @mythicaldata6297 Місяць тому

    Ayyye covering Fami lesgooooo

  • @CanadianBaconBoi
    @CanadianBaconBoi 8 годин тому

    Valve's VDF format is older than JSON by a good few years

  • @nicknieznany
    @nicknieznany Місяць тому

    CS2 major biggest e-sport game where loot boxes are looked by keys which you buy only on steam. Valve and Gaben did this.

  • @KungFuDoom
    @KungFuDoom Місяць тому

    Dont whiz on the electric fence!

  • @TorutheRedFox
    @TorutheRedFox Місяць тому

    if you think valve's format is bad you should see media molecule's in littlebigplanet

  • @pwatoscry2087
    @pwatoscry2087 Місяць тому

    F4mi content mentioned?!?!? LETS GOOOOOO

  • @Baerchenization
    @Baerchenization Місяць тому +2

    I think I have 25K+ TF2 hours and never bought anything. But I haven't played in 2 years...

    • @BeamMonsterZeus
      @BeamMonsterZeus Місяць тому

      My man. I've spent inordinate time in games and spent nothing as well.

    • @o11k
      @o11k Місяць тому

      Bro spent 3 years straight on tf2 wtf

    • @Baerchenization
      @Baerchenization Місяць тому +3

      @@o11k If u watch 3 hours TV every day, you will have wasted 10 years of your life on watching TV by the time you are 80... and as we all know, watching TV makes you stupid, while playing video games improves your eye-hand coordination...

  • @Shadepariah
    @Shadepariah Місяць тому

    shit, in my application at work we have json in database fields which is in of itself it's own database

  • @danser_theplayer01
    @danser_theplayer01 Місяць тому +1

    Almost as bad as payday 2 client side "anticheat" which is just some file or files that check what items and properties you have and if those are not standard or you shouldn't hvae gotten them yet (like paid hats and dlcs) then it tries to...🤣
    it tries to put a "CHEATER" *sticker* on you so people kick you from multiplayer lobbys 🤣🤣, and it's so bad that the free epic games giveaway broke something and gave that sticker everyone who got the game through the giveaway. It's literally just some lua file appending text to your player profile when searching for multiplayer.

  • @mattymattffs
    @mattymattffs Місяць тому

    They're not using that json as a database. That's read only. It's pretty much the express purpose of json.
    Once again game devs have proven themselves smarter than web devs
    Anyway, their custom format comes from way before JSON and they just carried it forward because they have all the tools. A web dev would waste time retooling

  • @privacyvalued4134
    @privacyvalued4134 Місяць тому +1

    The original Team Fortress was fun. There was just something satisfying about being able to shoot a rocket at your own feet and launching yourself all over the map and into enemy territory at the cost of some health. TF2 nerfed everything and added useless/pointless hats. I really disliked TF2. Original Half-Life multiplayer was also amazingly fun. HL2 removed satchels, tripmines, and snarks which were a lot of random fun. The OG Counter-Strike 1.6 was tons of fun too. CS: Go-to-the-Bathroom was not fun. And hard pass on the latest nonsense in CS.

    • @plushrei5926
      @plushrei5926 Місяць тому +1

      You do know that rocket jumping is still a thing it tf2? And that you can disable all hats? Also Hat Fortress 2 for the win!!!!!

    • @aarorissanen930
      @aarorissanen930 7 днів тому

      You sound like a miserable old hag

  • @Explode796
    @Explode796 Місяць тому

    Whoooo said it suuuuuuuccccckkkssss it is my favourite game ever

  • @mang_tomas
    @mang_tomas 18 днів тому

    I feel like I can apply on valve..

  • @animanaut
    @animanaut Місяць тому

    lol, displate page is doooooooooogshit. never seen loadingtimes like that. could deserve its own theogg \ primagen reacts video

  • @PJutch
    @PJutch Місяць тому

    And when had Valve learned that you can edit process memory so you need to do an actual validation on your server?

  • @InfiniteQuest86
    @InfiniteQuest86 Місяць тому +5

    Checksum is useless. Just edit it in memory after the check.

    • @l3xforever
      @l3xforever Місяць тому +1

      1. It’s parsed into objects on load, so it’s not as easy to edit, and 2. the game process is protected with vac, so once again it’s not easier to edit.

    • @InfiniteQuest86
      @InfiniteQuest86 Місяць тому +1

      @@l3xforever I guess. I could probably do it in 30 minutes .

    • @colinstu
      @colinstu Місяць тому +1

      even if useless it's already better than what they had before (for a long time)

  • @VikcocVyk
    @VikcocVyk Місяць тому

    L take leaded gasoline man (around the 4:10 ish mark)

  • @Kane0123
    @Kane0123 Місяць тому

    You know what's better than having a specific skin or hat? Being good at the game...

  • @atimholt
    @atimholt Місяць тому

    What happened with the full screen button? Did it just not register his click?

  • @Burgo361
    @Burgo361 Місяць тому

    Agreed capitalism is voting with your wallet but we lack the self control/awareness to actually vote for we want. But also I will never forget the horse armour dlc and I will never buy it.

  • @Soularchitector
    @Soularchitector Місяць тому

    JSON as a database - Mongo is a joke :))

  • @EmilyGamerGirl
    @EmilyGamerGirl Місяць тому

    9:29 any game that does that makes me immediately not want to play at all.

  • @RigelOrionBeta
    @RigelOrionBeta Місяць тому +1

    To say TF2 started this is a bit misleading. This was being done in mobile games at this point. TF2 was probably the most high profile game on non mobile platforms that did it at the time though.
    Also Yannis is pretty based, would highly recommend you look into his history. He didnt have anything to do with TF2s crate-key thing, he was advising the Steam Marketplace overall.

  • @AndreGreeff
    @AndreGreeff 21 годину тому

    wait, so instead of forcing every client to redownload 7MB on every launch, why not just encrypt that local file...? lol. wow.