- Dec 28, 2009
- 7
- 0
I've been holding onto this idea for well over a year, and occasionally working on the map I intend to prove it, however while setting up a quick map only for seeing if I can get it to work without a ton of trouble (Seems like it by the way) I've ran into a few issues.
First let me talk about the variant, and the motivations behind the variant. Actually, to save time, I'll just quote an old post from elsewhere about the idea.
Initially I thought that perhaps having 3 points instead of 5 would fix the 5 point CP, as if 2 points are seldomly used than the simple answer is to remove two of the points. However, I believe at some point I played a 3 point symmetrical CP map at random (I can't remember the name) and found it was, in fact, an hour long struggle over a single point instead of 3. Clearly, that was not the answer.
And then it hit me. Timers! They could be used to effectively measure a conflict over 3 points, rewarding teams for being dominant, though not necessarily dominantly so. As soon as I hit upon that idea, the rest came very naturally.
Rules are very simple. There are two timers, and 3 points. The central point starts uncapped, and once it is captured by one team time (Say 20, 25 seconds?) is added to the other teams timer and both start counting down. Capturing all 3 points stops the enemy timer, and capping the center adds 30 seconds from there on out. (If 30 was given on the first cap than, in matches not involving either of the other points, it'd end in either a win by the team who capped it first or a stalemate. Less time means that the team who has the center at the end wins, which I think is better overall.). When one timer ends, I figure there should be overtime, however both timers should stop during this time so that both teams don't win before overtime ends, which would be rather silly.
I originally called this mode Advantage as I believed the act of gaining an advantage over your opponent and holding it was central to the idea (Especially a 30 second advantage - you could lose the center point and still win if you held your base with that!), however since then I've moved to Timeline as I like the suggestion it has that retreat is a viable option, which it kinda is in this mode. However recently I've considered the name King of the Valley to emphasize the similarities to KOTH, while also stressing while KOTH is about holding a hill, KOTV would be more about pushing across a valley and conquering the other side.
Anyway I've basically got it working by going directly to zz_red_koth_timer and zz_blue_koth_timer and giving the pause, resume, and addtime inputs that way, however there are some issues, namely A) the announcer announces the time whenever either timer passes certain times, resulting in repeated dialog when it makes no sense and B) the game does not end for some reason, I suspect going around tf_gamerules has messed that up, probably as it does not check if the clocks are 0 unless they're active as they can be 0 while the other team has their timer running. I believe that inputting Set___ClockActive the game should end would solve that, however still I needed a way to find that time without access to zz_red_koth_timer (which is created by tf_logic_koth)
Edit: Quick check into that (well, I randomly read an explanation of how KOTH wins elsewhere. Same difference) reveals that the timer hitting 0 doesn't finish the game, just unlocks the win condition of owning all the CPs. Well, I suppose when either of the new timers hit 0 it could set all the points owners to the winning team. Course it would have to be smart enough to know if overtime should be in effect. Hmm. Maybe there is just no overtime.
At first, not being familiar with the logic entities until yesterday, I guessed (and hoped) that a logic_timer could serve my purposes. However, it was apparent that did not have the input to pause the clock and resume it where it left off and is more for repeating events. However, then I saw Team Round Clock and realized it was perfect. However a thought occurred looking at the outputs available. If I could use these timer instead of the ones made by tf_logic_koth, many of my issues would be solved instantly. I could pass the "Announce Time" outputs to a logic_branch or two or which checked if it'd already been said by the other team and not say it in that case unless only that timer is running. Actually, come to think of it, I guess that's the only upside, but still I think it's a significant one.
Basically what I'm wondering is if there's any way to force the KOTH HUD to work with custom Team_Round_Timers, and if not if there's any way to stop the timers I can not access from announcing the time at exactly the wrong time. Additionally I'm wondering if there's any way to control which timer the HUD highlights, as it currently just highlights whoever and it'd be nice to be able to highlight the winning team, I assume using logic_compare if Team_Round_Timer can pass its time remaining.
Sorry if it's a bit long, I wanted to explain why I want to make this goofy mode because... it just doesn't feel right to just throw it out there without an explanation. Thanks for reading, and if anyone knows how to use the KOTH HUD without the KOTH timers that would be lovely.
First let me talk about the variant, and the motivations behind the variant. Actually, to save time, I'll just quote an old post from elsewhere about the idea.
So then, the map and the mode. I'll start with the mode. Way I saw it, KOTH has a simple problem, and that it's very static. There's never any place in KOTH where there is a dramatic shift in the action, no place where you say "Alright, I've captured X, now I need to push forward more before they are ready for us" because once you've done X in KOTH you're done, and all that's left is to see how long you can sit. Meanwhile, in 5 point CP maps a lot of games would end up being big long stalemates where two teams would exchange the central 3 points for a half hour until one, by some miracle, managed to push all the way. Way I saw it, most of the conflict was over the middle 3 points, yet it doesn't really contribute to the result of the game in the grand scheme of things.
Initially I thought that perhaps having 3 points instead of 5 would fix the 5 point CP, as if 2 points are seldomly used than the simple answer is to remove two of the points. However, I believe at some point I played a 3 point symmetrical CP map at random (I can't remember the name) and found it was, in fact, an hour long struggle over a single point instead of 3. Clearly, that was not the answer.
And then it hit me. Timers! They could be used to effectively measure a conflict over 3 points, rewarding teams for being dominant, though not necessarily dominantly so. As soon as I hit upon that idea, the rest came very naturally.
Rules are very simple. There are two timers, and 3 points. The central point starts uncapped, and once it is captured by one team time (Say 20, 25 seconds?) is added to the other teams timer and both start counting down. Capturing all 3 points stops the enemy timer, and capping the center adds 30 seconds from there on out. (If 30 was given on the first cap than, in matches not involving either of the other points, it'd end in either a win by the team who capped it first or a stalemate. Less time means that the team who has the center at the end wins, which I think is better overall.). When one timer ends, I figure there should be overtime, however both timers should stop during this time so that both teams don't win before overtime ends, which would be rather silly.
I originally called this mode Advantage as I believed the act of gaining an advantage over your opponent and holding it was central to the idea (Especially a 30 second advantage - you could lose the center point and still win if you held your base with that!), however since then I've moved to Timeline as I like the suggestion it has that retreat is a viable option, which it kinda is in this mode. However recently I've considered the name King of the Valley to emphasize the similarities to KOTH, while also stressing while KOTH is about holding a hill, KOTV would be more about pushing across a valley and conquering the other side.
Anyway I've basically got it working by going directly to zz_red_koth_timer and zz_blue_koth_timer and giving the pause, resume, and addtime inputs that way, however there are some issues, namely A) the announcer announces the time whenever either timer passes certain times, resulting in repeated dialog when it makes no sense and B) the game does not end for some reason, I suspect going around tf_gamerules has messed that up, probably as it does not check if the clocks are 0 unless they're active as they can be 0 while the other team has their timer running. I believe that inputting Set___ClockActive the game should end would solve that, however still I needed a way to find that time without access to zz_red_koth_timer (which is created by tf_logic_koth)
Edit: Quick check into that (well, I randomly read an explanation of how KOTH wins elsewhere. Same difference) reveals that the timer hitting 0 doesn't finish the game, just unlocks the win condition of owning all the CPs. Well, I suppose when either of the new timers hit 0 it could set all the points owners to the winning team. Course it would have to be smart enough to know if overtime should be in effect. Hmm. Maybe there is just no overtime.
At first, not being familiar with the logic entities until yesterday, I guessed (and hoped) that a logic_timer could serve my purposes. However, it was apparent that did not have the input to pause the clock and resume it where it left off and is more for repeating events. However, then I saw Team Round Clock and realized it was perfect. However a thought occurred looking at the outputs available. If I could use these timer instead of the ones made by tf_logic_koth, many of my issues would be solved instantly. I could pass the "Announce Time" outputs to a logic_branch or two or which checked if it'd already been said by the other team and not say it in that case unless only that timer is running. Actually, come to think of it, I guess that's the only upside, but still I think it's a significant one.
Basically what I'm wondering is if there's any way to force the KOTH HUD to work with custom Team_Round_Timers, and if not if there's any way to stop the timers I can not access from announcing the time at exactly the wrong time. Additionally I'm wondering if there's any way to control which timer the HUD highlights, as it currently just highlights whoever and it'd be nice to be able to highlight the winning team, I assume using logic_compare if Team_Round_Timer can pass its time remaining.
Sorry if it's a bit long, I wanted to explain why I want to make this goofy mode because... it just doesn't feel right to just throw it out there without an explanation. Thanks for reading, and if anyone knows how to use the KOTH HUD without the KOTH timers that would be lovely.
Last edited: