[Attept to be a fixed note]Mapping guidelines

Release your amazing Map creations here!
Post Reply
MaestraFénix
Team Member
Team Member
Posts: 2470
Joined: Mon May 10, 2010 11:50 am
Location: Spain
Contact:

[Attept to be a fixed note]Mapping guidelines

Post by MaestraFénix »

(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).

Content:

Your map: How I can map for OC.
  1. : Setting the SDK for OC, information about the OC entities and tutorials.
  2. : What files should you have.
  3. : Information about the map files.
  4. : How to use some Source tools.
  5. : Recomendations.


Posting a new map: The main post, how it should be organized and tips.
  1. : The name of the thread.
  2. : The main post. What I should have in it?.
  3. : Mirrors. What I should pick and how many?.


The comments: How to review and listen the feedback.
  1. : How to make a decent review of a map.
  2. : Listen the feedback, or how to not get mad.




Your map: How I can 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. Keep it short, because it has a limit of 2047 characters.
  • The map in .bsp file (It goes in maps). Make sure it's functional, it doesn't have bugs (or only a little) and properly optimizated. Compile the map at least on normal. And for god's sake, put in it lights (or a better idea, don't release shit maps).
  • The icon of your map. Is the reference image that you can see in the lobby, so you can select it. The size must be 256x256 at the best quality as you can, in VTF format.
  • A thumbnail of your map for the map list in-game server browser. To see how to create one, check this link.
  • In case you need more files, keep it organized in their folders.
  • If you have custom content: Duplicate your files and put them in on separated folders (compressed and uncompressed).
  • In the compressed folder, it must contain all the files, compressed into bz2 format in order it 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).
  • On the uncompressed 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.
. Remember to use Notepad++ or similar programs, but not wordpad, since it screws the file. Make sure you set the codification to ANSI, you will save on space and avoid future problems (UTF-8 without BOM is allowed too).

You can list manually the routes of the files, or you can follow this steps to do it automatically:
  1. Get the Resource Generator from the tool section above.
  2. Put all your folders of your map inside of a folder
  3. Open the Resource Generator.
  4. Click the "Browse" button and go where is the folder with your map.
  5. Select "Specified directory" and at the right, it will appear the folders, with their contents. Select all the files that you use.
  6. Press Generate (in case that you want, check the "Compress into bz2" to save on time, but remember, this will use all of your CPU).
  7. A file called resources.lua will appear at the main folder. Use Notepad++ to open it.
  8. Since this tool was designed for Gmod, replace the following (CRTL+F->replace):

    Code: Select all

    resource.AddFile( 
    with (mind the space after the ( and make sure you replace it with nothing, so it would like the lines as "thing/thing.thing").

    Code: Select all

     )
    with

    Code: Select all

     "file"

    Code: Select all

    --Generated with Kogitsune's Resource Generator
    with

    Code: Select all

    "resources"(here goes a jump line){

    Code: Select all

    "/
    with

    Code: Select all

    "
    (The lines must start like "maps/thing.type" or "models/thing.type", you know, without having a slash before the first part).

    Code: Select all

    /
    with

    Code: Select all

    \
  9. Add under the last line a } to close the list.
  10. For last, save the file as nameofyourmap.res.
If everything is fine, that file will work, saving your precious time.

Remember to add the references to the CFG files, since it looks like it doesn't write them.


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 to 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.
4: How to use some Source tools.
  • BspZipGui

    Homepage: https://sites.google.com/site/softdevdy ... /bspzipgui

    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 compressed and uncompressed folders, and making a .RES file.

    The main advantage that has this tool, is that you only have to especify a folder where are your content, and the tool will recursively adding all the content inside of your map.

    Is easy to use: You only have to indicate the path of your bspzip.exe (For OC, SteamApps/youraccount/sourcesdk/bin/source2007/bin/bspzip.exe), the map where you are going to add or extract content, and the folder where are the content to add, or where is going to be put.

    You must select the main folder where are the content, NOT the folders that are inside of that folder, or it will give problems.

    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).
  • Resource Generator

    Homepage (NONE, only Facepunch thread): http://www.facepunch.com/showthread.php?t=842886

    Alternate mirror: http://www.mediafire.com/?k817lvo8qwfbk82

    Created by Kogitsune, generates a file where lists all the previously selected files of your map. The file is generated in the same folder as the executable.

    This generator was made for Gmod, so you will have to follow the indications posted at the point 1.3 to know how to use it for another Source games/mods. It also can compress automatically all the selected files into bz2 format, on a separated folder.

    Requires .Net 3.5. Even if the last version is from 2012, it doesn't work on Windows 8.
  • Bz2 generator:

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

    This tool is useful for the servers who have FastDL: http://wiki.obsidianconflict.net/?title ... n_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.
  • Recursive BZip2

    (Original thread here).

    Originally by Ace Rimmer, modified by Tesla to add support for recursive compression.

    Simply drop the folders/files you want to compress into the ToBeZipped folder, then run either RecursiveCompress.bat or RecursiveCompressNoKeep.bat (both compress recursively, but the latter deletes the original files as well).

    Get it here.
  • OC modify generator:

    Homepage: http://www.obsidianconflict.net/forums/ ... 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, _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. Is not enforced, in the case is not really needed to change their name).

    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 100mb compressed. 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. Don't 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.
Last edited by MaestraFénix on Tue Apr 22, 2014 8:58 pm, edited 13 times in total.
Click on my photo to add me into your friends in Steam
Image
Steam photos | Steam videos

Image
MaestraFénix
Team Member
Team Member
Posts: 2470
Joined: Mon May 10, 2010 11:50 am
Location: Spain
Contact:

Re: [Attept to be a fixed note]Mapping guidelines

Post by MaestraFénix »

Updated and upgraded the guidelines, following the advice of Fug: http://obsidianconflict.net/forums/view ... 671#p68671

I couldn´t find any info about the merchant.txt and map_name_particle_manifest.txt files, but apart of that, this is pretty much finished.

Again, if you see that i can add something more, tell it to me. Also, i´ll add this to the wiki.
Click on my photo to add me into your friends in Steam
Image
Steam photos | Steam videos

Image
Gary
npc_advisor
npc_advisor
Posts: 1125
Joined: Sun Nov 09, 2008 7:21 am
Location: USA, FL
Contact:

Re: [Attept to be a fixed note]Mapping guidelines

Post by Gary »

Maestro Fénix wrote:I couldn´t find any info about the [...] map_name_particle_manifest.txt files,.
https://developer.valvesoftware.com/wik ... nifest.txt
MaestraFénix
Team Member
Team Member
Posts: 2470
Joined: Mon May 10, 2010 11:50 am
Location: Spain
Contact:

Re: [Attept to be a fixed note]Mapping guidelines

Post by MaestraFénix »

Added to the guideline.
Click on my photo to add me into your friends in Steam
Image
Steam photos | Steam videos

Image
MaestraFénix
Team Member
Team Member
Posts: 2470
Joined: Mon May 10, 2010 11:50 am
Location: Spain
Contact:

Re: [Attept to be a fixed note]Mapping guidelines

Post by MaestraFénix »

Added an example of .RES file (oc_lobby seems to be the only one which you can copy-paste and modify it without any problems), a little explanation about why using Notepad++ or similar, and added this article to the wiki:

http://wiki.obsidianconflict.net/?title ... Guidelines
Click on my photo to add me into your friends in Steam
Image
Steam photos | Steam videos

Image
MaestraFénix
Team Member
Team Member
Posts: 2470
Joined: Mon May 10, 2010 11:50 am
Location: Spain
Contact:

Re: [Attept to be a fixed note]Mapping guidelines

Post by MaestraFénix »

Added a bit of information about Maplist thumbnails: https://developer.valvesoftware.com/wik ... Thumbnails


Goddammit, how i could forgot put it inside of my map?
Click on my photo to add me into your friends in Steam
Image
Steam photos | Steam videos

Image
MaestraFénix
Team Member
Team Member
Posts: 2470
Joined: Mon May 10, 2010 11:50 am
Location: Spain
Contact:

Re: [Attept to be a fixed note]Mapping guidelines

Post by MaestraFénix »

Updated the guidelines by remplacing PakRat for BspZipGui, that is far better, quicker, and free of problems.
Click on my photo to add me into your friends in Steam
Image
Steam photos | Steam videos

Image
MaestraFénix
Team Member
Team Member
Posts: 2470
Joined: Mon May 10, 2010 11:50 am
Location: Spain
Contact:

Re: [Attept to be a fixed note]Mapping guidelines

Post by MaestraFénix »

Updated 04/09/13

Changelog:
  • Added information about the 2047 character limit of the briefing file.
  • Dropped merchant.txt for not finding any information about it (it really exists/can work?).
  • Improved some explanations.
  • Dropped CS:S file system explanation for servers and clients. From this moment it will be used compressed and uncompressed for avoid misunderstandings.
  • Fixed some typos.
  • Updated Wiki and Map Database versions.
Thanks again for all your feedback.
Click on my photo to add me into your friends in Steam
Image
Steam photos | Steam videos

Image
User avatar
TESLA-X4
Former Developer
Former Developer
Posts: 570
Joined: Wed Jul 01, 2009 3:26 pm
Location: $Recycle.Bin

Re: [Attept to be a fixed note]Mapping guidelines

Post by TESLA-X4 »

Maestro Fénix wrote:
Tesla-X4 wrote: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.
Wow, that's awfully brief, I think many would have issues actually trying to do that. I wasn't expecting you to quote me on that, lol. I'll see if I can rephrase it in a way that makes more sense for someone new to the procedure.
Maestro Fénix wrote:
  • Bz2 generator:

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

    This tool is useful for the servers who have FastDL: http://wiki.obsidianconflict.net/?title ... n_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.
Or you could do it a different way and use this utility instead. All one would need to do would be to copy the resources associated with the map into the ToBeZipped folder (preserving folder structure - this is important) and run either RecursiveCompress.bat or RecursiveCompressNoKeep.bat.

Nice to see you're still putting in effort to work on this, keep up the good work. :)
Apparently, Valve can't make games beyond the number 2.
I think the only time we'll get a Source SDK code update is when it starts having purchasable hats integrated, i.e. hatconomy.

Please do not make assumptions you are not knowledgeable enough to make - that just backfires on yourself.
Tick me off, and I'll be sure to give you the golden treatment. Haven't you heard? Silence is golden.
MaestraFénix
Team Member
Team Member
Posts: 2470
Joined: Mon May 10, 2010 11:50 am
Location: Spain
Contact:

Re: [Attept to be a fixed note]Mapping guidelines

Post by MaestraFénix »

Updated 30/09/2013

Changelog:
  • Replaced Tesla odd tip to make a RES file, for the walkthrough to use the Resource Generator with any Source game/mod.
  • Added to the tool list the Resource Generator, as well as the Recursive BZip2.
Thanks again for the feedback.



As a mapper I'm fraking grateful that finally there is a tool to make the RES files automatically that isn't paid or outdated. All those hours writing lines and having errors, all of my feelings...
Click on my photo to add me into your friends in Steam
Image
Steam photos | Steam videos

Image
Post Reply