Mapping Guidelines

From Obsidian Conflict Wiki
Revision as of 19:20, 10 November 2012 by Maestro Fenix (talk | contribs) (3: Information about the map files.)
Jump to: navigation, search

(I write this for make the making and the release of a map more easier, as well as make easier the life of those who want download one).



Your map: How i can make a map for OC

1: Setting the SDK for OC, information about the OC entities and tutorials.


2: What files should you have.

The package where your map lies should contain at least the following:

  • The briefing file (yourmapname_briefing.txt | It goes in maps/cfg). The text that appears in the screen after the MOTD. It contains all the info of the map (mainly the objectives), as well as the credits.
  • The map in .bsp file (It goes in maps). Make sure its functional, doesnt have bugs (or little) and propperly optimizated. Compile it at least in normal. And for god´s sake, put in it lights (or a better idea, dont release shit maps).
  • The icon of your map. Is the reference image that you can see it in the lobby so you can select it. The size must be 256x256 at the best quality as you can, in VTF format.
  • In case you need more files, keep it organized in their folders.
  • If you have custom content: Duplicate your files and put them in to separated folders called Server and Client.
  • In the Server folder, it must contain all the files, compressed into bz2 format in order they can be used with FastDL. The .RES file (that is needed in order to can download all the files) must be there too (but without being compressed).
  • In the Client folder, put all the files without compressing them.

Remember, you only have to include the content that IS NOT STOCK from a mounted game and IS NOT EMBEDDED in the .bsp file. We had in the past problems with some maps which their size was too large for the amount of the content that in fact it had.


3: Information about the map files.

  • .BSP: Is the map file format that Source uses.

You can list manually the routes of the files, or you can do the following:

Method by Tesla-X4: All I do is copy the associated resources to a new folder (retaining folder structure), open up Command Prompt, cd my way to that folder and then dir /b /s /a:-h-d-s > output.txt. After that, I open that up in Notepad++ and do a Find and Replace with extended characters.

Or in case you have problems on the server side (missing downloadable content), take the oc_lobby.res, and modify it to our files. You can grab it from here in case you feel lazy to search it on your obsidian folder.

  • map_cfg.txt: This file text "overrides" the server variables by putting the yours inside, allowing you have a different fall damage in your map for example.
  • map_briefing.txt: Is used for showing in game the briefing of the map, where it explains the story of it, the objectives and the credits. Is shown after the MOTD.
  • map_soundscapes.txt: Is used for use custom soundscapes.
  • merchant.txt: (ToDo: Search information about it).

4: How to use some Source tools.

  • Pakrat:

Homepage: http://www.bagthorpe.org/bob/cofrdrbob/pakrat.html

This tool is used for pack all the custom content inside your map. Is pretty useful when you have a little amount of custom content, and you don´t want lose your time separating your files into Client and Server, and making a .RES file.

Their use is easy: Execute the Java file, wait for the window that ask you for the location of your map appear and left the program work. Then a new window will appear, showing all the content that the map has (if you delete something in this moment, you will corrupt the map, forcing you to compile the map again). You have now two options: Add files, or copy them to your computer.

If you choose add files, a window will appear, asking you where is the file you want to add. After pressing "ok", it will add it to the map. If you choose the save option (after selecting a file of the map first), the program will ask you where you want save it (NOTE: When saving files in your computer, the program will not create the folders where originally the files were. Be careful, you could overwrite some files).

Note: This will raise (a lot) the file size of your map (the .BSP file). Also, it makes it more difficult to the map decompilers work on it (the more content you embed in the map, the hard it will decompile it).


  • Bz2 generator:

Homepage: http://www.bzip.org/

This tool is useful for the servers who have FastDL: http://wiki.obsidianconflict.net/?title=How_to_set_Fast_downloads_in_a_server

The tool generates a compressed file with the .bz2 format. The client only has to download the .bz2 file to use the downloaded stuff because the Source engine automatically extracts it. The files that supports being compressed are the following:

.html .htm .jpg/jpeg .gif .swf .png .bsp .bz2 .wav .mp3 .vmt .vtf .vtx .mdl .vvd .phy .lua .txt

To use it, drag and drop the files (maximum 5 files, their size depends too) at a time onto the .exe file and the program will convert them. A MS-DOS window will open, a signal that the program is working, and it will close when the program ends. If it does not work try dragging less files. It usually depends on the file size as it can only compress so much each time.

When you finished doing the operation, your files must be have in .bz2 format.


  • OC modify generator:

Homepage: http://www.obsidianconflict.net/forums/viewtopic.php?t=1432

Allows you modificate a map with scripts using Hammer.

To use it, decompile the map you want to modificate, and edit it in Hammer. Once you finished, save the edited vmf apart of the original and execute the program. After putting the route of the original and modified .VMFs, press "ok" and the program will generate the file. Copy the result code and paste it in your modify file of your map.

Known limitations/bugs:

  • A brush entity cannot be added.
  • The output of a brush entity cannot be deleted or changed.
  • There is a key which cannot be changed depending on the kind of entity.
  • There is an entity which cannot be added depending on a kind.
  • A template entity cannot be changed.
  • The change of a brush is not reflected.
  • You cant parent an entity to a func brush entity (or to another entity, is unknown).

5: Recomendations.

  • Name your map with the oc_ prefix and, depending of the state of the map, you can use the following suffix:

_alpha, _ALPHA, _a (Used for those maps in Alpha version, gameplay tests).

_beta, _BETA, _b (Used for those maps in Beta version, pre-release tests).

_v (Indicates what version is the map. Generally used from the second edit of the map after their release).

_oc, _OC (Used for those custom maps who comes from another Source games, to indicate that it have been modified for use it in OC).

Also, is common use numbers after the suffix, but also letters (this for indicate that it continues being the same edition, but improved). Example: _b1, _v3j, _a2...

Some maps maybe can contain prefix/suffix like fun_ or _vs. Depending of the game mode, it can be used or not. Is recommended that those maps are called like oc_fun_mapname or oc_mapname_vs.

  • In general, is allowed use content from all the Source games, as long as they can be mounted in OC. Use content from another games, the HL2 leak and such, although is tolerated in theory, it will make your map lose any possibility of become an official map. If you are going to use stuff from another mods or from a person, ASK ALWAYS FOR PERMISSION. The OC DEVs are not responsible of your acts, and, even if it becomes necessary, it will delete the map (although luckly the situation never degenerated until that point).
  • Try dont exceed very much with the size of the compressed map. Unless your main objective is that your map become official, you should keep the size under 60mb. Even with FastDL, it can take a while, making that the players stop downloading and move to another server. Think about it.
  • Is not allowed take an official map from a Source game (like for example, the Dam level in HL:S), modify it and present it. Is tolerated in case you make it with the modify scripts (yourmapname_modify.txt), or if the map is custom (in this case ask for permission).


Posting a new map: The main post, how it should be organized and tips.

1: The name of the thread.

You should called it by the official name that you given it instead of the name of the file. Avoid put names like "A new version of my map X" or "My first map". If you make any relevant change, such like a fix patch or a new version, put it between parentheses, like (FIX NOW AVAILABLE) or (BETA).

Dont make a new thread for every stage of your map (just keep it divided in two, one in the WIP section and other here, in Releases).


2: The main post. What i should have in it?.

The main post of your released map thread will be the first thing that the people will see. Although is not required have it, a banner of your map would be a good idea, as a title. Write all the information as well as all you want to say (as long as is relevant to the map) organized.

The basic information that every released map should have is the following:

  • Author: Self-explanatory.
  • .bsp filename: The name of your map file (put all if the map release contains more of a map).
  • Date of release: It would be ideal to preserve the date of the first version released, in order to follow their timeline.
  • Game Requirements: VERY IMPORTANT. If the server/client doesnt have mounted the game needed, it could be bugs or crashes.
  • Suggested Players: The number of players. Put both minimum and maximum to play.
  • Estimated time to beat the map: This is relative, but try to keep the time that usually the players need to beat the map after know how to play it but without rushing/making tips.
  • Type of the game: Co-op, Deathmatch, Survival...
  • Size: The total size of the files compressed (in Bz2 format, only the server files, not all).

Also, it must have pics of the map, in-game, in order to show it. Without images, the people hardly will download the map.

There isnt an only way to structure your main post. Usually, people prefer to show first the info, a short description and the mirrors of the map. Dont forget put ALL the credits, both here and in the map.

In resume, try keep it clean and clear.

3: Mirrors. What i should pick and how many?.

Avoid upload your files to the sites with low speed like RapidShare, or where the analysis to check it if is secure can make problems like ModDB or FPSBanana (Now GameBanana). Make sure that the download speed is decent (at least 300 kb/s) and that the host will not delete your file.

After uploading your compressed map to the site you wanted, create a page in the Obsidian Conflict Map Database, in order to keep "registered" it. This, apart of help us follow the map progress and update, it will create you a second mirror, in case you only did one. Try always have an alternative mirror or a backup of your map in your computer, in case someday the mirrors gets offline.


The comments: How to review and listen the feedback.

1: How to make a decent review of a map.

Avoid AT ALL COST make reviews like "Thiz map Haz AniMe shit, 0/10 DO NOT PLAY" or "Is the best map ever". The map maker (and the rest of people who want play that map) need a propper review. Your comment should include the bugs, exploits and suggestions that you find/have. Keep have a good spelling. If you add pics of the bugs, it can make the feedback even more useful.

2: Listen the feedback, or how to not get mad.

The feedback, as long as they are made right and politely, should be accepted by you. In case the people critizes the gameplay, dont get angry posting comments like "if you dont like it dont play it", maybe it can help you to make your map better. Try to answer every question that the people make to you the fastest as you can.


In case you think everything has been mentionated, or you think something should be added/changed, post it.