[Tutorial] Control Point Race "cpr_"

Discussion in 'Tutorials & Resources' started by temion, Aug 18, 2009.

  1. temion

    temion L2: Junior Member

    Positive Ratings:
    Control Point Race


    This is a fairly unusual game play modification based on standard control points. The goal is fairly simple: the 1st team to capture 3 of the 5 control points wins. Control points must be captured in order, but cannot be taken back once captured, in addition there is no requirement to capture aside from the point being active. Or rather, blue can capture the current point even if red captured the previous 2.

    [​IMG] [​IMG]

    [Download Control Point Race]


    Before anything else, this mod creates a problem for mappers. Simply put, faster classes can reach points without the damage of slower classes to hope to stop them (aka, scout rush). Because of this mappers need to implement ways to allow all classes to reach a point at the same rate, or at least allow the slowest to reach the point before it is captured by the fastest.

    (Hint: Surf and Balloon Race work "out of the box" with this game mode as both give almost no class advantage in speed. Ramps and boats move players at the same rate regardless of class.)

    - This can be done in a number of ways. the first and easy solution is to Simply cut off access to areas of the map with func_brush brushes or prop_dynamic props that will disappear once a control point is captured. This allows nearly everyone (assuming the distance between points isn't too far) to catch up to a point before it is captured.

    To do this for a prop_dynamic OR a func_brush you will need to name your props/brushes according to the point they are opening up. If, lets say, you have 3 props you need removed to open the path from control point 1 to control point two, name your props "door_cap_1" and add the following outputs to the trigger_capture_area named "triggercap1"

    OnCapTeam1 : door_cap_1 : Disable : 0.00 : Yes
    OnCapTeam1 : door_cap_1 : DisableCollision : 0.00 : Yes
    OnCapTeam2 : door_cap_1 : Disable : 0.00 : Yes
    OnCapTeam2 : door_cap_1 : DisableCollision : 0.00 : Yes

    For the sake of simplicity here, set your props to have shadows disabled from the start. If you really need it to cast a shadow, however, add 2 more lines with the target input "DisableShadow", one for each team (note: this is required for brushes). Repeat this process for the rest of the control points altering names and triggers in order.

    - Another solution is to place Spawn points around/near control point #3 (hopefully not to plain sight of each other). What this will do is allow the fastest classes to capture point 1 on their own, while backup from both teams (heavies) are battling on point 2. With spawn points sitting closest control point 3, the critical point can be protected. more easily by slower classes.

    - An additional solution is to have spawn houses on each control point and have spawn points move up to current point when it becomes available. This keeps the distance you have to run to a CP consistently short so slow classes can reach the point early. It is recommended however that you allow a way for the capturing team (the survivors) as quick access to the control point as the losing (and now respawning) team, for balance. You can use the prop/bush method mentioned above to aid in this

    - And lastly, my final recommendation is to use this mode for Surf and Balloon race maps. Simply put, there is no mess with these two types of play, and generally speaking existing maps can quickly swap in these entities to transform that map into a successful CPR map. This mod was designed with Surf and Balloon race in mind, so it is a natural transition.

    So that is the short and skinny of control point race. If you decide to use my game mode, I simply ask that you give credit to me and this mod when you publish it. Happy racing gentlemen! :)
    • Thanks Thanks x 1
  2. Garner

    Garner L4: Comfortable Member

    Positive Ratings:
    Very nice :D

    You could implement a keyvalue (like in koth) named unlock_timer X and replace X with the amount of time you wish all control points to stay locked for. This will enable all classes to battle it out for a while and take up positions on the map to hopefully push and take some CP's.

    In reality, it doesnt matter is either team own 2 of the 3 required (the 2 closest to their base) because most of the action will happen at the centre point. So really mapper dont need to implement ways of certain classes keeping up with scouts (unless you can rocket/sticky jump over bulding) because with the unlock_timer active mapper can effectvely create unbiased maps in terms of layout and the use of fast classes like the scout.

    cpr_ is a great idea, i like the concept and i hope i have helped somewhat to your class problem :D