Idea (seeking guidance) for new TF2 game mode

Discussion in 'Mapping Questions & Discussion' started by mdawgmike, Oct 11, 2009.

  1. mdawgmike

    mdawgmike L1: Registered

    Messages:
    41
    Positive Ratings:
    17
    I'd first like to say that I am a n00b to level design for Source. I have, however, had much experience in design for other games (mainly Warcraft III) in the form of structured event triggering for the level. The Source SDK seems to lack such a structured (all in one place) event system. So, this is where I seek help.

    I do not plan to be a "mapper." All I am aiming to do is create a functioning set of entities that can be applied to any map. Here's what I want to make:

    Team Deathmatch (taken from UT2K4):

    Description: A semi-serious game mode where the only objective is to rack up kills on the other team. This came out of a running gag in my community about how 2Fort (a map we all despise) would be much better without the flags. The game-play would remain identical...only now nobody would complain about the intel that never gets captured :D! Anyways, after some thought I believe this might actually work out somewhat alright.

    Structure:
    *A frag counter would be displayed for each team and would count up to a pre-determined "frag limit."
    *The team that reaches this limit first would be declared the winner
    *If the map time limit expires before this, then it would go into sudden death (or stalemate/award victory to the team with the most frags if the server isn't set to do SD)
    *There would be no round timers; the mp_timelimit cvar would control the count-down timer.

    What I have found:

    *I first have successfully compiled dm_2fort without the flag entities just to see what happens by default (hoping to get out of any extensive work)
    *The cvar mp_fraglimit evidently does nothing in TF2. I was hoping this could just be taken care of on the server side, but it looks like this is not the case. Setting it to any number has no effect on victory conditions.
    *Obviously, the tooltips are incorrect (being CTF related)

    What I need to figure out how do do:
    *Make a frag limit trigger as an entity on the map.
    *What a good pre-determined frag limit would be (50 maybe)?
    *Tooltips
    *Make a working frag counter (HUD). I was thinking the CTF HUD would work best as the base. I would then just remove the flag icons and maybe put in a caption saying "Frags" above it. The "playing to" would be whatever the frag limit is.
    [​IMG]

    Maps that this game-mode would probably work best on are small symmetrical layouts (generally CTF or KOTH). I'll most likely apply it to the following Valve maps to see how it works out:

    2Fort
    Nucleus
    Sawmill
    Viaduct

    Good idea? I look forward to any guidance I can get.
     
    Last edited: Oct 11, 2009
  2. Shoomonger

    Shoomonger L4: Comfortable Member

    Messages:
    185
    Positive Ratings:
    55
    Sounds good for a deathmatch. I always like a DM where there's a "purpose" to it.
     
  3. Tapp

    Tapp L10: Glamorous Member

    Messages:
    776
    Positive Ratings:
    211
    Probably the best way to count frags would be to put the spawns high up, and put a trigger brush over the spawns. Every time somebody spawns, they would trigger it and then leave the brush area. You could probably use the capture counter on the ctf hud (without the 10 second crit-buff, unless you want all-out madness) and maybe put the intel underneath the spawn floors, to show the objective. Otherwise, there should be some kind of punishment or spawn delay for someone who dies incredibly fast.
     
  4. megawac

    megawac L4: Comfortable Member

    Messages:
    180
    Positive Ratings:
    29
    But... this is just not tf2!!! Btw you should add this to orange to if you want to appeal to the people that only objective is fraggin
     
  5. Pseudo

    Pseudo L6: Sharp Member

    Messages:
    319
    Positive Ratings:
    149
    One way to count the number of player deaths would be to have two trigger_multiples covering the entire map, with a filter_activator_tfteam for each team. The OnEndTouch output would be fired each time a player dies. You could then use math_counters and game_round_win to declare the winning team.

    The "playing to" value is determined by the server setting ""tf_flag_caps_per_round". A map could change this value with a point_servercommand but this method is kind of frowned upon because there isn't a way to change it back to its previous setting when your map is over.

    Perhaps a better method for displaying the score would be the use of the game_text entity. It is a bit complicated though, since you can't just send it a number to display, you'd have to have a separate entity for each digit.
     
    • Thanks Thanks x 1
  6. Freyja

    aa Freyja ¯\_(ツ)_/¯

    Messages:
    2,843
    Positive Ratings:
    4,775
    It does sound interesting. However on maps like 2fort, there's not much point having the basement anymore, without the flags...
    I'm thinking Arena maps would work better, just without the capture point.
     
  7. martijntje

    martijntje L8: Fancy Shmancy Member

    Messages:
    539
    Positive Ratings:
    168
    (team) deathmatch is an easy to make gamemode, but doesn't wit with tf2. tf2 is about TEAMwork.

    Killing other players shouldnt be your goal, but should make getting to your goal easier.
     
  8. Garner

    Garner L4: Comfortable Member

    Messages:
    154
    Positive Ratings:
    38
    You would have to edit the maps in order to incorporate this new game mode.
    Then the maps will be, according your prefix, tdm_nucleus, for example.

    I can see what your trying to do, but the team deathmatch aspect would only be achieveable by plugins for sourcemod or scripts for the eventscripts plugin.
     
  9. martijntje

    martijntje L8: Fancy Shmancy Member

    Messages:
    539
    Positive Ratings:
    168
    Not true, I will post a tdm prefab later
     
    • Thanks Thanks x 1
  10. x6herbius

    aa x6herbius

    Messages:
    377
    Positive Ratings:
    271
    This sounds like a good idea in theory but would probably not be so good in practice. The OnEndTouch triggers, as well as counting kills, would also trigger if someone suicided or died an environmental death, adding kills to the other team. The kills would also not be in sync with player points, as 2 people would often receive points (kill + assist) for one person dying.

    There would also be no real way to show the score in the HUD as you can't send custom values to game_texts while in-game.
     
  11. Pseudo

    Pseudo L6: Sharp Member

    Messages:
    319
    Positive Ratings:
    149
    You don't need to send custom values, you would need many separate game_texts. 15 for each team to show 0 to 50. dom maps use this method to show a score as a percentage.
     
    • Thanks Thanks x 1
  12. mdawgmike

    mdawgmike L1: Registered

    Messages:
    41
    Positive Ratings:
    17
    Hmm, interesting that there doesn't appear to be a built-in way to count kills. I was almost positive there would be. Like I said triggers were a lot easier to do with other games. You would just have to make a simple script.

    example (variables in italics):

    event: player dies
    if dieing player belongs to red team and if attacking player belongs to blue team
    then increment blufrags +1
    else if dieing player belongs to blue team and if attacking player belongs to red team
    then increment redfrags +1
    update scoreboard

    So...no such capability exists with Hammer?

    Doesn't arena just involve killing people too? The only difference would be that this has re-spawn, and instead of taking a whole team down at once it would count up to a certain number (probably dependent on how many people are playing). The TEAM aspect would come in in that a team would win based on how many kills they collectively tally up. You would still have to work together to achieve this (sticking together in groups, medics and engineers functioning as support, etc.) And really, on maps like 2Fort, they turtle so much in a full server that it's basically a TDM anyways...just with flags that never get capped.

    Actually, that was the whole point of this thread was to see if I could make a prefab for this. But if you can come up with something that would be sweet though! Chances are somebody more experienced with the editor will do it better anyways.
     
    Last edited: Oct 12, 2009