First, a couple of explanations for anyone coming in fresh - Team Fortress 2 is a popular online PC game that allows you to create new content for it. It also allows you to modify its existing content within certain extents. One of those modifiable features is the user interface, which is a curious mixture of hardcoded, unchangable elements and a text-based definitions system bolted on-top after the fact called VGUI, that defines where these items are placed on the screen and how they look.
The text-based nature of the VGUI files allows many people to modify them to look how they want. As a result, a large number of UI mods are available online, although they typically forego the game's distinct visual language and iconography in favor of flat contextless sans-serif fonts floating in the middle of the screen.
I originally started bolting together various UI mods I liked for my own personal use (hence the name!), then ended up creating my own alterations to match what I'd pulled in and make it all work together. In time, I decided upon some goals to accomplish:
Let me go over them one at a time:
As mentioned above, TF2 has a visual language to its UI that gels with the rest of the game's visual theme. A lot of popular custom UI mods cast this aside, as mentioned above, and that wasn't the path I wanted to go down.
Several UI screens, like the map description and class select, include full-screen backdrops that, while keeping to the game's visual theme, obscure the actual gameplay going on behind it. This isn't an enormous deal, as you're not in the game yet when they pop up, but by getting them out of the way, you can get a quick preview of how a multiplayer game's panning out and whether you want to take part before you join in.
The unaltered game allows the player to switch between two UI modes: Normal and Minimal. Minimal shrinks down many elements considerably, saving screen real-estate for the actual game, but casts aesthetics to the side as a result. The worst offender by far is the Item Effect Meters, which lose their background graphic completely, resulting in reading difficulty when in front of a bright, well lit texture like the concrete that regularly inhabits TF2's environments.
This one's a little weird - while the game allows you to create new assets and modify/replace existing ones, it also allows server operators to disable this functionality and force the game to load the "pure" default assets for the sake of keeping everyone on equal ground. This doesn't apply to UI mods, but it does apply to textures and artwork. This presents a clear problem - if the UI uses custom artwork and the user joins a "pure" server, those visuals will be replaced with a placeholder purple checkerboard. Eech!
The solution is simple in concept - just reuse existing texture definitions! - but occasionally tricky in practice. Sometimes, when a new button graphic is called upon that doesn't quite fit any of the existing button graphics in the game, it becomes a tedious process of searching through existing graphics that have been set up in a UI-usable way to try and find something usable, then using clever VGUI definitions to "crop" the graphic down to just what I want.
As of this exact moment, nearly five years after the first public release, the official Steam Community group where news and updates are posted has 9,460 members. Development has evolved from "a bunch of .zip files on a rapidly decaying hard drive" to GitHub, and I've undergone an intense education in interface design while grappling with the limitations and flaws of VGUI. One day I'd like to go back and iron out the little things that came of the earlier, less-learned years, but all in all it's been a fairly positive learning experience!