Pre-publication evaluation

From Valve Developer Community
Revision as of 23:49, 29 November 2006 by Ts2do (talk | contribs) (→‎Essentials)
Jump to navigation Jump to search

Mods

Note.pngNote:The following items are numbered to help you keep track of where you are in this process, not as an order for a specific procedure.

Essentials

  1. Confirm that the mod has been built under Release rather than Debug.
  2. Read Steam 3rd Party Mod Support.
  3. Read Customizing Options: Keyboard.
  4. A shared soundcache manifest is built.
  5. A maplist.txt file to base the shared soundcache on.
  6. If you're making a multiplayer mod, create a mapcycle.txt, referencedby the default value of mapcyclefile ConVar.
  7. Delete excess files
  8. Files required for each map are in their places.
  9. Design a default MOTD, or Message of the Day, for the mod in motd.txt.
  10. Implementation for all functionalities desired to be in this release is completed.
  11. Remove source folders (mapsrc, materialsrc, modelsrc)

Excess Files

If one of the following files or directories exist, deletion would make the mod's installation tidier.

  1. demoheader.tmp
  2. stats.txt
  3. textwindow_temp.html
  4. cfg\banned_user.cfg
  5. cfg\banned_ip.cfg
  6. cfg\config.cfg
  7. scripts\kb_def.lst
  8. scripts\settings.scr
    This should be placed in the cfg folder.
  9. bin\client.pdb
  10. bin\server.pdb
  11. Any *.db files that may have collected from image preview resources.
  12. Possibly scene.cache and modelsounds.cache if a lower download size is desired.
    Note.pngNote:These files would require rebuilding by the client.
  13. maps/soundcache/*.cache (do not delete the .manifests)
    Note.pngNote:These files would require rebuilding by the client.
  14. models/.../*.xbox.vtx
  15. SAVE directory
  16. screenshots directory
  17. reslists directory
  18. materials/maps directory
  19. DownloadLists directory
    Note.pngNote:These minor files would require rebuilding by the client.
  20. materials/temp directory

Refining

  1. Read VGUI2 Programming Best Practices.
  2. Encrypt weapon scripts using vice.
  3. Add documentation on mod-specific console commands and console variables.
  4. Include an icon for the mod if desired in resource\game.ico.
  5. Include the FGD for third-party mod mappers.
  6. Encrypt bin\client.dll with Wikipedia icon UPX

Maps

See also:  Releasing a Map

Final compile

  • Examine the compile log to ensure there are no compile errors, you could also use the Interlopers Compile Checker.
  • When you load the map into the game, check the console to ensure there are no errors or warnings.
  • Make sure you have compiled the map with Normal VIS and RAD. Do not release a map compiled with Fast VIS or RAD.
  • Remember to run the buildcubemaps command in the console before releasing your finished product, otherwise reflections will not work properly.

Distributing custom content

If you have custom models, sounds, textures, or materials, you must either:

Using Bspzip to Embed Custom Content, or

  • Add a ".res" Map Resource File to your map release to let the server know there's files that should accompany the BSP when it's downloaded.

If you don't do this, then anyone downloading the map through a server whilst playing will not get your custom content.

Game specific considerations

Counter-Strike: Source

  • Create a ".txt" file with the same name as the map. This text will be displayed to players when the map starts. Lines are wrapped.
  • Edit the bot Navigation Mesh so bots will behave more intelligently in your map.
  • Run the map with only bots playing, 10 a side, and see whether either side has an outright advantage. There is no substitute for human players, but bots will typically show up the obvious design flaws in a map (poorly positioned meeting points, not enough entrances/exits in critical areas, and so on)

Day of Defeat: Source

  • Create a ".txt" file with the same name as the map. This text will be displayed to players when the map starts. Lines are wrapped.
  • Create a level overview material.

The Ship

  • Create a 1024x1024 material (resized from 1280x1024) vgui/map_backgrounds/map_background_<map>
  • Create a 256x128 material vgui/map_previews/map_preview_<map>
  • Create a deckplan for your Ship.