Difference between revisions of "Team Fortress Wiki:Weapon Demonstration"

From Team Fortress Wiki
Jump to: navigation, search
m (Updated youtube link for weapon example as the old winger video is private)
(the new maps and changes to the requirements are now enforced. demonstrations using the old tr karma maps from now on won't be accepted, with some exceptions if needed)
Line 38: Line 38:
 
|
 
|
 
===Requirements===
 
===Requirements===
* Being able to run TF2 at a resolution of 1920x1080 or higher (must be 16:9 ratio), at more than 60 frames per second, on medium settings or higher, with DirectX 9, and at least 2x multisample anti-aliasing (MSAA), and recording with any [[#Useful information|screen recording programs]] at the same time.
+
* Being able to run TF2 at a resolution of 1920x1080 or higher (must be 16:9 ratio), at more than 60 frames per second, on high settings, with DirectX 9, and at least 2x multisample anti-aliasing (MSAA), and recording with any [[#Useful information|screen recording programs]] at the same time.
* Having the item you want to demonstrate. No name tag, no description tag, no craft number, no gifted item, and no Community quality. Item quality preference will be Normal > Unique > Vintage or Genuine > Other quality. Exceptions can be made for items that cannot exist in any of these qualities. If an item is more abundant or more easily obtainable in a different quality than these (e.g. Haunted quality for Halloween items), that alternate quality is also acceptable. If the item can be sprayed on, don't spray anything on it.
+
** Preferably, you should use [https://mastercomfig.com mastercomfig] with at least the "High" preset with the following changes: Shadows: High, Lighting: Ultra, Model quality: Ultra, Texture quality: Ultra, Player Model: Disabled, Contracts: Disabled, Match HUD: Disabled, HUD Achievements: Disabled, Snapshot Buffer: Anim, no modifying anything in the Weapons tab.
 +
** In TF2's [https://help.steampowered.com/faqs/view/7D01-D2DD-D75E-2955 launch options], use {{code|-dxlevel 95}} and {{code|-no_texture_stream}} (disables [[Ultra high settings#Disable_Texture_Streaming|texture streaming]]).
 +
* Having the item you want to demonstrate. No name tag, no description tag, no craft number, no gifted item, and no Community quality. Item quality preference will be Normal > Unique > Vintage or Genuine > Other quality. Exceptions can be made for items that cannot exist in any of these qualities. If an item is more abundant or more easily obtainable in a different quality than these (e.g. Haunted quality for Halloween items), that alternate quality is also acceptable. If the item can have a decal applied, don't use a decal on it.
 
:{{c|Note:}} If you edit your game's files there must not be any way for viewers to tell that you did so (identical item level, plausible quality, same attributes, non-visibly-edited loadout screen). This guide will not provide any help on doing that.
 
:{{c|Note:}} If you edit your game's files there must not be any way for viewers to tell that you did so (identical item level, plausible quality, same attributes, non-visibly-edited loadout screen). This guide will not provide any help on doing that.
 
* Some knowledge about TF2, console commands, how to use any screen recording software, and video editing software.
 
* Some knowledge about TF2, console commands, how to use any screen recording software, and video editing software.
  
 
===Preparation===
 
===Preparation===
#Reserve the item demonstration first on the talk page! Check [[#Talk page reservations|Talk page reservations section]] for how and why. If you don't have a TF Wiki account yet, you would probably want register one now at the top right corner of the page.
+
#'''Reserve the item demonstration first on the talk page!''' Check [[#Talk page reservations|Talk page reservations section]] for how and why. If you don't have a TF Wiki account yet, you would probably want register one now at the top right corner of the page.
#Download necessary custom files: [http://weaponref.wiki.tf/weaponref.7z weaponref.7z]. This can be extracted using [http://www.7-zip.org/download.html 7zip] or [https://www.win-rar.com/ WinRAR]. The <code>weaponref</code> folder and 2 VPK files go into <code><your team fortress 2 folder>/tf/custom</code>.
+
#Download necessary custom files: [https://drive.google.com/file/d/1FpTukmmMYeXzArZqMOcK8o8aIqBJ2jHf/view?usp=sharing weaponref.zip] . This can be extracted using [https://www.7-zip.org 7zip], [https://www.win-rar.com/ WinRAR], or with Windows built-in file explorer. The content of the folder go into {{code|<your team fortress 2 folder>/tf/custom}}.
#Disable any custom files you may have, such as custom HUDs, custom configs, sounds, models; the included <code>demonstration.vpk</code> will override custom HUDs. Set your game to appropriate graphic settings.
+
#Set your game to appropriate graphic settings.
 +
#Disable any custom files you may have, such as custom HUDs, custom configs, sounds, models; the included <code>demonstration_hud</code> folder will override custom HUDs. The only exception are mastercomfig's files (the VPK and the CFG files)
 
#Make a backup of your {{code|tf/cfg}} folder! Several cvars will be changed when executing the required config files (for example, the value of {{code|cl_hud_playerclass_use_playermodel}}, the 3D character in the HUD, will be overwritten to use the 2D character), and you may want to keep your preferences. Once you are done with recording the clips, you can delete your cfg folder and replace it with the backup.
 
#Make a backup of your {{code|tf/cfg}} folder! Several cvars will be changed when executing the required config files (for example, the value of {{code|cl_hud_playerclass_use_playermodel}}, the 3D character in the HUD, will be overwritten to use the 2D character), and you may want to keep your preferences. Once you are done with recording the clips, you can delete your cfg folder and replace it with the backup.
#Disable the Steam overlay or go offline; quiet or quit all background applications that may interfere with the recording, specially ones that have overlays (such as Discord, Mumble, TeamSpeak).
+
#'''Disable the Steam overlay or go offline'''; quiet or quit all background applications that may interfere with the recording, specially ones that have overlays (such as Discord, Mumble or TeamSpeak) or notification sounds (such as Discord or WhatsApp).
#The video should be recorded on <code>tr_karma</code> (preferred), <code>tr_karma_event</code> (for Halloween-related weapons only), or <code>tr_target_weaponref_hdr</code> (legacy, still acceptable if reusing <code>.dem</code> replays recorded on it or if you have performance issues with the other maps). Open TF2, open the console, and then type: <code>map tr_karma</code>, <code>map tr_karma_event</code>, or <code>map tr_target_weaponref_hdr</code>. Wait for the map to load.
+
#The video should be recorded on <code>tr_karma_wiki</code> (preferred), <code>tr_karma_event_wiki</code> (for Halloween-related items only), or <code>tr_target_weaponref_hdr</code> (legacy, still acceptable if reusing <code>.dem</code> replays recorded on it. Legacy link with the map: [http://weaponref.wiki.tf/weaponref.7z weaponref.7z]). All maps are included in the download. Open the console and type: <code>map tr_karma_wiki</code>, <code>map tr_karma_event_wiki</code>, or <code>map tr_target_weaponref_hdr</code>.
 +
<!-- #In the Backpack, select <code>Show quality color borders</code>, or use the command <code>cl_showbackpackrarities 1</code>. ALREADY MANAGED BY THE CFG -->
 
#Once the map has loaded, pick the class corresponding to the item you want to demonstrate.
 
#Once the map has loaded, pick the class corresponding to the item you want to demonstrate.
#In the Backpack, select <code>Show quality color borders</code>, or use the command <code>cl_showbackpackrarities 1</code>.
+
#Before doing the demonstration, use the <code>A</code> loadout. Make sure the only thing equipped is the item that you want to demonstrate (possible exceptions are items that are meant to be demonstrated together, for example, Jarate + Bushwacka). Leave all other item slots with the default item that comes in these slots or empty. If you are demonstrating a taunt, equip it in the first slot and leave all others spaces empty. If you are demonstrating an item set, only equip the pertinent items.
#Before doing the demonstration, use the <code>A</code> loadout. Make sure the only thing equipped is the item that you want to demonstrate (possible exceptions are item that are meant to be demonstrated together, for example, Jarate + Bushwacka). Leave all other item slots with the default item that comes in these slots or empty. If you are demonstrating a taunt, equip it in the first slot and leave all others spaces empty. If you are demonstrating an item set, only equip the pertinent items.
 
 
#Wait for the setup time to finish and verify that your new loadout has been equipped (by taunting).
 
#Wait for the setup time to finish and verify that your new loadout has been equipped (by taunting).
#Open the console (press {{Key|`}}) and type <code>exec <configfilename></code>. The config file will change some of your settings to meet recording standard, such as fov, key binds, and also spawn bots and bind keys for recording. If you are demonstrating taunts and cosmetics, you possibly don't need the bots, you may skip doing this and change the appropriate settings according to the config file by yourself.  
+
#Open the console ([[List of default keys|default key]]: {{Key|`}}) and type <code>exec demonstration_basic</code>. The config file will change some of your settings to meet recording standard, such as FOV, HUD settings, etc., and some server cvars.<!--
#If you do executed the config file, four bots should 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 {{Key|F}} makes the bots fire. Pressing {{Key|N}} toggles noclip (to fly around the map).
+
--><br>If you execute the <code>tr_karma_4bots</code> config file, four bots should 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 {{Key|F}} makes the bots fire.
#Check the class icon for all items that will be equipped. If any of them are glitched, use the <code>no3d</code> console command to use the old icons. You can use <code>go3d</code> to undo this change.
+
#'''Open your Loadout, click the item you want to demonstrate, and equip it again so that your avatar equips it in the loadout preview'''. Rotate it to show off the item.
#Open your Backpack, click the item 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 item.
 
 
#Move your mouse over the item slot and wait for the tooltip to appear.
 
#Move your mouse over the item slot and wait for the tooltip to appear.
#'''Always''' have auto-reloading disabled (<code>cl_autoreload 0</code>).
+
 
#Disable random crits to prevent unwanted crits (<code>tf_weapon_criticals 0; tf_weapon_criticals_melee 0</code>).
+
Things to consider:
#Some demonstration videos may require a split-screen. If yours does, try [http://weaponref.wiki.tf/HUDv2.rar this file]. If it doesn't work, try running the game in a window at a half-width (<code>-width 960 -height 1080 -window</code>) or third-width resolution (<code>-width 640 -height 1080 -window</code>). If you use [[Source Recorder]], you can record a demo at normal full resolution, then relaunch the game at half-width resolution and render the demo from it.
+
* '''Always''' have auto-reloading disabled (<code>cl_autoreload 0</code>).
#If the item you will demonstrate has a holiday restriction (e.g. Halloween / Full Moon), set {{code|tf_forced_holiday}} to the proper value in order to use that item. See [[#Useful information|below]] for a list of values. Specifically, use {{code|tf_forced_holiday 8}} (Full Moon) for Halloween-restricted items.
+
* Some demonstration videos may require a split-screen. Try running the game in a window at a half-width (<code>-w 960 -h 1080 -windowed -noborder</code>, for 1920x1080 screens) or third-width resolution (<code>-w 640 -h 1080 -windowed -noborder</code>). If you use [[Source Recorder]], you can record a demo at normal full resolution, then relaunch the game at half-width resolution and render the demo from it.
 +
** Some HUD elements may break with third-width resolution. If so, ask for help in the Talk page.
 +
* If the item you will demonstrate has a holiday restriction (e.g. Halloween / Full Moon), set {{code|tf_forced_holiday}} to the proper value in order to use that item. See [[#Useful information|below]] for a list of values. Specifically, use {{code|tf_forced_holiday 8}} (Full Moon) for Halloween-restricted items.
  
 
===Recording===
 
===Recording===
Line 103: Line 107:
 
===Post-processing===
 
===Post-processing===
 
* You may not modify the contrast, speed, size, etc. of the video.
 
* You may not modify the contrast, speed, size, etc. of the video.
* Add one of the <code>training_vid_*.mp3</code> files extracted from <code>.../steam/steamapps/common/Team Fortress 2/tf/tf2_sound_misc_dir.vpk → sound → misc</code>. 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. You can also use [http://www.mediafire.com/download/y0gjm9yekjj6zzx/Demonstration+Music+v2.rar this] set of pre-lengthened music files by [[User:Karmacharger|Karmacharger]].
+
* Add one of the <code>training_vid_*.mp3</code> files extracted from {{code|.../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. You can also use [https://drive.google.com/drive/folders/1qA_cADqpKxrlNDrBpgHYE2ZOmgVJUriz?usp=sharing this set of pre-lengthened music files] ([https://www.mediafire.com/download/y0gjm9yekjj6zzx/Demonstration+Music+v2.rar MediaFire mirror]) by [[User:Karmacharger|Karmacharger]].
 
* Edit your video so it's just like the video already on the channel. Add fade out effects to the end of the video, at the start of the video, and before and after every scene transition.
 
* Edit your video so it's just like the video already on the channel. Add fade out effects to the end of the video, at the start of the video, and before and after every scene transition.
* Export/Convert your video to a web-friendly format: It is recommended that you use [http://sourceforge.net/projects/x264vfw/ x264vfw], single-pass, quantizer-based with q being '''smaller than or equal to 20'''. Only 60 FPS videos are accepted.
+
* Export/Convert your video to a web-friendly format: It is recommended that you use HEVC/h265 compression. '''Only 60 FPS videos are accepted''' (FPS are capped to 60 in YouTube).
  
 
===Submission===
 
===Submission===
Line 139: Line 143:
 
|
 
|
 
Below is a list of console commands that might help when demonstrating more complex behaviors. Most of these work only when <code>sv_cheats</code> has been set to 1.
 
Below is a list of console commands that might help when demonstrating more complex behaviors. Most of these work only when <code>sv_cheats</code> has been set to 1.
 +
 +
=== Map chat commands ===
 +
As of March 2024, {{code|tr_karma_wiki}} and {{code|tr_karma_event_wiki}} includes vscripts that can be used via the chat typing the following commands. Remember that the chat is hidden if you executed demonstration_basic.cfg and can only be seen if you open it.
 +
* {{code|!demo}} - Enables the same server settings for demonstration from the demonstratin_basic.cfg file.
 +
* {{code|!c}} - Toggles a critical boost on the user.
 +
* {{code|!n}} - Toggles {{code|noclip}} on the user.
 +
* {{code|!p}} - Spawns a certain ammo or health pack at the player's crosshair. Usage: {{code|!p <<PACK>>}}. {{code|PACK}} can be: {{code|al}}: ammo large, {{code|am}}: ammo medium, {{code|as}}: ammo small, {{code|hl}}: health large, {{code|hm}}: health medium, {{code|hs}}: health small, {{code|clear}}: delete all packs.
 +
* {{code|!r}} - Regenerates the player (gives health and ammo).
 +
* {{code|!clear}} - Deletes ragdolls and weapons on ground.
 +
 +
You can bind a key to one of the commands as follows: {{code|bind "kp_end" "say !c"}}.
  
 
===General console commands===
 
===General console commands===
Line 147: Line 162:
 
*<code>setpos ''<x y z>''</code> - Teleports the player to a given position. Use the numbers acquired from <code>getpos</code> to place yourself into that same exact position.
 
*<code>setpos ''<x y z>''</code> - Teleports the player to a given position. Use the numbers acquired from <code>getpos</code> to place yourself into that same exact position.
 
*<code>setang ''<x y z>''</code> - Sets the view angle of the player, akin to <code>setpos</code>. Use with the numbers from <code>getpos</code> to make your crosshair point the exact same way. The <code><z></code> parameter should be left at 0, or else the camera will appear to be tilting onto its side.
 
*<code>setang ''<x y z>''</code> - Sets the view angle of the player, akin to <code>setpos</code>. Use with the numbers from <code>getpos</code> to make your crosshair point the exact same way. The <code><z></code> parameter should be left at 0, or else the camera will appear to be tilting onto its side.
*<code>ent_create ''<entity name>''</code> - Spawns a Health pack or Ammo box at the player's crosshair when used with entity names <code>item_ammopack_small</code>, <code>item_ammopack_medium</code>, <code>item_ammopack_full</code>, <code>item_healthkit_small</code>, <code>item_healthkit_medium</code>, or <code>item_healthkit_full</code>.
+
*<code>ent_create ''<entity name>''</code> - Spawns a health kit or ammo box at the player's crosshair when used with entity names <code>item_ammopack_small</code>, <code>item_ammopack_medium</code>, <code>item_ammopack_full</code>, <code>item_healthkit_small</code>, <code>item_healthkit_medium</code>, or <code>item_healthkit_full</code>.
:To make the process easier, you can use [http://pastebin.com/f3JhawHY this script], which binds the spawning of Health packs and Ammo boxes to {{Key|Numpad}} keys.
+
::If in tr_karma, you can use the !p chat command instead. If not, you can use [http://pastebin.com/f3JhawHY this script], which binds the spawning of health kits and ammo boxes to {{Key|Numpad}} keys.
*<code>changelevel ''<map name>''</code> - Changes the current map without rebooting the server, as opposed to the <code>map</code> 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.
+
*<code>mp_restartgame 1</code> - Restarts the map without rebooting the server, as opposed to the <code>map</code> 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: <code>changelevel tr_target_weaponref_hdr</code>
 
 
*<code>r_cleardecals</code> - Clears all decals (blood and bullet holes) from the map.
 
*<code>r_cleardecals</code> - Clears all decals (blood and bullet holes) from the map.
*<code>addcond 35</code> - Places the player under a permanent crit boost. Use <code>removecond 35</code> to get rid of it.
 
 
*<code>cl_jiggle_bone_framerate_cutoff</code> - the minimum framerate at which the item's jigglebones still work. It is set to 20 FPS by default, lower it to the desired value if you're rendering at low FPS.
 
*<code>cl_jiggle_bone_framerate_cutoff</code> - the minimum framerate at which the item's jigglebones still work. It is set to 20 FPS by default, lower it to the desired value if you're rendering at low FPS.
 
*<code>ent_fire team_round_timer addtime ''<number>''</code> - Adds time to the timer of the round. Can be used with a negative number to remove time instead.
 
*<code>ent_fire team_round_timer addtime ''<number>''</code> - Adds time to the timer of the round. Can be used with a negative number to remove time instead.
Line 158: Line 171:
 
*<code>tf_use_match_hud 0</code> - Disables the team information HUD on the top of the screen.
 
*<code>tf_use_match_hud 0</code> - Disables the team information HUD on the top of the screen.
 
*<code>hud_reloadscheme</code> - Refreshes the TF2 HUD.
 
*<code>hud_reloadscheme</code> - Refreshes the TF2 HUD.
*{{code|tf_forced_holiday}} <0-11> - Enables holiday mode (0: default; 1: TFBirthday; 2: Halloween; 3: Christmas; 8 : FullMoon)
+
*{{code|tf_forced_holiday}} <0-11> - Forces holiday mode (0: default; 1: TFBirthday; 2: Halloween; 3: Christmas; 8: FullMoon)
  
 
===Bot scripting commands===
 
===Bot scripting commands===
*<code>bot -team -class -name</code> - 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 is 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 with <code>addbot</code>, which adds an AI-controlled bot instead of a puppet bot.
+
*<code>bot -team XX -class XX -name XX</code> - Adds a [[Bots#Puppet bots|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 is 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 with <code>addbot</code>, which adds an AI-controlled bot instead of a puppet bot.
 
:Example: <code>bot -team blu -class medic -name "Friendly Medic"; bot -team red -class heavy -name "Heavy 1"; bot -team red -class heavy name "Heavy 2"</code>
 
:Example: <code>bot -team blu -class medic -name "Friendly Medic"; bot -team red -class heavy -name "Heavy 1"; bot -team red -class heavy name "Heavy 2"</code>
 
*<code>bot_command ''<bot name>'' ''<console command>''</code> - Makes the specified bot perform the specified command. Particularly useful for making engineer bots enter build mode.
 
*<code>bot_command ''<bot name>'' ''<console command>''</code> - Makes the specified bot perform the specified command. Particularly useful for making engineer bots enter build mode.

Revision as of 05:33, 27 March 2024

Weapon Demonstration Project

Thats a wrap.png

The Weapon Demonstration project's goal is to build a complete library of videos demonstrating the various aspects of all weapons, game mechanics, tools, and taunts in Team Fortress 2.

  • The idea: To have one consistent video style demonstrating how weapons, game mechanics, tools and taunts work.
  • The objective: To demonstrate how everything works: viewmodels, animations, special abilities, etc.
  • The benefits: Consistent, one video per page, looks good.

Anyone who meets the requirements can make a demonstration video that is needed for an item and submit the video for review, if the video meets the standard and is approved by Wiki administrators, your video will be uploaded to the Official TF2 Wiki Channel on YouTube and Bilibili. Check the section below for detailed requirements and a guide on how to make a demonstration video. You may also find the demonstration video that is needed or needs to be redone on this page. Feel free to ask any questions before starting making the demonstration on the talk page.

Project reviewers: Ashe, GrampaSwood. A video only needs approval from one Project reviewer for publication. While anyone can provide feedback on anyone else's video, only the Project reviewers may give the final stamp of approval for video publication.

Reference video

Following the structure of the following videos should give you a basic idea of what is expected. Visit the Official TF2 Wiki YouTube Channel for more videos.

Weapon

Taunt

Tool

Key

  • T (Talk): Link to talk page section
  • D (thumbnail Download): Direct link to the thumbnail image. Turns red when there is no thumbnail uploaded. How to make thumbnails.
  • 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 Demonstrations

Taunts

Tools

Mechanics

Action

Game modes

Demonstrations that need to be redone

Done