Single point TC?

Discussion in 'Mapping Questions & Discussion' started by CJLJ, Aug 22, 2008.

  1. CJLJ

    CJLJ L1: Registered

    Messages:
    26
    Positive Ratings:
    10
    Arena mode has confirmed what i've been thinking for a while; territory control would be a lot more fun if the teams were fighting over some neutral ground instead of trying to get through a narrow choke point with half a dozen sentries and a fresh respawn wave on the other side.

    To be clear, i am trying to make a territory control map where each round has just 1 control point in the middle that both teams must capture to win the round. I've done some testing and found a couple of problems that i was hoping some more experienced mappers could help with.

    1) Once all the rounds have been played once the team that wins the final round gets a point and the map resets. Since there aren't 2 points linked together it never goes back to other rounds until a team owns all the points. I have no idea how to fix this apart from hiding a second point under the map that switches teams based on who won the last round. In theory this would keep the game going until all the points are owned by one team. It doesn't seem like a very elogant solution though.

    2) How to ensure that the winning team doesn't have to defend their territory after winning the previous round. If i do end up using the hidden control point then this won't be a problem, but if there is a better fix for the first problem then i would guess that i would have to cahnge the round priorities based on the current owner of the round's related point. Is this possible?

    3)How to define the spawn points to use for each round. At the beginning of each round nobody will own the control point and the other points in play won't be linear so i can't use the Associated Control Point keyvalue. I currently have logic relays for each round that enables the desired spawn points at the start of a round and disables them at the end of the round, but this doesn't seem to work as i often spawn in the wrong place.

    Any help with any of these problems is appreciated.
     
    Last edited: Aug 22, 2008
  2. drp

    aa drp

    Messages:
    2,251
    Positive Ratings:
    2,551
    weird i was thinking the exact same thing. i think tc should be done like this now. small arenas instead of cp points.
     
  3. laghlagh

    laghlagh L6: Sharp Member

    Messages:
    391
    Positive Ratings:
    52
    Though I can't help you, this is a good idea that I support.
     
  4. Shmitz

    aa Shmitz Old Hat

    Messages:
    1,129
    Positive Ratings:
    740
    Someone had this idea once before. I came up with this diagram on how it could be done:

    [​IMG]

    The purple dots are the spawn rooms. The green ones are the control points. Red and Blue would be the final bases.

    EDIT: Now that I think about it, one problem with the above diagram is that it would require hidden CPs for the spawn room locations, which would end up being 11 CPs, and I'm not sure the engine can handle that. This is if you wanted to use associated control point to define rounds and spawn locations. It could still work just manually enabling/disabling, but as you've already discovered that can be a bit buggy.
     
  5. FaTony

    FaTony Banned

    Messages:
    902
    Positive Ratings:
    160
    1st of all, check my arena_hydro. Works briliantly with 2 cps.

    Secondly, 1 cp tc arena will require 8 cps (2 bases, 4 main, 2 diagonal) so overview map can fail. The solution is: if all cps are owned and some team wins - losing team losts 1 cp - it becomes neutral, and next arena starts there.

    Thirdly, u'll have to make 2 hidden spawnrooms fully covered by trigger teleport and dynamicly switch target destination of it, so it would teleport players to appropriate spawn.

    Fourthly, i'm looking for someone like you to collab with tc arena. I can be reached at http://steamcommunity.com/id/FaTony

    Thanks and have fun!

    Dammit shmitz! I was typing!
     
    Last edited: Aug 22, 2008
  6. CJLJ

    CJLJ L1: Registered

    Messages:
    26
    Positive Ratings:
    10
    So I tried using the ghost CPs and it sort of works. The game no longer ends after going through all the round once, a team has to own all the areas. However, once a team owns a point it never goes neutral again so they can't capture it if the round is played again. I have the team_control_point_round entities set up with the output OnStart->cp_a->SetOwner->0 but that had no effect. I was wondering if it just didn't let you revert a team back to no caps in a round so i tried setting up two ghost CPs so the rounds would go y-A-z, and at the start of a round y would always go red, A neutral and z blue, but none of them changed.

    Am i missing something? Do CPs just not accept SetOwner inputs as the rounds start? The ghost CPs are changing to whoever caps the in-play point using SetOwner outputs fine. I don't understand why they won't change as a round starts.
     
  7. TheBladeRoden

    TheBladeRoden L7: Fancy Member

    Messages:
    491
    Positive Ratings:
    165
    I found in my own trials that CP's don't accept changeowner commands after one round is won and before the next round begins.
     
  8. FaTony

    FaTony Banned

    Messages:
    902
    Positive Ratings:
    160
    So u should fire that input after a delay! :)
     
  9. Altaco

    Altaco L7: Fancy Member

    Messages:
    485
    Positive Ratings:
    121
    It could be made to work like this:

    [​IMG]
     
  10. CJLJ

    CJLJ L1: Registered

    Messages:
    26
    Positive Ratings:
    10
    Yeah i found out this was the problem. The round doesn't actually start until the 5 seconds at the beginning of a round where you can't move have elapsed. I just stuck a 5 second delay on it and it works great. The only problem is that you can see the previous colour of the point on the HUD during the 5 second HUD, but that's just a cosmetic thng so i'll come back to it later.

    Right now i'm trying to solve the spawn problem. I've figured out that the logic_relay is enabling and disabling them, but because you are spawning at the same time as they are being enabled so it just puts you at the spawn from the last round. Is there a way to delay the initial spawn or force everyone to respawn? If i can just delay or force a respawn by 0.1 seconds it would be fine. If this isn't possible i will set up another spawn in a black box with a trigger_teleport like FaTony suggested.

    For the actual layout, i'm going to stick with the x number of central areas then a final assault on the enemy base once all other areas have been captured. I'm going to make all the areas self contained and symmetrical though to keep things fair.