Team Fortress Wiki:Weapon Demonstration
The Weapon Demonstration project's goal is to build a complete library of videos demonstrating the various aspects of all weapons in Team Fortress 2.
- The idea: To have one consistent video style demonstrating how weapons work.
- The objective: To demonstrate how weapons work: firing animation, reloading animation, projectile trajectory, speed, damage, and simply viewmodel.
- The benefits: Consistent, one video per page (quiets those wanting to add their own video), looks good.
Contents
Reference video
Following the structure of the following videos should give you a basic idea of what is expected.
Non-melee
Melee
Guidelines
Requirements
- Being able to run TF2 at a resolution of either 1280x720 or 1920x1080 (16:9 ratio), at more than 30 frames per second, on medium settings or higher, with DirectX 9, and at least 2x antialiasing.
- Fraps (full version only) or WeGame (for recording either in-game footage or the Backpack), or Source Recorder exclusively for in-game footage: tr_target_weaponref_hdr, weaponref.cfg, and demonstration.vpk.
- Having the item you want to demonstrate in either Normal or Vintage quality (no name tag, no description tag, no craft number, no gifted weapons, and no Community weapons); If you have both a Vintage and a Unique variant of the weapon, use the Unique variant. Otherwise, use whichever one you have. If the weapon has multiple styles, use the default one (the one that is selected when the weapon drops). If the weapon can be sprayed on, don't spray anything on it.
- Note If you edit your game files to demonstrate a weapon, there must not be any way to tell that you did so (identical item level, plausible quality, same attributes, non-photoshopped loadout screen).
Preparation
- The video should be recorded on tr_target_weaponref_hdr. Download the map and put it in your maps folder. A patch for the map that fixes the skyboxes is available here - download the vpk and place it in your custom folder.
- The configuration file to use is available here. Save it as
weaponref.cfg
in yourcfg
folder. - Disable any custom HUD you may have; download this file and put it in your custom folder.
- Some demonstration videos may require a splitscreen or an arena map. If yours does, download this file. Put the appropriate vpk in your custom folder instead of demonstration.vpk.
- No skins, no custom models, and no custom sounds.
- Disable the Steam overlay or go offline; quiet all background applications that would interfere with the recording.
- Open TF2, open the console, and then type:
map tr_target_weaponref_hdr
. Wait for the map to load. - Once the map has loaded, pick the class corresponding to the weapon you want to demonstrate.
- Edit the loadout to remove all headgear and Misc. items. Pick all stock weapons (except the weapon to demonstrate, obviously); possible exceptions are weapons that are meant to be demonstrated together (for example, Jarate + Bushwacka).
- Wait for the setup time to finish and verify that your new loadout has been equipped (by taunting).
- Open the console (press
`
) and typeexec weaponref
. Four bots will spawn: A Pyro in front of you, a Soldier on the right side at mid-range, a Medic on the left side at long-range, and a Spy behind the crates on the left side (not visible by default). Re-executing the file will respawn all the bots at the correct location, in case you mess up. Pressing F makes the bots fire. Pressing N toggles "noclip". - Check the class icon for all weapons that will be equipped. If any of them are glitched, use the
no3d
console command to use the old icons. You can usego3d
to undo this change. - Open your Backpack, click the weapon you want to demonstrate, and press "Keep" so that your avatar equips it in the loadout preview. Rotate the loadout preview to show off the weapon.
- Move your mouse over the weapon slot and wait for the tooltip to appear.
- Always have auto-reloading disabled; reload only when out of ammo; always let the reload animation finish completely, reloading everything. Take your time.
Recording
- Start recording, but don't move your mouse until you have had the time to read all the attributes on the tooltip. The mouse cursor must be visible on the recording.
- Without moving your mouse off of the item slot, press Esc to close the backpack.
- If the weapon's tooltip covers up part of or the entirety of the weapon slot (which is the case for weapons with large descriptions), move your mouse away from the slot to let the viewer see the weapon's icon for 2 seconds, and then press Esc.
- Demonstrate the weapon. There are exceptions, but the process generally goes like this:
- Wait a few seconds doing nothing.
- Shoot once at the Pyro. Wait a bit.
- Finish off the Pyro.
- Kill the Soldier. If the weapon is a melee weapon, you can jump out of the initial zone.
- Kill the Medic. If you are using a melee weapon, give yourself crits by pressing ⇧ Shift while hitting the Medic.
- If you are demonstrating a non-melee weapon, try to shoot the cardboard target at the far back.
- Once done, reload completely, taunt, and then wait for the camera to move all the way back to the first-person perspective.
- If the weapon has a Kill taunt, use it on the Spy (he is hiding behind one of the crates). The Spy must not show up on the video until the time to tauntkill him has come.
- If the weapon has resistance/vulnerability to fire/explosive/bullets/etc., show a splitscreen with and without the items equipped. (See the Chargin' Targe video for an example.)
- End the recording.
Post-processing
- You may not modify the contrast, speed, size, etc. of the video.
- Add one of the
training_vid_*.mp3
files from.../steam/steamapps/common/Team Fortress 2/tf/tf2_sound_misc_dir.vpk -> sound -> misc
. If necessary, adjust the relative volumes between music and in-game sounds to match the ratio of the reference video. The default volume should be okay though. - Convert your video to a web-friendly format: It is recommended that you use x264vfw, single-pass, quantizer-based with q being smaller than or equal to 20.
Submission
Please upload your video to YouTube as "Unlisted". Then provide the URL of the video to the Talk page. Keep the original video file as you will have to upload it to some file hosting service (preferably MediaFire) in order for it to be uploaded to Team Fortress Wiki's Official TF2 Wiki YouTube channel.
Once the final version of the demonstration is accepted, .dem files must be provided for each clip in the demonstration. Check out Help:Recording demos for help on how to do that, though the only commands you need are record somefilename
and stop
. The demos should be uploaded here. Please email WindPower to get a password.
Talk page reservations
On the talk page, anyone can reserve a weapon demonstration that is either needed or to be redone. A reservation is only meant to serve as an indication that someone is already working on a demonstration, in order to avoid conflicts and frustration later when multiple people have both worked on their own versions of the same demonstration, and only one version can be kept. As such, anyone is free to override reservations as long as they don't mind having to scrap their version if the person who reserved the demonstration posts their version reasonably soon.
Some conditions must be met in order to reserve a demonstration:
- There must not be another valid reservation on the demonstration
- The item must not have been released in the past week
- The reservation is only valid for two weeks
- One person may not hold more than 4 reservations at a time, unless all of their reservations apply to closely-related items for which the demonstrations would have a lot of overlap (for example, five reskins of the same item, or five Pyroland items)
- For weapon demonstrations that need to be redone and that have been up for redo since less than a week, the creator of the previous version may override any reservation on that demonstration and have their reservation take priority. However, the creator must reserve the demonstration within 48 hours of the demonstration being available, and must not already have 4 other reservations active.
To reserve a weapon, please write {{Reservation|~~~~}}
at the top of the weapon's section on the talk page. If the section does not exist, you may create it. Make sure your signature contains your Wiki username.
Useful information
Below is a list of console commands that might help when demonstrating more complex weapon behaviors. Most of these work only when sv_cheats
has been set to 1.
General console commands
bind <key> <command>
- Binds a key to a command. Use this to use one of the below commands without opening the console window (for final take) if you don't want to edit it out.impulse 101
- Restores the player's health and ammo.hurtme <number>
- Deals the stated amount of damage to the player. Can be used with a negative number to heal or overheal yourself.getpos
- Displays the current position and rotation (aiming angle) of the player in x, y, and z coordinates.setpos <x y z>
- Teleports the player to a given position. Use the numbers acquired fromgetpos
to place yourself into that same exact position.setang <x y z>
- Sets the view angle of the player, akin tosetpos
. Use with the numbers fromgetpos
to make your crosshair point the exact same way. The<z>
parameter should be left at 0, or else the camera will appear to be tilting onto its side.ent_create <entity name>
- Spawns a Health pack or Ammo box at the player's crosshair when used with entity namesitem_ammopack_small
,item_ammopack_medium
,item_ammopack_full
,item_healthkit_small
,item_healthkit_medium
, oritem_healthkit_full
.
- To make the process easier, you can use this script, which binds the spawning of Health packs and Ammo boxes to Numpad keys.
changelevel <map name>
- Changes the current map without rebooting the server, as opposed to themap
command. You can use it with the name of the current map to reload the map, cleaning it of bodies, excess blood, and bullet marks.
- Example:
changelevel tr_target_weaponref_hdr
r_cleardecals
- Clears all decals (blood and bullet holes) from the map.addcond 35
- Places the player under a permanent crit boost.cl_jiggle_bone_framerate_cutoff
- the minimum framerate at which the weapon's jigglebones still work. It's set to 45 fps by default, lower it to the desired value if you're rendering at low FPS.
Bot scripting commands
bot -team -class -name
- Adds a puppet bot with the specified parameters. For the sake of consistency, the bots' names must correspond with their classes, with a prefix "Friendly" if it's on the BLU team, and have a single-digit postfix if there is more than one bot of the same class on the given team. This command is not to be confused withaddbot
, which adds an AI-controlled bot instead of a puppet bot.
- Example:
bot -team blu -class medic -name "Friendly Medic"; bot -team red -class heavy -name "Heavy 1"; bot -team red -class heavy name "Heavy 2"
bot_command <bot name> <console command>
- Makes the specified bot perform the specified command. Particularly useful for making engineer bots enter build mode.
- Example:
bot_command "Friendly Engineer" build <number from 0 to 3>
(0 for the Dispenser, 1 for the Teleporter Entrance, 2 for the Sentry, and 3 for the Teleport Exit)
bot_mimic <0 or 1>
- Makes all the bots mimic the player's actions.
- Example: In order to make a Spy disguise, you need to perform the keystrokes for disguising while playing as a Spy and having the mimic option enabled. Similarly, the only way to make Engineer bots rotate buildings is to press Mouse2 with the mimic option on. Note that Engineer bots will not mimic you creating buildings as an Engineer, you must use
bot_command <bot name> build <number>
instead.
bot_mimic_yaw_offset <angle from 0 to 360>
- Makes the bots face in a direction this angle from the player while mimicking his actions. By default it's set to180
so bots face the player.bot_dontmove <0 or 1>
- Allows or prevents all bots from moving. Takes priority overbot_mimic
.bot_refill
- Restores ammo and health for all bots.bot_teleport <name> <x y z x1 y1 z1>
- Teleports the specified bot to the given coordinates.X
,y
andz
define the position andx1
,y1
andz1
define where the bot aims its weapon. The needed numbers can be acquired by placing yourself on the bot's desired future position and using thegetpos
command.cc_bot_selectweapon <name> <slot>
- Forces a bot to switch to a specified weapon slot.
- Example:
cc_bot_selectweapon heavy 2
will make a bot named "Heavy" switch to his Fists.
bot_forcefireweapon <weapon name>
- Makes all the bots fire the specified weapon if they possess it. This can be used to make only one bot fire his weapon, instead of all the bots when using thebot_forceattack
command. If the weapon name is invalid, all bots will stop firing. Scout and Engineer pistols are regarded as different weapons, and so are Soldier, Pyro, Heavy, and Engineer shotguns. See this page for a full list of valid weapon names.
- Example:
alias "+rocket" "bot_forcefireweapon tf_weapon_rocketlauncher";
alias "-rocket" "bot_forcefireweapon randomword";
alias "+flame" "bot_forcefireweapon tf_weapon_flamethrower";
alias "-flame" "bot_forcefireweapon herpderp";
bind f +flame;
bind t +rocket
- Note Bots cannot equip non-stock weapons or items. If you need an enemy character to use an unlockable weapon, you'll need a second human player to play as that character. Feel free to ask for cooperation on the discussion page.
bot_forceattack <0 or 1>
- Make all bots perform their primary attack (+attack
)bot_forceattack2 <0 or 1>
- Make all bots perform their secondary attack (+attack2
)
- Whilst the above two commands may not seem as immediately useful as
bot_forecefireweapon
, they are best suited to making a bot perform their secondary fire for a weapon. For example, using the following code, you can make Sniper bots scope-in or Spy bots engage their cloak:alias +cloak "bot_forceattack 1; bot_forceattack2 1"
alias -cloak "bot_forceattack 0; bot_forceattack2 0"
bind key +cloak
Note You cannot alias or bind a bot action to a key if the bot's name has spaces in it. This can be avoided by creating a config file containing the desired commands and binding the execution of said file to a key.
- Example:
bind p "bot_teleport Friendly Spy x y z x1 y1 z1"
- Wrong.bind p "exec action.cfg"
while the fileaction.cfg
containsbot_teleport Friendly Spy x y z x1 y1 z1
- Correct.
Making items_game.txt actually work
TF2 tries on startup to synchronize its schema (in tf/scripts/items/items_game.txt) with the following URL:
http://media.steampowered.com/apps/440/scripts/items/items_game.some_hash.txt
If you want to use a customized item schema, you need to block it from doing that. This can be done with your firewall or by adding the following lines to your hosts file:
127.0.0.1 media.steampowered.com ::1 media.steampowered.com
Don't forget to remove those lines once you are done.
Weapons
Key
- T (Talk): Link to talk page section
- D (thumbnail Download): Direct link to the thumbnail image. Shows "[ D]" when there is no thumbnail uploaded.
- U (thumbnail Upload): Link to thumbnail upload page. The file name and description are automatically populated; only the image file needs to be selected from the user's computer.
Due to MediaWiki limitations, D and U need to be both displayed at all times, even though they are mutually exclusive.
Needed
- Fortified Compound (T • D • U)
Cosmetics
- Accursed Apparition (T • D • U)
- Archimedes the Undying (T • D • U) - Uploaded, waiting on thumb
- Backstabber's Boomslang (T • D • U)
- Carrion Companion (T • D • U)
- Chucklenuts (T • D • U) - Uploaded, unlisted
- Compatriot (T • D • U)
- Cobber Chameleon (T • D • U)
- Carious Chameleon (T • D • U) - Uploaded, waiting on thumb
- Ein (T • D • U)
- Guano (T • D • U)
- Ivan The Inedible (T • D • U)
- Larval Lid (T • D • U)
- Lieutenant Bites (T • D • U)
- Lieutenant Bites the Dust (T • D • U)
- Li'l Snaggletooth (T • D • U)
- Pocket Horsemann (T • D • U)
- Polly Putrid (T • D • U)
- Quoth (T • D • U)
- Red Army Robin (T • D • U)
- Reindoonicorn (T • D • U)
- Unidentified Following Object (T • D • U)
Need to be redone
- Battalion's Backup (T • D • U)
- Bird-Man of Aberdeen (T • D • U)
- Buff Banner (T • D • U)
- Combat Mini-Sentry Gun (T • D • U)
- Crusader's Crossbow (T • D • U)
- Dead Ringer (T • D • U)
- Natascha (T • D • U)
- Quick-Fix (T • D • U)
- Soda Popper (T • D • U)
- Short Circuit (T • D • U)
- The Expert's Ordnance (T • D • U)
- The Hibernating Bear (T • D • U)
- The Medieval Medic (T • D • U)
Done
- Ali Baba's Wee Booties (T • D • U)
- Alien Swarm Parasite (T • D • U)
- Ambassador (T • D • U)
- Amputator (T • D • U)
- Ap-Sap (T • D • U)
- Apoco-Fists (T • D • U)
- Archimedes (T • D • U)
- Atomizer (T • D • U)
- AWPer Hand (T • D • U)
- Axtinguisher (T • D • U)
- Baby Face's Blaster (T • D • U)
- Backburner (T • D • U)
- Back Scratcher (T • D • U)
- Balloonicorn (T • D • U)
- Bat (T • D • U)
- Bat Outta Hell (T • D • U)
- Battalion's Backup (T • D • U)
- Battery Canteens (T • D • U)
- Bazaar Bargain (T • D • U)
- Beggar's Bazooka (T • D • U)
- Big Earner (T • D • U)
- Big Kill (T • D • U)
- Bird-Man of Aberdeen (T • D • U)
- Birdcage (T • D • U)
- Black Box (T • D • U)
- Black Rose (T • D • U)
- Blutsauger (T • D • U)
- Bombinomicon (T • D • U)
- Bonesaw (T • D • U)
- Bonk! Atomic Punch (T • D • U)
- Boo Balloon (T • D • U)
- Bootlegger (T • D • U)
- Boston Basher (T • D • U)
- Bottle (T • D • U)
- Brass Beast (T • D • U)
- Buff Banner (T • D • U)
- Buffalo Steak Sandvich (T • D • U)
- Burning Bongos (T • D • U)
- Bushwacka (T • D • U)
- Candy Cane (T • D • U)
- Chargin' Targe (T • D • U)
- Circular Circlesaw (T • D • U)
- Claidheamh Mòr (T • D • U)
- Cleaner's Carbine (T • D • U)
- Cloak and Dagger (T • D • U)
- Combat Mini-Sentry Gun (T • D • U)
- Concheror (T • D • U)
- Conniver's Kunai (T • D • U)
- Conscientious Objector (T • D • U)
- Cow Mangler 5000 (T • D • U)
- Cozy Camper (T • D • U)
- Cremator's Conscience (T • D • U)
- Crit-a-Cola (T • D • U)
- Crusader's Crossbow (T • D • U)
- Dalokohs Bar (T • D • U)
- Darwin's Danger Shield (T • D • U)
- Dead Little Buddy (T • D • U)
- Dead Ringer (T • D • U)
- Deadliest Duckling (T • D • U)
- Degreaser (T • D • U)
- Detonator (T • D • U)
- Diamondback (T • D • U)
- Direct Hit (T • D • U)
- Director's Vision (T • D • U)
- Disciplinary Action (T • D • U)
- Disguise Kit (T • D • U)
- Dispenser (T • D • U)
- Enforcer (T • D • U)
- Enthusiast's Timepiece (T • D • U)
- Equalizer (T • D • U)
- Escape Plan (T • D • U)
- Eureka Effect (T • D • U)
- Eviction Notice (T • D • U)
- Eyelander (T • D • U)
- Family Business (T • D • U)
- Fan O'War (T • D • U)
- Fire Axe (T • D • U)
- Fishcake (T • D • U)
- Fists (T • D • U)
- Fists of Steel (T • D • U)
- Flamethrower (T • D • U)
- Flare Gun (T • D • U)
- Flying Guillotine (T • D • U)
- Force-A-Nature (T • D • U)
- Freedom Staff (T • D • U)
- Frontier Justice (T • D • U)
- Frying Pan (T • D • U)
- Gloves of Running Urgently (T • D • U)
- Golden Frying Pan (T • D • U)
- Golden Wrench (T • D • U)
- Grenade Launcher (T • D • U)
- Gunboats (T • D • U)
- Gunslinger (T • D • U)
- Half-Zatoichi (T • D • U)
- Ham Shank (T • D • U)
- Hardy Laurel (T • D • U)
- Hat of Undeniable Wealth And Respect (T • D • U)
- High Five! (T • D • U)
- Hitman's Heatmaker (T • D • U)
- Holiday Punch (T • D • U)
- Holy Mackerel (T • D • U)
- Homewrecker (T • D • U)
- Horseless Headless Horsemann's Head (T • D • U)
- Horseless Headless Horsemann's Headtaker (T • D • U)
- Huntsman (T • D • U)
- Huo-Long Heater (T • D • U)
- Infernal Orchestrina (T • D • U)
- Invisibility Watch (T • D • U)
- Iron Curtain (T • D • U)
- Jag (T • D • U)
- Jarate (T • D • U)
- Killing Gloves of Boxing (T • D • U)
- Knife (T • D • U)
- Koala Compact (T • D • U)
- Kritzkrieg (T • D • U)
- Kukri (T • D • U)
- L'Etranger (T • D • U)
- Liberty Launcher (T • D • U)
- Loch-n-Load (T • D • U)
- Lollichop (T • D • U)
- Loose Cannon (T • D • U)
- Lugermorph (T • D • U)
- Machina (T • D • U)
- Mad Milk (T • D • U)
- Manmelter (T • D • U)
- Mantreads (T • D • U)
- Market Gardener (T • D • U)
- Maul (T • D • U)
- Medi Gun (T • D • U)
- Meet the Medic (taunt) (T • D • U)
- Memory Maker (T • D • U)
- Minigun (T • D • U)
- Natascha (T • D • U)
- Neon Annihilator (T • D • U)
- Nessie's Nine Iron (T • D • U)
- Original (T • D • U)
- Overdose (T • D • U)
- Pain Train (T • D • U)
- PDA Build (T • D • U)
- Persian Persuader (T • D • U)
- Phlogistinator (T • D • U)
- Pistol (T • D • U)
- Pocket Medic (T • D • U)
- Pocket Purrer (T • D • U)
- Pocket Pyro (T • D • U)
- Pomson 6000 (T • D • U)
- Postal Pummeler (T • D • U)
- Power Up Canteen (T • D • U)
- Powerjack (T • D • U)
- Pretty Boy's Pocket Pistol (T • D • U)
- Prize Plushy (T • D • U)
- Pyrovision Goggles (T • D • U)
- Quackenbirdt (T • D • U)
- Quick-Fix (T • D • U)
- Rainblower (T • D • U)
- Razorback (T • D • U)
- Red-Tape Recorder (T • D • U)
- Reserve Shooter (T • D • U)
- Revolver (T • D • U)
- Righteous Bison (T • D • U)
- Robo-Sandvich (T • D • U)
- RoBro 3000 (T • D • U)
- Rocket Jumper (T • D • U)
- Rocket Launcher (T • D • U)
- Sandman (T • D • U)
- Sandvich (T • D • U)
- Sapper (T • D • U)
- Saxton Hale Mask (T • D • U)
- Saxxy (T • D • U)
- Scattergun (T • D • U)
- Schadenfreude (T • D • U)
- Scorch Shot (T • D • U)
- Scotsman's Skullcutter (T • D • U)
- Scottish Handshake (T • D • U)
- Scottish Resistance (T • D • U)
- Scrap Pack (T • D • U)
- Sentry Gun (T • D • U)
- Shahanshah (T • D • U)
- Sharp Dresser (T • D • U)
- Sharpened Volcano Fragment (T • D • U)
- Short Circuit (T • D • U)
- Shortstop (T • D • U)
- Shotgun (T • D • U)
- Shovel (T • D • U)
- Shred Alert (T • D • U)
- Sir Hootsalot (T • D • U)
- SMG (T • D • U)
- Sniper Rifle (T • D • U)
- Soda Popper (T • D • U)
- Solemn Vow (T • D • U)
- Southern Hospitality (T • D • U)
- Splendid Screen (T • D • U)
- Spy-cicle (T • D • U)
- Steel Songbird (T • D • U)
- Sticky Jumper (T • D • U)
- Stickybomb Launcher (T • D • U)
- Sun-on-a-Stick (T • D • U)
- Sydney Sleeper (T • D • U)
- Syringe Gun (T • D • U)
- Teddy Roosebelt (T • D • U)
- Teleporter (T • D • U)
- The Brundle Bundle (T • D • U)
- The Croc-o-Style Kit (T • D • U)
- The Expert's Ordnance (T • D • U)
- The FrankenHeavy (T • D • U)
- The Gas Jockey's Gear (T • D • U)
- The Hibernating Bear (T • D • U)
- The Highland Hound (T • D • U)
- The Medieval Medic (T • D • U)
- The Saharan Spy (T • D • U)
- The Special Delivery (T • D • U)
- The Tank Buster (T • D • U)
- The Tin Soldier (T • D • U)
- Three-Rune Blade (T • D • U)
- Triboniophorus Tyrannus (T • D • U)
- The Medieval Medic (T • D • U)
- Third Degree (T • D • U)
- Tomislav (T • D • U)
- Tribalman's Shiv (T • D • U)
- Tux (T • D • U)
- Übersaw (T • D • U)
- Ullapool Caber (T • D • U)
- Unarmed Combat (T • D • U)
- Unknown Monkeynaut (T • D • U)
- Vita-Saw (T • D • U)
- Wanga Prick (T • D • U)
- Warrior's Spirit (T • D • U)
- Widowmaker (T • D • U)
- Winger (T • D • U)
- Wrangler (T • D • U)
- Wrap Assassin (T • D • U)
- Wrench (T • D • U)
- Your Eternal Reward (T • D • U)