Source-1-Games icon indicating copy to clipboard operation
Source-1-Games copied to clipboard

[TF2] Remove 2 GB+ of HL2 sounds

Open henke37 opened this issue 7 years ago • 21 comments

Teamfortress 2 is a large game, taking up more than 10 GB of space. But a notable part of this is completely unused and unneeded content inherited from HalfLife 2.

In particular, all of the story and npn voice lines are still included. None of that is useful in TF2.

While at it, compress all the sounds inherited from HL2.

henke37 avatar Mar 10 '17 11:03 henke37

Hammer does generally not play sounds. And even if it did, far from every single sound from HL2 would be needed. Especially not stuff like story voice lines.

Basically, TF 2 treats HL 2 as a base game when it comes to resources. Instead of finding a minimum shared subset of resources, it brings in all of them. For example, the SFX for a respawning item is from HL2. It is those kinds of shared sounds that made it bring in the resources from HL2. But this much unused stuff? Too much.

Also, I don't think this is a feature request. This is a bug.

An easy start would be to drop the entire hl2_sound_vo_english_*.vpk archive. That's nothing but storyline voiceovers. And hl2_sound_misc_*.vpk has stuff such as sound/npc/metropolice/vo/*.wav that can also be easily removed. Really, it's easy to find stuff that obviously doesn't belong in TF2.

henke37 avatar Mar 10 '17 17:03 henke37

Yup, these voicelines are not used in any way (except some custom community maps)

There is no need to keep them ingame

AnnsAnns avatar Mar 11 '17 22:03 AnnsAnns

+1

tcmal avatar Mar 11 '17 23:03 tcmal

This would break TONS of custom maps and plugins on TONS of community servers.

Not gonna happen, sorry.

sapphonie avatar Mar 13 '17 03:03 sapphonie

Actual numbers please. This isn't a matter of "if" it will break stuff. but a matter of what stuff should and should not break. Things such as "utility" and "popularity" needs to be factored in here. And remember, this isn't a simple matter of either removing everything or keeping everything. It's a matter of deciding which files (in the archives) to keep. Each file needs to be judged individually.

henke37 avatar Mar 13 '17 11:03 henke37

It is an excellent idea to strip the install size down to only what the base game actually requires - the legacy files could be offered as a "mod" in steamcmd to avoid breaking things (much like CS/DoD/HLMP are distributed for GoldSrc).

Impossible to get numbers on how many maps or plugins would be broken, and you know that.

We can run statistics on all the plugin source code on AlliedModders if Valve are actually interested in this data - wouldn't be that hard to get one or two of the major GSPs to crunch the numbers on their FastDL servers either to cover maps.

asherkin avatar Mar 14 '17 20:03 asherkin

I have mixed feeling on this because there's too many existing maps that utilise HL2 assets.

I suggest that during the map-loading phase TF2 will identify assets that are apart of HL2, and download them onto the local install of TF2. Therefore all existing maps will work whilst improving the download size for a majority of the game.

Supernova4422 avatar Mar 15 '17 04:03 Supernova4422

Custom servers and maps can pack in any specific sounds they want, just like every other custom sound file in the game. This is just a waste of space being in the game.

doublah avatar Mar 19 '17 14:03 doublah

I rely a lot on various HL2 resources that happen to be packed into TF2 for designing custom sourcemod plugins, as do many others.

However, my servers are a few of thousands, and it's possible for me to add custom downloads.

We shouldn't be sacrificing the efficiency for tens of thousands of customers just for a few server owners.

Only things that both HL2 and TF2 actually share should be kept - anyone using anything else will see error messages when their stuff isn't precached and will be able to deal with it.

While I probably use a few mb of HL2 resources in my 1-2 servers, multiply the resource usage of 2gb by 100,000 TF2 players and it should be clear that one is the more efficient choice.

As for maps that use HL2 props in maps ... hopefully something like what @Fantasmos said is viable, because it tends to be unlikely that map makers will go back and revisit their maps - I've seen many map makers put out some maps and then disappear for years.

Things that automatically download HL2 sources only as they're used/needed by maps or plugins would be great... heck throw CS:GO stuff into the mix too, I use some of those.

Chdata avatar Mar 23 '17 14:03 Chdata

I think the problem here is that what we see as a trend is that user content is being treated more like an addition to the base game like a user spray on the wall, and valve keeps treating user content like official valve content where user content has the same ground and ability to influence user experience as official content which is wrong imo, because 99 percent of user content is senseless bloatware that doesnt add anything meaningful to the game. some css and dods servers have completely absurd level of user generated bloatware with maps that have poor optimization, bugged entities and garbled textures and that is all being played because there is no adequate filtering system in the form of steam workshop for these games, i seriously doubt that users want to spend 5 minutes waiting for custom servers sounds and vip player models along with who knows what to download which will potentially also break the game or make it go as slow as crysis on a netbook. even duke nukem 3d has workshop but not css, dods and cs1.6. we need persistent looking gameplay across all valve games, be it cs1.6 or csgo.

ghost avatar Dec 15 '18 21:12 ghost

Not, that is not this particular problem. This is just valve sucking at build management. Your issue is something else.

henke37 avatar Dec 15 '18 22:12 henke37

Not, that is not this particular problem. This is just valve sucking at build management. Your issue is something else.

I think the only reason why hl2 content was not removed from source based games is to keep compatibility with those badly designed user generated maps which is why these two things are basically the same problem of valve treating user content the same as their own. We don't need people with no mapping design skills or just basic workmanship to dictate how the game is going to be played for the rest of the player base. I have played on those servers with maps that look like something in between minecraft and hl2 and css and tf2, and trust me if those user maps had at least gone through some testing they all would have been banned because it could take no more than a week of effort to make them look presentable, but for some reason it's easier to just shove it to the players and move on to making another half-finished map.

ghost avatar Dec 15 '18 22:12 ghost

The thing is, that doesn't make sense. This is junk they accidentally added in the steampipe conversion. It wasn't there at launch. This is clearly incompetence, not compatibility.

You seem to be projecting a lot of issues here. Custom content is what keeps games alive. But that's not this issue. This is nothing more than incompetent packaging.

Valve could do a lot to improve the game. But this issue is not your issue. This is not the place for your complaints. They are valid, but they are off topic to this issue.

henke37 avatar Dec 15 '18 22:12 henke37

I understand that the issue of user content is not the same as topic above, it just baffles me how valve could do this kind of stuff for the sake of some modders over majority of playerbase.

ghost avatar Dec 15 '18 22:12 ghost

The thing is, that doesn't make sense. This is junk they accidentally added in the steampipe conversion. It wasn't there at launch. This is clearly incompetence, not compatibility.

Fairly certain the HL2 content has always been in TF2's files from the get-go. I seem to recall the shared content being in the files as far back as 2009 which is long before Steampipe.

TF2CutContentWiki avatar Dec 16 '18 08:12 TF2CutContentWiki

Yes it was part of all source games css, tf2 and dods, but why would it be needed for official content that has separate content set for each source game, aside from as mentioned above to maintain compatibility with badly designed user maps that use hl2 content in other source games, which mind you is not a pretty site to see. It has more to do with company policy of supporting user content than sound design idea that each game has its own separate content set which is clearly a more well thought out idea rather than have completely garbled policy of supporting all user content no matter how badly designed it is and have hl2 maps in dods tf2 and css even when it makes no sense whatsoever, and not only that but a policy of not implementing steam workshop in css and dods for the same reason that it will cause those badly deisned maps to get downvoted by players or loose compatibility, even though you can clearly see how badly designed it all is.

ghost avatar Dec 16 '18 09:12 ghost

If any work is planned by Valve in this regard, I'd like to point attention to the fact that the TF2 Dedicated Server works completely fine with something like 2.6GB (probably less, even) out of the 7.6GB total; this can be achieved by filtering out the default maps packaged with the game. Those maps (and honestly, any non-core asset) could be hosted on the workshop and downloaded whenever needed. Tighter integration with the workshop could

  • reduce the requirement for server owners to host fastDL servers,
  • reduce random asset bloat,
  • let users unsubscribe to assets they don't plan on using anymore,
  • help the dev team to push map updates without requiring a game package update,
  • as well as (I assume) helping the contribution loop that happens when third party mapmakers get their maps in the official game. I can see a lot of potential in the workshop integration, but it's currently buggy with demos, lacking multiple features, etc.

ldesgoui avatar Dec 16 '18 20:12 ldesgoui

It will be really nice if valve decides to cleanup and update game content both user and official to save up some space so that people waste less space downloading broken or duplicate content, i think it saves a lot of time especially since most games are internet based, when i choose which games i play i always pay attention how much space it takes on my ssd as i have limited space.

ghost avatar Dec 17 '18 02:12 ghost

I don't think this is a good idea, due to how much it breaks; rather, it would be better for Source 2013 Multiplayer games to have a shared folder for the base HL2 assets, like they did back when they used GCF instead of VPK. See #708.

While at it, compress all the sounds inherited from HL2.

The WAVs in the hl2_sound_vo_<lang> VPKs definitely should be compressed using ADPCM; this can easily be done in batch, and should safely reduce the file sizes of these rarely used sounds to a quarter of the size, without breaking any mods that actually use them.

SirYodaJedi avatar Oct 10 '22 18:10 SirYodaJedi

ADPCM is a legacy codec. There is little point in using such an outdated codec.

henke37 avatar Oct 10 '22 22:10 henke37

ADPCM is a legacy codec. There is little point in using such an outdated codec.

And Source 1 is a legacy engine. Using ADPCM ensures that the WAV files used for VO remain as WAV files, as that is what maps and soundscripts that use those files are looking for.

SirYodaJedi avatar Oct 10 '22 23:10 SirYodaJedi