Beginner guide to making zombie escape maps

Discussion in 'Mapping and Modeling' started by Bottiger, Mar 25, 2021.

Thread Status:
Not open for further replies.
  1. Bottiger

    Bottiger Administrator

    Steam:
    This is a basic guide on how to make zombie escape maps. This guide doesn't teach you how to map, only the bare essentials needed to make a working ZE map.

    1) Locate the map editor. On most computers it is installed here:

    C:\Program Files (x86)\Steam\steamapps\common\Team Fortress 2\bin\hammer.exe

    I recommend you download this one instead as it crashes less often.

    https://ficool2.github.io/HammerPlusPlus-Website/pages/download.html

    2) Learn the basics of map editing somewhere else. You can try watching this as a starting point, but there will be many other tutorials covering the editor.



    3) Once you know how to create brushes and triggers, you can start.

    This is a layout of a basic ZE map. All maps are variations of this with extras added on. For example a more complicated map will have more than 2 hold areas or more than 2 hallways. And maybe even a boss or more.

    [​IMG]

    To create a hold area, make a trigger_once that opens a func_door or destroys a func_breakable. If you use a func_breakable be sure to use the flag "Only break on trigger".

    [​IMG]

    4) We recommend that you add a team_round_timer. Zombies will be invulnerable and frozen in place during setup. We recommend you place func_respawnroom on the info_player_teamspawn. You can add an output to team_round_timer that disables the func_respawnroom when setup ends.

    To make a win trigger first make a game_round_win. Give it a unique name, and change the team to "3 - BLU".

    [​IMG]

    Then make a trigger_once at the end of the map that sends RoundWin to the game_round_win.

    [​IMG]

    5) Common Mistakes

    Don't use too many entities. There is a limit of 2048 networked entities per map, and the server will crash if it is reached. There are some entities that aren't networked like prop_static but most of them are.

    Lights and decals also count towards this limit even though the game deletes them shortly afterwards. They can overload the limit at the beginning of the map.

    You can see how many entities are on your map by typing report_entities in your console. There should be less than ~1700 edicts at any point in time if you want it to work on a 32 slot server.

    Placing decals on many entities will also cause a crash. https://www.interlopers.net/tutorials/36716

    OnStartTouch in a trigger_once will activate multiple times unless you set refires to 1. Set refires to 1 or change it to OnTrigger.

    OnTrigger in a trigger_multiple will activate multiple times while the player is inside. Change it to OnStartTouch if that is not intended.

    6) More advanced topics

    Forward spawns:

    As the map gets longer you will want to spawn zombies closer to the humans. You can do this by giving your info_player_teamspawn names and enabling new ones and disabling the previous ones.

    A more efficient way would be to putting a disabled trigger_teleport over the spawn area, and enabling it and changing the destination by either doing AddOutput target dest123, or teleporting the info_teleport_destination with AddOutput origin 123 345 567

    [​IMG]

    AFK Teleporters

    Make trigger_teleports that teleport afkers forward. Make sure they start disabled, and enable them later once a certain area is reached.

    Advanced Features

    https://www.skial.com/threads/skial-zombie-escape-mapping-reference-guide.88106/

    Decompile CS maps to learn advanced features (https://gamebanana.com/maps/cats/8024) with https://github.com/ata4/bspsrc/releases
     
    Last edited: May 9, 2021
    • Useful Useful x 6
    • Optimistic Optimistic x 1
Thread Status:
Not open for further replies.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice