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 to demonstrate how weapons work.
- The objective: To demonstrate how weapons work (duh); 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 video should give you a basic idea of what is expected.
See Scattergun for an embedding example.
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 or WeGame (for recording either in-game footage or the backpack), or Source Recorder exclusively for in-game footage, tr_target_weaponref, weaponref.cfg, and HudDamageAccount.res.
- Having the item you want to demonstrate in either normal or vintage quality (no nametag, no description tag, no gifted weapons, and no community weapons); you can edit your game files to give yourself the item (Golden Wrench for example)
Note If you do edit your game files to test a weapon, make sure to not create a weapon with a quality that cannot exist. For example, replacing a Vintage Razorback to make it a Darwin's Danger Shield will create a Vintage Danger Shield.
Note Please also make sure that no attributes (such as damage, ammo etc) are left on a weapon that doesn't actually have it. For example, a Vita-saw placed over an Ubersaw, but still using the Ubersaw's attributes.
Preparation
- The video should be recorded on tr_target_weaponref. Download the map and put it in your maps 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 save it as
HudDamageAccount.res
in yourresource/ui
folder (create it if it doesn't already exist). - 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 type:
map tr_target_weaponref
. 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 when weapons are meant to be demonstrated together (for example, Jarate + Bushwacka)
- Wait for the setup time to finish, verify that your new loadout has been equipped (by taunting)
- Open the console (press the
`
key) and typeexec weaponref
. Four bots will spawn: A Pyro in front of you, a Soldier on the right at mid-range, a Medic on the left at long-range, and a Spy behind the crates on the left (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. - 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, 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.
- Press close to close your backpack.
- 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.
- Eventually, try to hit the target at the far back (it is not destructible, but a small "HIT!" effect will show)
- If the weapon has a tauntkill, tauntkill the Spy (he is hiding behind one of the crates)
- If the weapon has resistance/vulnerability to fire/explosive/bullets/etc, have a friendly bot with the default loadout take attacks from an enemy then take the same attacks yourself to show the difference. (See the Chargin' Targe video for an example)
- Once done, reload completely, then taunt, and wait for the camera to move all the way back to first-person perspective. Try not to explode.
- End the recording.
Post-processing
- You may not modify contrast, speed, size etc. of the video.
- Add one of the
training_vid_*.mp3
files inteam fortress 2 content.gcf -> sound\misc
. If necessary, adjust the relative volumes between music and in-game sounds to match the ratio of the reference video. Default volume should be okay though. - Convert your video to a web-friendly format: It is recommended to use x264vfw, single-pass, quantizer-based, with q smaller than or equal to 20.
- It is recommended to record using Fraps, WeGame.
- The video should not be longer than about a minute for simple weapons (this is not a hard limit)
Useful console commands
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 commands
- hurtme <number> - deals the stated amount of damage to the player. Can be used with a negative number to heal and/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 from getpos to place yourself into that same exact position.
- impulse 101 - Restores your health and ammo.
- setang <x y z> - sets the view angle of the player, akin to setpos. Use with the number from getpos to make your crosshair point the exact same way. The <z> parameter should be left at 0, 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 names item_ammopack_small, item_ammopack_medium, item_ammopack_full, item_healthkit_small, item_healthkit_medium or item_healthkit_full.
- Use this script to make spawning healthkits/ammo boxes relatively easy.
- changelevel <map name> - changes the current map without rebooting the server as opposed to the map 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
- mp_waitingforplayers_cancel 1 - cancels the "Waiting for players" period at the start of the map.
- violence_hblood <0 or 1> - Enable or disable blood. Useful for performing practice takes, so that you don't need to reload the map.
- hud_saytext_time <number> - Set to 0 to disable the chatbox, thereby hiding server messages etc.
Bot 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 a single-digit postfix if there's more than one bot of the same class on the given team. This command is not to be confused with addbot, which adds an AI-conttrolled 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"
Note: If you want to perform scripting on bots with spaces in their names, you must create a separate config file containing instructions for that bot, which you then exec in the console.
- 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 whilst playing as a Spy whilst the mimic option is enabled. Similarly, you must use the mimic command to make Engineer bots rotate buildings.
- bot_mimic_yaw_offset <angle from 0 to 360> - makes the bots face in a direction this angle from the player when mimicking his actions. By default it's set to 180 so bots face the player.
- bot_dontmove <0 or 1> - allows or prevents all bots from moving. Takes priority over bot_mimic.
- bot_refill - Restores ammo/health for all bots.
- bot_teleport <name> <x y z x1 y1 z1> - teleports the desired bot to the given coordinates. X, y and z define the position and x1, y1 and z1 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 the getpos command.
- cc_bot_selectweapon <name> <slot> - Force a bot to switch to a 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 the bot_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 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 tf_weapon";
- alias "+flame" "bot_forcefireweapon tf_weapon_flamethrower";
- alias "-flame" "bot_forcefireweapon tf_weapon";
- bind f +flame;
- bind t +rocket
- bot_forceattack_down <0 or1> - When bots fire, make them hold down the trigger.
- 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
Submission
Please upload your video to Youtube, as "Unlisted". Then provide the URL to this video on the talk page. Keep the original video file, as you will have to upload it to some file hosting service in order for it to be uploaded to the Official TF2 Wiki's Youtube Channel.
Weapons
Needed
Cloak and Dagger
Reserved by i-ghost
Combat Mini-Sentry Gun
Reserved by Coneill987 (I'll try and make it HD)
Crit-a-Cola
Reserved by Smiley
Dead Ringer
Reserved by Wolf9400
Disguise Kit - Plan: Likely requires first person view, third person view, and enemy third person view. Have the disguised Spy use an enemy teleporter. First try to use enemy teleporter without disguise, and run in front of a sentry. Take damage, get out, teleport, get in the front of the sentry to show that it don't target you, use teleporter...
Reserved by PastorOfMuppets
Dispenser
Medi Gun
Sandvich - Plan: Have the enemies damage yourself by pressing F (or manually set your health to 1); eat sandvich; spawn damaged BLU Sniper bot; throw sandvich on the ground in front of him; make him pick up sandvich, showing his health bar go up; taunt with sandvich (same as eating). Use fades to cut between sandvich recharges.
Reserved by Lancer anti-tank Rocket (78% Done. Just re-adjusting some settings to suit the guidelines -- Lancer anti-tank Rocket 15:09, 28 January 2011 (UTC))
Sentry Gun
Reserved by CWalkthroughs
Sharpened Volcano Fragment
Reserved by iPood
Sticky Jumper
Reserved by Chaos504
Sun-On-A-Stick
Reserved by iPood
Teleporter/Telefrag (combined)
Your Eternal Reward - Plan: Likely requires first person view and enemy third person view.
Reserved by i-ghost
Need to be redone
Brass Beast -
Done but needs to be redone (sounds have been changed)
Reserved by EditOutJ
Buffalo Steak Sandvich -
Done, but needs to be re-done (Needs to show new Steak Model and Healing property when dropped for team-mates)
Electro Sapper -
Done, but needs to be re-done (show building disabled-ness)
Natascha -
Done but needs to be redone (changed stats, new animations)
Reserved by BUT
Razorback -
Done but needs to be redone (aspect ratio)
Done
Ambassador
Amputator
Axtinguisher
Back Scratcher
Backburner
Bat
Battalion's Backup
Big Kill
Black Box
Blutsauger
Bonesaw
Bonk! Atomic Punch
Boston Basher
Bottle
Buff Banner
Bushwacka
Candy Cane
Chargin' Targe
Claidheamh Mòr
Crusader's Crossbow
Dalokohs Bar
Darwin's Danger Shield
Degreaser
Direct Hit
Enthusiast's Timepiece
Equalizer
Eyelander
Fire Axe
Fists
Fists of Steel
Flamethrower
Flare Gun
Force-A-Nature
Frontier Justice
Frying Pan
Grenade Launcher
Gloves of Running Urgently
Golden Wrench
Gunboats
Gunslinger
Holy Mackerel
Homewrecker
Horseless Headless Horsemann's Headtaker
Huntsman
Invisibility Watch
- File:Item icon Iron curtain.png Iron Curtain
Jag
Jarate
Killing Gloves of Boxing
Knife
Kritzkrieg
Kukri
L'Etranger
Loch-n-Load
Lugermorph
Mad Milk
Minigun
Pain Train
- File:Item icon builder.png PDA
Pistol
Powerjack
Revolver
Rocket Jumper
Rocket Launcher
Sandman
Scattergun
Scotsman's Skullcutter
Scottish Resistance
Shortstop
Shotgun
Shovel
Sniper Rifle
Southern Hospitality
Stickybomb Launcher
Submachine Gun
Sydney Sleeper
Syringe Gun
Tribalman's Shiv
Vita-Saw
Warrior's Spirit
Wrangler
Wrench
Übersaw
Ullapool Caber