The new SFM workshop: a big mess for both movie-makers and model creators

Written by MaxOfS2D
April 2, 2013 – 07:19

Yesterday, the Source Filmmaker received an update to add Steam Workshop integration. “Great!”, I thought. But as I took a look at the wiki pages, my enthusiasm quickly faded.

Long story short: as it stands right now, it’s just far easier for everyone involved to just download a .zip file off of a web server somewhere.

Valve went and implemented the workshop in what I could qualify as pretty much the worst way possible to do it. It’s easy to see why they did it; they wanted to prevent conflicts between models and make SFM keep track of the SteamIDs of creators for the new automated credits feature… but the execution leaves to be desired.

First off, SFM restricts you to three folders, where “123456789″ is your SteamID:

• models/ugc/123456789/
• materials/models/ugc/123456789/
• sounds/ugc/123456789/

If you’re a model creator, this means you have to manually edit your model’s QC and VMTs to use this path. Not very practical when you have dozens of models, each with more than a handful of VMTs… but here’s where it gets really fun: you are not allowed to reference anything outside of these folders.

Want to reference an animation MDL that’s sitting outside of your UGC folder?

Want to reference a shared VMT, like materials/models/player/shared/tongue.vmt?

The uploader will analyze your models and will strictly refuse to do anything with it if anything the model references sits outside your arbitrarily-assigned folder. This really sucks.

You could argue that it’s nice to prevent people to re-upload stuff they got off GameBanana, but decompiling never stopped anyone, and this puts the burden on the uploader… it’s treating the wrong end of the problem.

Second, it’s messy for the end-user; you get a whole new bunch of mod directories that show up in the model browser…

… some of which don’t have anything in by default — so why have them display in the first place? And you can’t really tell where things are going to land when you download them; Valve’s own sample addons seem to fall outside those UGC constraints, which sorta defeats the point of having addons to show off the system.

It would be far simpler if all workshop downloads went into a single folder that overrides what’s below it (whether or not “usermod” would take priority could be a setting, or the file order could be displayed clearly in a window of the SFM UI) and the SteamID string of numbers was not something to be stored in the model itself, but something managed by the Source Filmmaker directly in its file system code.

There are many ways this could have been implemented, and I don’t think there are a lot that could have been more of a let down.

Contrast this with Garry’s Mod’s implementation of the Steam Workshop, where it’s one-click installation, shows up where you can expect it, and doesn’t put such really weird arbitrary constraints on both the uploader & end-user, while avoiding the aforementioned problems.

It’s like no lessons were learned from the automated TF2 item compiler, which is the bane of heavy workshoppers. (it has never worked.)

In the end, unless the SFM team doesn’t rethink — from the ground up — how this giant mess works for all sides, I can’t really see myself using it. Bay Raitt was telling me a little while ago, about the Source SDK tools, that “yeah, they’re hard to use if you don’t have the exact same internal setup used at Valve”, and while SFM as a whole is a big step in the right direction in terms of user-friendliness for them, this workshop implementation makes me worry this was just a lucky shot.

2 Responses »

  1. UGC stuff aside (at least the motivation behind that is clear), why would they want to add folder referencing restriction in the first place? I mean, somebody had to code that analyzer (which isn’t awfully hard, especially with their favorite Python, but it’s still goddamn coding, testing and debugging). What was the goal? To get rid of shitty addons with broken textures? The community pretty much handles that all by itself, flagging or downvoting such stuff. I really have no idea.

  2. I favor the valuable information a person deliver to your content articles. I will search for your blog site as well as have a look at once more the following usually. My business is quite sure I is going to be up to date many innovative stuff right here! Enjoy for!

Leave a Reply