Custom-ish control point system. Need help!

Discussion in 'Mapping Questions & Discussion' started by Geal, Aug 16, 2009.

  1. Geal

    Geal L4: Comfortable Member

    Messages:
    162
    Positive Ratings:
    56
    Okay, so I made this map with a custom control point system. How the map works is that there are 5 control points - two belonging to red (REDA and REDB), two belonging to blu (BLUA and BLUB) and one neutral, locked point in the center. The first team to cap the middle point wins. To unlock access to the middle point, you need to cap the two points the other team controls. It's basically the goal of Gravelpit mixed with the 5-point style of Granary.

    To make things more interesting, I made it so that when a point is capped, it locks. However, you can unlock it by capping the corresponding point belonging to the enemy.
    Example:
    Red caps BLUA, and it locks. If blu caps REDA, neither point will be locked. Blu can then go ahead and recap BLUA, and then REDA will lock - and BLUA will be unlocked still.
    I added this to try and make the game more dynamic, and to add more strategy. However, this brings up an issue when trying to defend points. The logic I used to set up the point capping system makes it so that oftentimes points can't be capped. Here's the logic I have setup:

    BLUA:
    blu needs redA to cap
    red needs no previous point (points to self)
    BLUB:
    blu needs redB
    red needs no previous point (points to self)
    REDA:
    red needs bluA
    blu needs no previous point (points to self)
    REDB:
    red needs bluB
    blu needs no previous point (points to self)
    Center Point:
    red needs bluA and bluB
    blu needs redA and redB

    Oh, and I also used 5-point CP gameplay for the tf_gamerules and for the team_control_point_master. Due to this logic, teams can't defend their own points unless they control the enemy's corresponding point, and neither team can defend the center point unless they control the two points the belonging to the enemy. The obvious easy way out is to make it so points just permanently lock when capped, but then the issue with the center point still exists. I'm not entirely sure how to fix the issue while keeping the same point capping system, so any help would be appreciated.

    Thanks in advance for the help!
     
    Last edited: Aug 16, 2009
  2. J4CK8

    J4CK8 L11: Posh Member

    Messages:
    820
    Positive Ratings:
    223
    I think i understand what you're saying...maybe. The cp entities for the first 4 doesn't seem hard, the thing I think will be a problem is when the final cp is unlocked, any team can cap it.

    Is the tf_gamerules neccesary? If that's ruining the ability then try without it. I could try and do a prefab setup tomorow to try out some diferent styles and try to get it to work.
     
  3. Garner

    Garner L4: Comfortable Member

    Messages:
    154
    Positive Ratings:
    38
    Logically, it sounds smiliar to gravelpit, just with more contol points and both teams attack and defend rather than just one team. So it becomes a gravel pit layout (5 cp's) with a 2 team gravel pit system.

    Im tired, so i'll try and see if this is possible in hammer when i wake up =]
     
  4. Geal

    Geal L4: Comfortable Member

    Messages:
    162
    Positive Ratings:
    56
    I used the 5 CP setup from the game entities library posted here a while back. to get started, then just edited things around to work as I liked. The tf_gamerules is mostly there to give the teams goal messages when they join. Especially since it's a bit more complicated than most maps, and players usually skip the briefing board before joining teams.

    You got it! I wanted to make an attack/defend Gravelpit, and came up with this.
     
  5. DrHaphazard

    DrHaphazard L5: Dapper Member

    Messages:
    249
    Positive Ratings:
    12
    A very interesting concept, im afraid most people will fail to grasp how it all works though.

    Just for clarification, Blue does NOT need to own its two points (BluA and BluB) in order to capture the neutral one correct? Defending your own points is simply a way to keep the enemy from capturing neutral?
     
  6. Geal

    Geal L4: Comfortable Member

    Messages:
    162
    Positive Ratings:
    56
    Correct - each team only needs the two points belonging to the enemy.
    I've play tested it with a few different groups, and they caught on fairly quickly.
     
  7. DrHaphazard

    DrHaphazard L5: Dapper Member

    Messages:
    249
    Positive Ratings:
    12
    Edit 2: Ok so im confused again. I'm afraid i dont know what your problem is exactly. I've been able to set up your uh setup in hammer and it seems to work quite fine.

    As J4CK8 noted, it appears on the hud as if teh center point is open to both teams, even when its not in actuallity, but other than that everything appears to be fine. The only thing i can fathom is to somehow place an overlay over the icon once some team has it available for capture, but I don't know of any way to do that.

    Well if you wanna check my work here's the test map i threw together...

    http://forums.tf2maps.net/downloads.php?do=file&id=2208

    Everything seems to be in working order except the problem J4CK8 noted.

    EDIT 3: well damnit, i uploaded the bsp instead of the vmf, wont let me change it.
     
    Last edited: Aug 17, 2009
  8. Geal

    Geal L4: Comfortable Member

    Messages:
    162
    Positive Ratings:
    56
    It's not a HUD problem. It's the fact that teams can't stop others from capping certain points. For example, if the enemy team has your points but you don't have theirs, they can cap the middle point. however, standing on it while they are won't block the capture.
     
    Last edited: Aug 17, 2009
  9. DrHaphazard

    DrHaphazard L5: Dapper Member

    Messages:
    249
    Positive Ratings:
    12
    Bah was out all day today. I now see what you mean, having tested the map with bots. This is very strange to me, not sure why that is so. I suppose you could always create two extra trigger areas that disable the capture_area if the opposing team is inside.

    Too tired to investigate tonight, maybe ill try something tomorrow.
     
  10. Geal

    Geal L4: Comfortable Member

    Messages:
    162
    Positive Ratings:
    56
    Okay, minor update.

    You mentioning triggers made me think of double checking the ones i have setup now, and using a system of outputs i managed to get all four normal points to behave how I want.

    However, the main point is still an issue, as stated in the example I gave above.
     
  11. DrHaphazard

    DrHaphazard L5: Dapper Member

    Messages:
    249
    Positive Ratings:
    12
    Would be interested to know what small tweaks you made if you have time to describe them.

    In any case though, how bout this.

    You create two triggers exact same size as the center_capture_area
    You make those triggers team specific using 2 filter_activator_tfteam entities

    Set outputs for center_capture_area
    OnStartTeam1 enable blue_stopcap(name of blues trigger)
    OnBreakTeam1 disable blue_stopcap
    repeat for Team2 and red_stopcap

    Set outputs for blue_stopcap
    OnStartTouch disable center_capture_area
    OnEndTouch enable center_capture_area
    repeat for red

    Again I am away from my hammer computer but it seems like that solution might work. Now it probably wont be exactly perfect, it might look like the attacking team has started capping for a fraction of a second until the trigger is fired up. Also i dunno if the trigger will recognize players standing in the trigger when its enabled. Wish i was home to test.

    Let me know if this helps at all.

    Edit: changed the outputs for stopcap
     
    Last edited: Aug 19, 2009
  12. Geal

    Geal L4: Comfortable Member

    Messages:
    162
    Positive Ratings:
    56
    Sorry it's taken me a while to reply, been busy.

    Anyways, I edited the current trigger_capture_areas so that the owning team can't capture right off the bat (red is set to NO on red points, blu is set to NO on blu points). I also added outputs to each trigger, telling the opposite point to allow the capping team to cap that point. Uhh...okay, I explained that weird, lemme write it out. I'll use red cap B as an example:

    OnCapTeam1: bluB_cap_zone: SetTeamCanCap: 3 0
    OnCapTeam2: bluB_cap_zone: SetTeamCanCap: 3 1

    I did these outputs for all four of the A/B points, but referencing the correct points. This makes it so if blu caps red B, it will cap and lock, and unlock their ability to cap blu B - which if they already own, will change nothing, and will allow them to cap it should red have it already. Since blu B has the opposite outputs, if red had already capped blu B, then red B will not lock upon being capped, since capping blu B sent an output to red B to allow red to cap.

    I also changed all of the team_control_points so that neither team had any requirements to capture the points.

    I haven't had any chance to fiddle with the middle point yet, though.

    Edit: I forgot to add, it does show it capping for a fraction of a second before getting blocked, like you said.

    Edit 2: tried setting up what you suggested. Didn't work. Double checking to make sure i have everything rigged correctly.
     
    Last edited: Aug 20, 2009
  13. FlavorRage

    FlavorRage L4: Comfortable Member

    Messages:
    197
    Positive Ratings:
    57
    Wait, couldn't one team just sit on the center point and then give up their two points without a fight to unlock the center, and then win? Or does it only unlock for one team at a time?
     
  14. Mexican Apple Thief

    Mexican Apple Thief L3: Junior Member<br>LEAD FARMER

    Messages:
    345
    Positive Ratings:
    60
    It's kind of dumb to capture the two points on the other side before the center. The center's closer after all, unless you spawn in enemy territory, in which case the first two points would be impossible to defend.
     
  15. Geal

    Geal L4: Comfortable Member

    Messages:
    162
    Positive Ratings:
    56
    It only unlocks for the team that capped the enemy's points. Didn't I explain that?

    This is all based on how clever the map layout is, and your personal preference, isn't it? I've done some map testing, and no one even really noticed what you pointed out.