averifan223
Not a furry
3D level design mainly for Team Fortress 2. Applies to any other Source game as well.
You WILL create something.
You WILL ask questions about confusing sections.
TF2 Directory Location <DIR>
C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\
https://ficool2.github.io/HammerPlusPlus-Website/download.html Hammer++
https://github.com/ruarai/CompilePal/releases 1-click compiler
https://gamebanana.com/tools/95 VTFEdit Texture Creator
Optional
https://github.com/ata4/bspsrc/releases Decompiler
https://web.archive.org/web/20171104164227/http://www.tophattwaffle.com/downloads/vide/ Packer
https://nemstools.github.io/pages/GCFScape-Download.html .bsp & .vpk viewer & extractor
https://files.catbox.moe/07fuj4.zip Ultimate Mapping Resource Pack & Custom .fgd
Custom .fgd Installation:
https://github.com/ruarai/CompilePal/releases 1-click compiler
https://gamebanana.com/tools/95 VTFEdit Texture Creator
Optional
https://github.com/ata4/bspsrc/releases Decompiler
https://web.archive.org/web/20171104164227/http://www.tophattwaffle.com/downloads/vide/ Packer
https://nemstools.github.io/pages/GCFScape-Download.html .bsp & .vpk viewer & extractor
https://files.catbox.moe/07fuj4.zip Ultimate Mapping Resource Pack & Custom .fgd
Custom .fgd Installation:
- Go to <DIR>\bin\x64\hammerplusplus\hammerplusplus_gameconfig.txt
- Under "Team Fortress 2", edit "GameData0" to "C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\bin\tf2_spud.fgd"
How to Open Hammer
- Go to C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\bin\x64
- Run hammerplusplus.exe
- Upper left, click File -> New
How to Build
- Select the Brush tool (Plain block)
- Drag along the grid
- Press Enter
Compiling a map
- Press F9
- Run a Normal compile (Disable VVIS & VRAD if you are only testing for leaks.)
Hammer Hotkey Reference - Valve Developer Community
developer.valvesoftware.com
- Ctrl+S Save (Spam this 24/7. Hammer WILL crash eventually)
- Ctrl+T Tie selected World Geometry to Entitiy (Double click to view properties)
- Ctrl+Shift+W Turn Brush Entities into World Geometry
- Ctrl+C Copy
- Ctrl+V Paste
- Ctrl+Shift+V Special Paste (For identical entities with small differences)
- [ Decrease grid size
- ] Increase grid size
- (3D view) X : Show resize edges
- (3D view) Z : Toggle mouse look
- (3D view) 1 : Decrease render distance
- (3D view) 2 : Increase render distance
- (3D view) Ctrl+Shift+E Center camera on selection
- Shift+W Toggle grid snapping
- Ctrl+W Toggle ignore groups
- Ctrl+A Autosize Viewports
- HOLD Ctrl to select multiple objects
- HOLD Shift to clone objects
- "Delete" button to delete objects
- Ctrl+M Mathematical transform dialog
- Alt+P Check for errors
Notes:
A pre-made example is contained within the .zip uploaded here.
Custom Audio Guidelines
A pre-made example is contained within the .zip uploaded here.
- "soyjakparty" can be replaced with any name of choice e.g. "ctf_2fort"
- "MAPNAME" is your map's name without the .bsp e.g. "ctf_example_v12345h_final_fix54_english.txt"
- Source hides the "_final" & "_final1" suffixes. Only use them once your map is truly final.
- Go to <DIR>/tf/custom
- Create a folder with any name of choice e.g. root_soyjakparty
- Within it, create the folders: "maps", "materials", "models", "scripts", "sound"
- (Optional) In "maps", create "MAPNAME_english.txt"
- This is your custom chalkboard message.
- IN "materials", create a folder named "soyjakparty".
- Most .vtf & .vmt files will go here.
- IN "materials", create "models", & then create "soyjakparty" within it.
- Model textures will go here.
- (Optional) In "materials", create "skybox".
- Custom skyboxes go here.
- (Optional) In "materials", create "vgui" & then create "maps" within it.
- Custom loading photos go here (menu_photos_MAPNAME.vtf & menu_photos_MAPNAME.vmt).
- In "models", create "soyjakparty".
- Custom.mdl & related files go here.
- (Optional) In "scripts", create "soundscapes_MAPNAME.txt".
- This is your soundscape file.
- https://developer.valvesoftware.com/wiki/Soundscape
- (Optional) In "scripts", create "vscripts".
- Custom VScript programs go here.
- https://developer.valvesoftware.com/wiki/VScript_Fundamentals
- In "sound", create "soyjakparty".
- Custom sounds go here.
- (Optional) In "maps", create "MAPNAME_english.txt"
Custom Audio Guidelines
- Required frequencies: 44100 Hz, 22050 Hz, OR 11025 Hz.
- Must be a .wav OR .mp3 file. (.wav takes up 10x more space than a typical .mp3)
- For .mp3, "128 KBps Constant" is a good filesize middle-ground.
- Note: .mp3 files are not ideal for looping Soundscapes
VTF (Valve Texture Format) - Valve Developer Community
developer.valvesoftware.com
- Resize image to powers of 2 (16x16 32x64, 128x256, 1024x512, 4096x2048. 512x512 is a good filesize middle-ground)
- Image editor suggestions
- Click Import
- Adjust settings
- DXT1A for 1 bit alpha
- DXT5 for 8 bit alpha
- BGR888 for lossless no alpha
- BGRA8888 for lossless with alpha
- Press Ctrl+S to save
- Other .vtf flags
- Checking No LOD (Stays at max quality even at low settings)
- Checking No Mipmaps (Does not downscale with distance)
- Checking Point Sample (No blur. Pixelated on low settings)
VMT - Valve Developer Community
developer.valvesoftware.com
- Each .vtf file must have at least 1 .vmt file associated with it.
- .vmt files are what you see in Hammer's texture browser.
- Full Shader Parameters list:
Generic Example
Code:
"LightmappedGeneric"
{
"$basetexture" "soyjakparty/soyjaks/markiplier"
"$surfaceprop" "rock"
"%keywords" "soyjak,markiplier,plier"
}
- "LightmappedGeneric" can be replaced with "UnlitGeneric" to keep a texture fullbright
- "$alphatest" "1" must be used for images with 1 bit transparency (Either transparent or not).
- "$translucent" "1" must be used for images with 8 bits of transparency (256 levels of transparency).
- "%keywords" "soyjak,plier" to help organize texture searches.
- "$surfaceprop" "rock" to change the impact sounds and particles of your texture.
Animated Texture and Water Example
Code:
"LightmappedGeneric"
{
"%tooltexture" "soyjakparty/water"
"%compilewater" "1"
"%compileKeepLight" 1
"$basetexture" "soyjakparty/water"
"%keywords" "soyjak,water"
"$surfaceprop" "water"
"$alpha" "0.95"
"$bottommaterial" "soyjakparty/water"
"$abovewater" "1"
"$fogenable" 1
"$fogcolor" "{11 0 200}"
"$fogstart" "-400"
"$fogend" "1000"
"Proxies"
{
"AnimatedTexture"
{
"animatedtexturevar" "$basetexture"
"animatedtextureframenumvar" "$frame"
"animatedtextureframerate" 20.00
}
"TextureScroll"
{
"texturescrollvar" "$basetexturetransform"
"textureScrollRate" 1.0
"textureScrollAngle" 0
}
"WaterLOD"
{
}
}
}
- Animated textures must have "AnimatedTexutre".
- Water textures must have "WaterLOD".
- "TextureScroll" can be applied to any texture.
CompilePal automates this process.
<ROOTFILENAME> is any folder in <DIR>/tf/custom/
"bsp_repack maps/MAPNAME.bsp maps/MAPNAME.bsp"
<ROOTFILENAME> is any folder in <DIR>/tf/custom/
- Run VIDE.exe
- Click Pakfile Lump Editor (Furthest to the right)
- Under BSP options, click Open & select your map .bsp
- Under Pakfile Options, click Scan
- Click Browse & select C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\tf\ OR C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\tf\custom\<ROOTFILENAME>
- Click Scan
- Under File Options, click Auto
- For any missing files, click Add & select
- The following are not auto-added:
- <ROOTFILENAME>/materials/vgui/maps/menu_photos_MAPNAME.vtf
- <ROOTFILENAME>/materials/vgui/maps/menu_photos_MAPNAME.vmt
- <ROOTFILENAME>/maps/MAPNAME_english.txt
- <ROOTFILENAME>/scripts/soundscapes_MAPNAME.txt
- <ROOTFILENAME>/scripts/vscripts/SCRIPTNAME.nut
- The following are not auto-added:
- Click Apply
- Under BSP Options, click Save
"bsp_repack maps/MAPNAME.bsp maps/MAPNAME.bsp"
Team Fortress 2 Mapper's Reference - Valve Developer Community
developer.valvesoftware.com
- Players: 49 HU length & width, 83 HU height
- Crouched players are 63 HU in height
- Jump + no crouch: 50 HU jump
- Jump then crouch: 64 HU jump
- Crouch then jump: 72 HU jump
- Max player height: 155 HU (without blast or double jump)
- Melee range: 48 HU
- Swords: 72 HU
- Disciplinary action: 81.6 HU
- Melee deals 1.5x damage to func_breakable
- Fastest walkspeed: Scout 400 HU/s
- Slowest walkspeed: Heavy 230 HU/s
- Default max stair step height: 18 HU
- Max fall (default gravity) before damage: 269 HU
- Sentry gun radius: 1024 HU
- Minimum water depth to start swimming: 54 HU
- Maximum water ledge to jump out: 19 HU
- Rocket/pipe/sticky explosion radius: 146 HU
Attachments
Last edited: