The offline bots will always make me smile. They have an earnest determination that really makes it seem like they’re trying their hardest to be the best teammates possible. Not that they’ll ever realize that dream, but good on them for trying.

Though they have a scary tendency to gang up on the human...
Though they have a scary tendency to gang up on the human…

However, as numerous people throughout the years have noted, Valve has restricted them to stock-only for the duration of their existence, and any justifications for this restriction have slowly eroded as TF2 has evolved. Itemtest lets you equip a puppet bot with a number of working unlocks like Bonk! and Mann Vs. Machine bots use unlocks all the time. Fanmade plugins already exist simply letting players choose the bot’s loadout, but I really think that this should come standard, especially for unlockables that work exactly like their stock counterparts.

Imagine a bot with the Pretty Boy’s Pocket Pistol, Huo Long-Heater, or the Bazaar Bargain. These weapons use the exact same playstyle as their stock counterparts. Valve would not have to touch the code in the slightest to allow bots to correctly use these weapons. This goes for almost all unlocks that maintain the same basic concept of their slot (Soldier rocket launchers, Medic syringe guns, spy revolvers). Sure the bots may not take full advantage of the upside, but they’d still be perfectly playable opponents. A sort of whitelist that allows the comparable unlocks to be assigned (or randomly equipped) to bots in offline mode would allow the player to have more versatile fights in single-player. Even if Valve doesn’t want the minuscule downsides that come with this idea, passive unlocks like the Razorback and reskins like the AWPer Hand, Sharp Dresser and Original could add some variety to the bots’ appearance at no cost to their playability.

In addition, there are some unusual unlocks that, as this video shows, still work perfectly (or almost perfectly) when equipped by bots. In particular, Huntsman snipers are great, Flare gun Pyros and Bison soldiers are quite accurate, Dead Ringer is used better than most players, and Booties/Shields/Melee demoknights are actually quite good at hacking and slashing. Sure, the bots think they’re using stock, but somehow stock behavior translates to these weapons just fine. There would be minor discrepancies (Demoknights charge the second their shield is full regardless of who’s around) but none of these problems are greater than the behavioral quirks the bots already have. I would love to practice fighting aimbot Huntsman snipers. Obviously certain unlocks like the Rocket Jumper or Vaccinator will definitely never work, but that’s what the aforementioned whitelist would solve.

In addition to allowing unlocks for bots, I also think that letting the player choose their loadout while offline would be a much-appreciated touch. I understand that connection to the item server would be impossible, but if there were console commands (even sv_cheats required) that let the player equip unique-quality versions of any unlock, then it would become possible to use your favorite loadouts (or test out loadout ideas against bots) even when you don’t have internet. As a constant traveler, I find myself stuck in hotel rooms with my laptop on a semi-regular basis, which is where I started wishing I had these customization options. Giving the player all the weapons in offline mode shouldn’t affect the economy or dissuade players from earning legitimate copies of unlocks, considering these offline console copies wouldn’t be usable against real players and stop existing once you leave the server. Valve already lets every player rent a weapon of their choice free for one week and receive roughly nine unique weapons a week, they don’t seem to care that much about unlocks being easy to get.

In this article, my main goal is to emphasize that this shouldn’t take long to code at all. The bots’ behavior wouldn’t have to be altered in the slightest; just a button on the offline training screen saying “randomize bot loadouts” would be enough for me. The second suggestion regarding offline player loadouts would only require a new classification of console command. Yet these options would add a whole new level of customization for offline mode that would really breathe some life into the single-player game.