averifan223
Not a furry
- Joined
- May 10, 2024
- Messages
- 18
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
- 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
- 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
- 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
- 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: