Howto: Releasing a Map.

Discussion in 'Mapping' started by Omega_K2, Mar 30, 2009.

  1. Omega_K2

    Omega_K2 Member

    Messages:
    343
    Likes Received:
    0
    Trophy Points:
    0
    Latest Version here: http://wiki.empiresmod.com/index.php?title=Releasing_a_Map

    Almost every, if not every, empires map that has been released has some drawbacks in its release. I'd like to see some quality releases not just "random stupid" releases.
    (as a side note, devs need to work on their way how to release mods, too. Just look at 2.23 ;) - missing gameinfo.txt, maps in server release that shouldn't be there (emp_glycenplains))

    Please follow these steps:

    1. Create your map
    2. Think about naming of your map. A map name usually consists of 3 parts, prefix(es), the namename and suffix(es).
      While there are no strict rules on naming, you should have a look at the following guidelines for determining how to name your map:
      • Prefix(es)
        You should use something to represent the game type played. As of now empires maps don't follow these convetions, however tagging a map as emp_ctf_mapname (for example) makes clear which gametype is run on the particular map.​
      • Mapname
        I encourage you not to add your own (nick-)name to the maptitle because it makes the mapname senselessly complicated in the most cases (If you are afraid of copyright theft or anything like that, put your name into the map in several places (brushes, models, decals, descriptions) and protect your map against decompiles.).
        Apart from that you should stick to a short and meaningful title dedicated the style of the map (For example: emp_isle takes place on an island). Also you should try to use real words instead of random characters ("Wrong" example: emp_roflwtf!BBQz3).​
      • Suffix(es)
        The suffix of a map should be related to the map's version. The first part of the suffix should represent the current state the map is in (for example, Alpha, Beta or "Release Candiate"). The 2nd part should be the curret release number (according to its state).
        Here is a list of the Suffixes I recommend to use:
        • prealpha
          This should be used on a very early release. A Pre-Alpha shouldn't be released unless you want to preview your map. In addition, a pre-alpha usually lacks most of the maps planned feature and is not intended to be playable.​
        • a or alpha
          Alphas are early releases, it should be avoided to release alphas. Alphas can be playable (but don't have to) to a certain extent, but it is likly that they contain many bugs or are quite imblanced. In addition, alphas lack many features planned for newer versions​
        • b or beta
          Betas are early releases. Betas are playable, but are still unblanced, bugged or not feature complete.​
        • rc
          RCs (or Release Candiates) are pre-final releases to sort out any remaining bugs or issues. These should be optimised and feature complete.​
        • final (or no suffix)
          Final maps are really final; they are thoughly tested, feature completed and all bugs have been sorted out. Usually it means that you stopped working on the map aswell and that there are no future versions.
          Personally I recommend not to use a tag if you intend a map release to be final.​
        • fix (special case)
          fix suffixes should be used the map release a small, but required release to remove game-breaking game bugs or imbalances. This suffix should be added in addition (for example: emp_mymap_b4_fix).​
        • v2, v3, ..., vn (n being any number)
          You should use a vn tag if you deceided to continue work on a previously final map - or if you intent the release to be an alternate version of your map (you might want to use emp_mymap2 instead). However personally I dislike seeing this unless it's really required.​
        There are more suffixes to be used, however I recommend avoiding complex version numbers as these over-complicate your map name (examples: emp_mymap.005, emp_mymap_v1.00.005).
        Using these kinds of complex version numbers rarly makes sense on a map as it's unlikly to reach hundrets of map release - if you really pump out a new release every day, you should think about doing less (less is more sometimes ;)).
    3. Test your map for consistency:
      • Get rid of EVERY single compile error. They are there for a reason.
        Helpful for explaining errors: http://www.interlopers.net/errors/
      • Get rid of EVERY single console error. They are there for a reason, aswell.
        A very common error is:
        SOLID_VPHYSICS static prop with no vphysics model! (<modelname>)
        You can fix this by changing collisions of the partical prop_static to bounding box or no collisions
      • VERY IMPORTANT: Fix Leaks
    4. Make sure you optmised the hell out of it
      Make sure to use areaportals, occluders, hints, Func_details & fading where possible.
      Further reading on optimising:
      Valve Developer Community
      A quite good guide on optimsing
    5. Test your map for consistency & possible ingame exploits (and fix them)
      Send your map to your friends and let them look for errors or possible problems​
    6. Do a final compile!
      • Full VBsp
      • Full VVis
      • Final VRad LDR
      • Final VRad HDR
    7. Open your map and create cubemaps with buildcubemaps command
    8. Make sure everything works as it should, check for errors
    9. Bspzip your custom content into your map
      Why should I do this?:
      • You never need to put bspzipped file into a .res file.
      • These files can't be forgotten to be included in a zip file.
      • Other mappers can't use bspzipped files UNLESS they extract them from the map. This prevents using custom textures if you don't want to (-> incase you don't know its custom, but some other map added it to your materials folder)
      • Drawback: Your mapsize increases and you can't use possibly existent content from older maps
    10. Check your map for consistency again
      Some custom bspzip tools might damage the map. You should check it to be 100% sure it works.​
    11. Create/check your .res file incase you created one
      Pros:
      • Better way to use content that is shared on many maps (skyboxes for example); this also saves space compared to bspzipping, but only IF its used on multiple maps
      Cons:
      • Large .res files are hard-to-read and quite messy. Its possible to get lost (and missing some files)
      • Every item in a res file needs to be deleted manually by the user/server admin incase they want to remove the map complety
      • Every item needs to be compressed for fastdownload on a server seperatly
      • Incase a file is removed from server/user's empires folder it may cause problems with another map which uses the file
    12. Compress EVERY BIG (>100kb) file that will be released with the map in bzip2 format (using ULTRA compression power)
      As I am a server admin myself, I know how freaking annoying bzipping 60 files can be. Every half-way decent emp server uses fast download for custom content; using compressed files decreases download time dramatically.
      Also, this will decrease a "Do not want to put on server" barrier because it decreases the work for the server admins. You have this work once, but it reduces the work for the server admins on the sixteen emp servers currently out there.

      [*]Create a map achieve (Only zip needed file & readme. NEVER EVER put screenshots in your zip) in a commonly used format (Zip, Rar or 7z)
      I recommend 7z (Download) because it has the highest compression which reduces the downloadsize for the map achieve (not every has a over-9000 Mbit connection)​
      [*]Delete every map file in your Empires folder (make sure to backup!), unzip your achieve and copy it over.
      [*]Test your map for consistency again and try to fix your achieve
      [*]Send the achieve to your friends and let them check it, too
      [*]Take good screenshots (set your game to the max gfx settings)
      I personally recommend disabling anything not-map related such as gui, etc. To do so, type the following in console:
      1. cl_drawhud 0 (disables HUD)
      2. net_graph 0 (disables netgraph - enable it if you want everyone to see your fps, though you mant want to use cl_showfps instead)
      Then go spectator and take the screenshots​
      [*]Upload the map. Try to provide many mirrors and use sites which don't remove the uploads after a while.
      I recommend using fpsbanana since it will automatically upload the map to many mirrors at once.
      Also it might help to boost the mods popularity as fpsbanana is a well-known source for anything related to FPS game, especially source-games.​
      [*]Upload the screenshots. Yet again, try to use sites which don't delete the images after a while.
      [*]Finally announce your map everywhere; provide links to the images & map achieve in your post aswell as a detailed description of the map


    Thanks for reading.

    I might edit this post to improve that guide :P

    Changelog:

    04/16/09 - Added something about naming your map. Hopefully it helps!
     
    Last edited: May 19, 2009
  2. -Mayama-

    -Mayama- MANLY MAN BITCH

    Messages:
    6,487
    Likes Received:
    0
    Trophy Points:
    0
    I dont read the whole post but I refuse to make a final LDR/HDR compile for a beta

    If you set a model to "no colosion" you will get the no physbox error too and you want it :P

    Its almost impossible to find every exploit in an empires map
     
    Last edited: Mar 30, 2009
  3. Omega_K2

    Omega_K2 Member

    Messages:
    343
    Likes Received:
    0
    Trophy Points:
    0
    1. Why? Compile time can be compensated bei WPI compile (which should work for VRAD aswell)

    2. Not as far I know.

    3. Yeah, its hard, but you should try fixing one (clipping (better using invisible because it blocks vehicles too) any areas you don't want the players to go)
     
  4. blizzerd

    blizzerd Member

    Messages:
    10,552
    Likes Received:
    60
    Trophy Points:
    0
    a very good list, maybe the standards will be heightened now in empiresmod :D
     
  5. -Mayama-

    -Mayama- MANLY MAN BITCH

    Messages:
    6,487
    Likes Received:
    0
    Trophy Points:
    0
    WPI is compiling with multiple computers over the internet, right?
    Do you seriously think I cry and beg by other people to help me everytime
    I make a compile??? And as said no HDR and especially not with the
    FINAL option for Beta maps, no one with a brain plays empires with HDR anyway.
     
  6. Chris0132'

    Chris0132' Developer

    Messages:
    9,482
    Likes Received:
    0
    Trophy Points:
    0
    You don't actually have to get rid of all the compile and console errors, many of them can be ignored.

    And bspzipping is not neccesary either, res files work fine.

    Final lighting is not neccesary, because the effects are often negligible on most empires maps, as it only really affects interior areas lit primarily by ambient environmental light.
     
    Last edited: Mar 30, 2009
  7. Jimather

    Jimather Member

    Messages:
    495
    Likes Received:
    0
    Trophy Points:
    0
    And im not going to fix every tiny little thing only to find out that it all needs to be ripped out because of some graphical/compiling/balance/engine/whatever error.

    They are released as betas and things will be improved and added as time goes on.

    When you look at some of the mistakes and errors and downright lazy/poor mapping in some official maps its kind of hard to find the energy to turn it into a shining example of mapping. Not only also for the reasons above, but often the most popular and fun maps are not the ones with the most perfect bsp because most of the time, it actually doesnt matter.

    Empires maps are built for 40 people to play at a time, they also need to be tested by 40 people at a time. Now i would have trouble finding one person online that i could comfortably ask as a friend to test it for me, let alone a number close to how many people need to test an empires map. So its unfortunate but neccessary that it just needs to be kind of flung out there and see what happens.

    Plus, sometimes it NEEDS to to be released sharpish to fix real game breaking problems before everyone writes off the map entirely and admins take it out of rotation etc.

    Don't get me wrong, its overall quite a good and exhaustive guide as to everything that needs to be done, well CAN be done if you really want to perfect everything about your map.

    I just hope you are aware that not every map should/can/need to be polished to quite such a level of perfection on every single release.
     
  8. Kylegar

    Kylegar Specstax Rule

    Messages:
    2,170
    Likes Received:
    0
    Trophy Points:
    0
    Added to the links and resource thread. Can you put this in the mapping section of the wiki?
     
  9. Silk

    Silk Mapper

    Messages:
    3,147
    Likes Received:
    36
    Trophy Points:
    0
    Haha no way! If i have to do that for every release, i'd still be on version 3 of vehicletraining map, and that map alone ;)

    Also full vvis ... emp_bush has almost 50% MORE fps with fast vvis.
    Wasted days trying to figure out what was eating my fps using all sorts of compiling commands. I was pleasantly surprised when i found out i could solve it by having the map compile 200 times faster ^^
    Of course so far (for me) this has only been the case for bush. On all other maps full vvis compiling did not cause a drop in fps ... it just stayed exactly the same as compiled with fast vvis.

    btw people will always find ways to exploit. Lately on bush people are walking over the hills by somehow going right through both the player clips and the invisible walls that i placed on every hill. I don't know how they do it but eventually they'll find ways to cheat.
    Maybe some new release of the game might have screwed things up. I remember when the vehicleclip stopped blocking vehicles. I had to redo each and every map quickly cause people were getting up everywhere with their apc's. Haven't tested it since, it might as well still not work. Now i have to recompile arid, cause since 2.23 it was apparantly preferred that for all maps turrets can not be placed unless you recompile it again and explicitly say they should be allowed. Exploits come from everywhere, a mapper can fix most of them, but certainly not all.
    However ... there's one simple thing that fixes all exploits for all maps : 1 stupid single server rule: exploiting will get you kicked or banned

    I can make 3 versions of a map my way compared to only 1 if i had to test it for every exploit that i can think of, with that 3rd version being a lot less susceptable to cheaters and exploiters than the 1.

    I don't have a server so i have to put it online to test it anyway. I just try to have as many friends in the community as possible so i can get my maps on some server with their help, on a time that the server is nearly empty. If it's playable the admin(s)/owner decide if they'll put the map in rotation or not. I see no problem with that.
     
  10. flasche

    flasche Member Staff Member Moderator

    Messages:
    13,299
    Likes Received:
    168
    Trophy Points:
    0
    i doubt omega meant to have a tester team of 48 ppl setup and test the hell out of a map over a few weeks ... ^^
    guys, srsly ...

    also i can understand his wish for bziped maps ... it seems to take work away from server owners and its not like it costs you days ...
     
    Last edited: Apr 1, 2009
  11. ScardyBob

    ScardyBob Member

    Messages:
    3,457
    Likes Received:
    30
    Trophy Points:
    0
    I don't think this is possible for every alpha/beta release, but it is something good to strive for.
     
  12. Omega_K2

    Omega_K2 Member

    Messages:
    343
    Likes Received:
    0
    Trophy Points:
    0
    I think some people are getting me wrong here; you should try to playtest and removing bug exploits with your firends. I do know very well, that you can not find every exploit here and there, and not every imbalance, but it is possible to sort out many before they even go to the public.
    I know that public playtests can not be replaced by some private test, there is no point arguing about that, however you should try to get your map to it's best before releasing it.

    Also I recommend considering that there just a few maps that will ever lease the beta stage (according to their) and get to something final. Why wouldn't you want high quality betas with full compiles? If it's a quick test release, fine, but if its supposed to be around for longer then 1 day, you really should consider doing a full map compile [and the empires community has been very helpful at comping maps, afaik brutos setup MPI compile and I've been helping compiling with my Quadcore aswell has napalm with his Quad has been].

    @ Silk,

    If you need a place to test your map, contact the www.g4tc.net server staff (or me). I think we can arange a map test for you on a full server.
    I think other servers admins will also want to help you with your map tests.

    Yeah, I will as soon I find some time for doing so.
     
  13. flounder

    flounder Member

    Messages:
    248
    Likes Received:
    0
    Trophy Points:
    0
    I have hundreds of props set to "no collision" and I don't get a physbox error. You only get that error when you set a prop to "use vphysics" and the model is too basic to have a complex hitbox.
     
  14. John Shandy`

    John Shandy` Member

    Messages:
    744
    Likes Received:
    0
    Trophy Points:
    0
    I assume Omega meant archive, as opposed to achieve. Probably just a small typo.

    By the way, there is a benefit to BSPZipping (though I recommend using Pakrat, as it's a bit better & safer from my experiences). Even though you may not mind dealing with the hassle of updating a huge .res file every time you release, packing custom content into your BSP means you'll gain overall shorter download time for all of your content, not just the BSP itself.

    Scenario A - You only gain a benefit of a bz2-compressed BSP for Fast Download (Overall, larger download.)
    Packed inside BSP (Will be bz2 Zipped for Fast DL)
    emp_map.bsp

    Left outside BSP (Won't be bz2 Zipped for Fast DL)
    custom file #1
    custom file #2
    custom file #3
    ...
    custom file #n​

    Scenario B - You gain a benefit of everything being bz2-compressed for Fast Download (Overall, smaller download.)
    Packed inside BSP (Will be bz2 Zipped for Fast DL)
    emp_map.bsp
    custom file #1
    custom file #2
    custom file #3
    ...
    custom file #n​

    Of course, the minimap files (.txt, .vmt, .vtf), and .res files can't be packed into a BSP, but I believe that's known by most all of our mappers here.

    Omega already mentioned quite wisely that if your files are common and not custom, there's no real point to packing them into your BSP - you have to make sure though. For instance, there are some /ica/ textures that used to be included in the Empires installation in previous versions that only veterans will typically have, that newer players (who started with later versions) won't have. Ultimately, privately testing your map on an actual server is best to help knock these things out prior to public releases. That's what several of us here seem to do.

    I can also be contacted if someone wants their map on Nachos and I haven't already put it on there, or if you want it to be loaded, I'll happily set it to the next map on our test server or our regular server.
     
  15. ScardyBob

    ScardyBob Member

    Messages:
    3,457
    Likes Received:
    30
    Trophy Points:
    0
    Shandy and Keef did that for tropicvendetta and made it a better public beta release. Quite a few of us had fun trying to find exploits and glitches. In one of the releases, you could hide inside rocks :)
     
  16. Jcw87

    Jcw87 Member

    Messages:
    1,676
    Likes Received:
    0
    Trophy Points:
    0
    wut? Any file can be compressed into a bz2 for fast download.
     
  17. DrummerX

    DrummerX Empires Tyrant

    Messages:
    1,193
    Likes Received:
    0
    Trophy Points:
    0
    You can not compress the resource file (.txt), the minimap image files (.vmt, .vtf) and you can not compress the config file that some maps use (.cfg) and you also can't compress the res file (.res).

    All other files including the .bsp can be compressed. I strongly recommend packaging all custom content into the .bsp that isn't listed in the files above.

    Would like to add when making your .res file, files names ARE CAPS SENSITIVE. So just be smart and make all your file names lowercase. Also double check that all the file paths are correct.
     
  18. bitchslap

    bitchslap Member

    Messages:
    1,217
    Likes Received:
    0
    Trophy Points:
    0
    i'd highly recommend only bzipping the bsp at most (which is really easy for admins to do) if there is anything else in yer map download that is large then mention it in the readme and let admins make the call on what they want to zip up. Otherwise

    a. it's a pain in the ass that everything is bzipped and u have to open it all up

    or

    b. the download is larger because it includes bzipped files and non compressed ones for ease of installation on servers & the fast download (if they aren't the same, which is typical)
     
  19. Dnst

    Dnst Member

    Messages:
    12
    Likes Received:
    0
    Trophy Points:
    0
    The Download availability is very problematic, why doesnt the Empire team host them on their server? The Dystopia-developers make great work supporting their community.
     
  20. Brutos

    Brutos Administrator Staff Member Moderator

    Messages:
    3,385
    Likes Received:
    0
    Trophy Points:
    0
    A lot of maps are being mirrored on raegquit.com which dizzyone hosts. And Dizzy is our local tyrant who we all love. So don't say the devs don't support the community.
     

Share This Page