So you got a map email from Valve? A complete guide on what to do next

mapblogpost.png


So you got an email from Valve about your map getting in the next update! First of all, congrats! You worked hard to get this far.

This guide is intended to help you on your way to deliver the map to Valve with as few headaches as possible by providing you an exhaustive list of everything you'll need to send them. It is now your job to make this process as easy as possible for Valve and to communicate everything clearly and in a timely fashion.

Disclaimer: This information is current as of the writing of this article. We will try to keep it up to date, however anything in here may be subject to change as Valve changes thier processes.


First things first​


Now I know you're excited; but this is very very very important:

NOTE: You are not allowed to share any information about the update with anyone not included on the map!!!

Typically Valve will send the same templated email to everyone credited on the workshop page. It will include details regarding the revenue breakdown. These are subject to change and is confidential between you and Valve so we will not include a screenshot of it here.

Indeed in the Steam Subscriber Agreement that you must agree to as part of this process; you are agreeing to not share the details of your revenue, ever.




Time to Get Organized​


The first thing to do would be to get all the map contributors together. Discord allows you to make servers completely for free so thats an excellent place to centralize your communications.

Each contributor needs to respond to this initial email individually. A simple, "Yes I accept" will suffice.

If for any reason you do not want your map included in this update; this is the time to say so to Valve.

After recieving this email; you will get a second templated email with exact instructions on what Valve is asking from you and how to upload the files to them.

Next, it would be prudent to triple check your map for any assets you didn't know you were using that may require credit. This happens more often than you think. This can be done using CompilePal's Pack Verbose feature.

Screenshot_1.png


This will output a list of every single custom asset being packed into the map.

In the case you discover assets used that require credit; you can either try to track down the creator of said asset or have one of your contributors make a replacement for that asset.

Any asset that is not part of the Valve VPK's must be credited to it's author. Failure to do this will not only lead to potiential legal troubles for you, but also very likely to make Valve never want to work with you again.




Special Asks / Requests​


Some maps will have special features like custom kill icons, bosses, etc.

If you need something from Valve, you should start the process of communicating this as early as possible to give them time to sort out how they can support your request. Do not make a last second request to them; be respectful of their time since these updates have a lot of moving parts, not just your map.

On Galleria, we wanted custom kill icon so we asked Valve about this the same day as the email; stating clearly that there is a map hazard with the ice resurfacer tracktrain that we want a kill icon for and that we have prepared the icon for it in our files at: materials/hud/kill_icons/ice_resurfacer_kill

It is your job to make this as easy as possible for them to implement. Give them as much information as is needed for them to make a quick decision about. The less work Valve has to do the more likely they'll agree to your request.




Build a Release Bundle Folder​


I highly recommend building an asset bundle. This is what you will ultimately upload for Valve. It should contain every custom asset as well as all the additional files we'll discuss later in this post. This will look very similiar to something from your custom folder. Valve insists on compiling the map's themselves (in case they need to make a fix), so they need all the source files to do so.

This is what our bundle from Galleria looked like:

Screenshot_2.png


One method to produce this bundle would be to do a full compile with packing, and then extracting all the packed files using GCFScape into a single folder.

Typically I will clear out my custom folder completely so I have a blank TF2 to verify that I have the files I need.




Time for polish!​

Automotive Post Paint Polishing - Mirka


Typically you will get ~1-2 weeks of time before Valve wants the files in hand. This gives you time to track down bugs and add any last bits of polish to the map. This is where i'll typically add little easter eggs as well.

During this time, I do a hardcore bug hunting pass on the map; looking for clipping problems, exploits, visual bugs, performance issues, prop fades, etc etc.

I would strongly recommend against making huge sweeping changes to the map at this time. You need to have a final deliverable map for Valve at the end of this period.

Valve does give mappers a lot of latitude to publish updates and bug fixes; however you do not have any control over when that happens. You should assume that after your intial upload to Valve; you will not have a guarantee to get any changes into the map in a timely fashion. Valve tends to collect/bundle updates and release them all at once. Mappers have reported waiting months for their map update to finally get shipped.




Useful commands for bug hunting​


All of these require sv_cheats 1

CommandDescription
r_drawclipbrushes 1Shows the outline of all clip brushes. This does not include blockbullets.
vcollide_wireframe 1Shows the phys mesh of all models on the map.
mat_wireframe 1Helps to show what is being drawn at any given time. Helpful for debugging areaportal or visleaf occlusion
hurtme -10000; impulse 101Useful for rocket / sticky jumping, gives you a massive overheal and also reloads your ammo.
foguiAllows you to quickly edit your fog settings to dial them in just right
ent_fire func_door openForces all func doors to open. I use this to check respawn visualizers and check for collision into spawnrooms.

r_dispbuildable; r_dispwalkable
Shows you displacement collision. Useful for finding bugs related to getting out of the map or pixel walks or unexpected building locations
developer 1; soundscape_debugWill draw the location of your soundscape probes so you can easily see how they are working.




Additional files / Info to provide Valve​

Vote Icons​


At the end of every casual match; players are presented with a vote menu for which map to play next.

Screenshot_2-2.png


You will need to provide an image for Valve to use for this menu. This just needs to be something that represents the map in a small size; could be a simple map screenshot of an iconic part of the map, or the map with a mascot on it.

menu_thumb_pd_galleria.png


Here is what the icon from Galleria looked like.

Note that the bottom white space here is cropped in the final version. Commonly people draw funny things here as a little easter egg.



This needs to be saved as a vtf in materials/vgui/maps/menu_thumb_<mapname>.vtf

The VTF itself needs to be 128x128, no mipmaps and compressed using DXT1.




Menu Photos​


Menu photos are a way to preset a first impression of your map!

300px-Menu_photos_ctf_2fort.vtf.png


Here is an example of menu photos from 2fort. Note the padding on the right side of the image. This is needed because these are intended to appear on the chalkboard.

Refer to the VDC guide for this:
https://developer.valvesoftware.com/wiki/Adding_Menu_Photos



This needs to be saved as a vtf in materials/vgui/maps/menu_photos_<mapname>.vtf

The VTF itself needs to be 1024x1024, no mipmaps and compressed using DXT5.




Map Stamps​


Backpack Stamp Galleria.png
Backpack Stamp Farmageddon.png
Backpack Stamp Sharkbay.png
Backpack Stamp Rumford.png


Valve has their own process for creating these; however we should provide them with the screenshots they need.

Screenshot_3.png


I go in game and take 2 screenshots for the map stamps; a primary and secondary.

Helps to run these 2 commands to get a clean screenshot:
cl_drawhud 0; r_drawviewmodel 0



Place these screenshots in your asset bundle under a folder called "press_kit". Name them "map_stamp_primary.png" and "map_stamp_secondary.png"




Nav Mesh​


Valve will ask you to produce a nav mesh. This is as simple as loading up the map and doing the nav_generate command. It will drop a .nav file for your map in your tf/maps folder; you just need to include it in the bundle mentioned eariler.




Strange Map Filter Name​

Screenshot_1-2.png


Did you know Valve will let you pick a strange filter name? Pretty cool!

You will just include it in the email you send back to Valve.
Here is a list of existing strange filter names: https://wiki.teamfortress.com/wiki/Template:List_of_strange_filters

Note: Valve may veto the name; be prepared with alternatives




Rad File​


Did you know that Valve will accept a .rad file?! Just include it in your zip and tell Valve about it. If you don't know what these are, they're basically a file to provide additional information to the vrad compile.

For more info check out the RadShadowMan tool: https://tf2maps.net/downloads/radshadowman-forcetextureshadow-generator.9151/




Contributor List​

contriblist.png


Ever wanted to see your name right there on the loading screen?! Now you can!

Included in your email should be a list of the contributors. You can choose to use your real name as we did on Galleria but if you prefer not to; you can use your username instead. The wiki editors will also use this list to credit you on the map's wiki page!




Deciding on how to split up credit​


This is something I hesitate to dictate on how to do; however I'll give a few thoughts on how you could proceed.

First off, everyone credited on the map will need to mutally agree to everyone else's percentage for it to be able to submit to Valve (there is literally a page that requires all members to sign off). Obviously the number breakdown will need to add up to 100%.

Typically the main mapper (i.e. the person who did all the work in Hammer) gets the majority share of the credit given that they did the majority of the work; however this may not be the case with reskins or extremely custom asset heavy projects.

Things to consider for %'s:

  • Bespoke hero props should carry more weight than generic assets
  • Consider the time and effort investment of the contributor
  • Consider how critical the asset is to the map; could this asset be easily replaced should this person be unwilling to negoiate their %?
  • This should be credit for work already done; not work that one plans to do in the coming days before publishing

Ultimately it is up to you and your contributors to negoitate this between yourselves.




Publish Time​


As I stated eariler; you should consider your first upload of the map to Valve as a final delivered product. You will have the opportunity to send updates to the map but there is no guarantee when Valve will decide to pick up that update. On Farmageddon, we had a small bug fix that didn't get published for over a year.

In the second email you recieved from Valve, it will include instructions on how to upload your map. Basically you will create a private steam workshop submission and that is how you will send Valve your files. This should be a zip of the asset bundle we talked about eariler in this post.

IMPORTANT: There is currently a bug with Steam where when you publish an update to a private workshop submission it automatically becomes public. You have to go to the steam page and set it to private again manually.




Email Template for Valve​


Personally I like to include an email to Valve after our first upload, that contains all the details for the map in a single place. Feel free to use this as a starting place:

Code:
Hey Eric,

The files have been updated at: <insert private steam workshop link here>

Additionally, we would like the filename of the map to be "<your_map_name_here>", and the name that shows up in the entries such as the loading screen should be "<your_map_name_here>".

We would like the Strange Filter name to be "<strange filter name here>"

We have also added some icons and photos we would like to use for the UI elements:
- Casual Mode vote icon: materials/vgui/maps/menu_thumb_<your_map_here>.vtf
- The Loading Screen photos: materials/vgui/maps/menu_photos_<your_map_here>.vtf
- Map Stamp Photos: press_kit/map_stamp_primary.png & press_kit/map_stamp_secondary.png

Here are additional files that will need to be packed:
- Soundscript: "/maps/<your_map_here>_level_sounds.txt"
- Particle manifest: /maps/<your_map_here>_particles.txt"
- Soundscapes: "/scripts/soundscapes_<your_map_here>.txt"
- A rad file at the top level of the files: <your_map_here>.rad

The contributors listed for the credits section should be as follows:
- <Contributor List Goes Here>
    
Please let me know if there's anything else you need from us.

Thanks!

Continue reading...
 

Yrr

An Actual Deer
aa
Sep 20, 2015
1,319
2,761
Each contributor needs to respond to this initial email individually. A simple, "Yes I accept" will suffice.
Technically this isn't necessary, I responded on behalf of my team on Crasher as the single point of contact.
(It is a good idea to make sure everyone is on board before accepting though, but everyone will have to accept the revenue share before it can be shipped anyway).

Vote Icons​

Map Stamps​

These are also not necessary, as valve historically create these themselves, but they are something that people have taken to providing themselves more recently (like with strange filter names).
 

ics

http://ics-base.net
aa
Jun 17, 2010
843
554
Just to add to this, what you need is to submit all the map files within the bsp, map vmf itself and preferably nav file. This is the bare minimum. Follow the email you get.

If you dont know how to create the rest or cannot do it, dont stress it. Valve creates the files anyway like the map images, vote images, stamp images and such.