custom/new game mode

Discussion in 'Mapping Questions & Discussion' started by Ezekel, Jan 16, 2009.

  1. Ezekel

    Ezekel L11: Posh Member

    Messages:
    818
    Positive Ratings:
    244
    i've been toying with an idea of a new gamemode on pen and paper, but it would require a new UI and new brush entities and/or prop entities to work.
    before i go down the road of looking into how to create them, i wanted to know a couple of things:

    would using self made entities mean it has to be a mod, and therefore not playable on a mainstream tf2 server?

    what is the general consensus of new game modes made by non-Valve people?


    i'm not going into the details of it here cos i'm not 100% decided on the particulars just yet.
     
  2. Laz

    Laz L7: Fancy Member

    Messages:
    461
    Positive Ratings:
    34
    valve encourages new gamemodes. but if you need a whole new hud, and new entities, you would end up making a mod. this not playable on a normal tf2 server.
     
  3. raz0rskyl1n3

    raz0rskyl1n3 L1: Registered

    Messages:
    28
    Positive Ratings:
    12
    I think it depends on the extent of changes. If your basing it on a cap based structure, ctf, pl, etc. Just mixing a few. Would not require server side mods. As long as you use current in game huds. but customize them to a degree. So if your just mixing one of the core game play styles a mod server side isnt needed. However if you were going for something like say zombie fortress, hide and seek, etc. This would require a server side mod. If this were the case, i would aim for sourcemod. I'm not sure its exact language however i believe its C/C++.
     
  4. Ezekel

    Ezekel L11: Posh Member

    Messages:
    818
    Positive Ratings:
    244
    actually i'm going for a sorta fort mode.

    the idea is 2 smallish bases + smallish map - in each base is a... i dunno a train or a computer or something.
    it's got 3-4 levels of health each level is about 500-600 hp. 1st team to reduce the other teams 'fort' (train/computer/rocketship/whatever it is) to zero health wins.

    engineers can repair the fort within a health level, but not to a level above. so if it's lost 500 health it can't get that back but if it's 50 it can be repaired. but at a double metal cost to normal engie repairs.
    also at each level lost, there'll be a visual change to it, i.e. terminals falling off or gas leaking out of the boiler or w/e (depending on what's used as the 'fort')

    that's it in rough. for a UI it'd need 2 bars to give remaining health amounts for the forts
    for gameplay entity i need something that's able to be damaged/repaired.
    as a brush entity, i can have it trigger models to fall off at damage levels, as a prop entity it'd need to have a dynamic prop that can go along with it that has animations to be triggered (so i'd be more likely to use a brush entity & triggers)
     
  5. Zeewier

    Zeewier L9: Fashionable Member

    Messages:
    619
    Positive Ratings:
    130
    I made something like that before, it's possible to get the hud for the damage. (Scoreboard) But there is currently no way to repair non-engy buildings :/

    You could make it something that will gain health over time for each "capper" in the area near the "i dunno a train or a computer or something"

    MagicPotato and Chrono are working on an destructable rocket for the rocket_riot game mode, I think they said they will release the entites :)
     
  6. Ezekel

    Ezekel L11: Posh Member

    Messages:
    818
    Positive Ratings:
    244
    so no way to make an entity react to engineers as if it were a building?
     
  7. Rexy

    aa Rexy The Kwisatz Haderach

    Messages:
    1,795
    Positive Ratings:
    2,367
    If you were to make new entities (or something similar), I don't think you'd have to go as far as making a mod, just alter existing entities using the smartedit option. How you would go about that is really complicated, and would require more than basic knowledge of how the I/O stuff works. But don't ask me, I wouldn't know, lol, I'm not even sure if what I just said is physically possible, I'm just guessing from what I know about using Hammer previously.
     
  8. A Boojum Snark

    aa A Boojum Snark Toraipoddodezain Mazahabado

    Messages:
    4,769
    Positive Ratings:
    5,527
    It would require a server-side mod to do what you want. There is currently no way to differentiate between classes, let alone have a wrench hit repair something. This isn't even considering getting a user-friendly HUD.

    SmartEdit only shows what Hammer is told by the FGD, turning it off (what you really meant) lets you type in your own stuff but it still doesn't matter if the game-code doesn't have any of it.
     
    • Thanks Thanks x 1
  9. TMP

    aa TMP Abuser of Site Rules

    Messages:
    948
    Positive Ratings:
    551
    Potato here:

    Going to say this, You can't do the engi repair thing, but you can create a game mode based off of destructable objects, and you probably can make it HUD-Capable with ghost points.

    On a note, Z33W13R's idea works well, with the standing next to it repairs it. That's actually not that hard to do; a trigger_multiple will provide a good enough output. An engi though, as I said, cannot repair it. I suppose you could do something similar to it by doing a class limit on what can be damaged by what class and by your team, but I don't think that is actually possible.

    On a note mentioned, we should be releasing the current version of the rocket riot pack soon, as both of our maps are nearing the end of their first alpha completion.


    Also, I love maps that deviate from Valve's set game modes if they do it well. 'Tis why I am making Rocket Riot!
     
  10. Ezekel

    Ezekel L11: Posh Member

    Messages:
    818
    Positive Ratings:
    244
    a thought:
    could you use a filter to differentiate between class? and then perhaps have damage done = negatives if the filter is set to engineer? (i.e. causing repairs.)

    i don't particularly want every class to be able to repair, since that'd mean that they could all just sit at the point when it's in the last health level and force a stalemate on time out.

    having an engie repair + need to use metal + actually have to face it and wrench at it allows for balance. whereas, 6 heavys camping on the point with 1 or 2 dispensers to support them would definately just become a stalemate.
    i suppose i could totally leave out the repair thing, but ... well it'd be a big shame cos it just feels like something that makes sense.

    with engies being the only one able to repair, and with a higher than normal metal cost, it means spies would dominate a team if it went engineer heavy. thus a team would still have to use other classes to defend, and (hopefully) attack back even from a losing situation.

    i'd possibly also put a nobuild zone around the objective so that they can't set up a dispenser too close.
     
  11. Zeewier

    Zeewier L9: Fashionable Member

    Messages:
    619
    Positive Ratings:
    130
    What I was thinking:

    Build a capture area around the destroyable thing. With healing ~1%/30 seconds per player with a maximum of 3 players.

    Yes, this is entirely possible :)

    (made something like this for party_fortress)

    Thinking about this really wants me to make a map on this game mode :p

    But I'm working on 3 maps already :/

    Anyway making entities for this isn't very hard, if you can't work it out yourself give me a pm ;)
     
  12. Ezekel

    Ezekel L11: Posh Member

    Messages:
    818
    Positive Ratings:
    244
    i couldwork it out myself to do it that way, but as i said i don't want a case of any class can repair, and meanwhile continue to shoot at attackers.

    the choices i made were specifically to prevent a long drawn out stalemate when one side is almost dead, and goes heavily defensive.
    i.e. so repairing is limited to one class, which has to actively dosomething, rather than passively be present. it's also slow, and has a resource tied to it (metal) - further preventing a camping situation. also, because it's an active task, not only does it prevent the person repairing from shooting at attackers, it also makes them exposed to spy back stabs (since they will have their back to the area they are in).

    i seriously doubt that letting any class be able to repair, while still shooting is going to be a good alternative.
     
  13. Mexican Apple Thief

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

    Messages:
    345
    Positive Ratings:
    60
    You could just make it max one person in one small square that while they're in they can't shoot from and can't leave immediately. That would discourage camping it.
     
  14. UKCS-Alias

    aa UKCS-Alias Mann vs Machine... or... Mapper vs Meta?

    Messages:
    1,264
    Positive Ratings:
    748
    In that case i think i got a better suggestion. Make a CP that has to become captured to repair the building. This cp however is on the enemy side so people are forced to attack for it. When its captured your own base gets repaired and the CP returns to be for the enemy (maybe with a delay also so people wont constantly go for the cp instead of the enemy target).
    This also gives another advantage tactic wise. People are forced to choose between either attacking the target or going for repairing.

    An other way is a neutral point in the center. Which team takes it gets a slow repairing on their base. For example a cp that is placed like the 2 fort bridge (its impossible to outcamp it)

    Still, remember that the target to destroy shouldnt be to far in the base. Anything like in cp_well cp2 should be enough as when you require them to take cp1 you get the 2fort effect (mostly stalemates).

    Both of these options make the attackers able to both damage the enemy or repair their own building. This makes the defenders purely focus on the core also. Just see what works best for you.
     
    • Thanks Thanks x 1
  15. Zeewier

    Zeewier L9: Fashionable Member

    Messages:
    619
    Positive Ratings:
    130
    In the enemy base makes it probably impossible
    neutral in the middle will probably move the fight to that area, or the area will be forgotten by most players :/

    against stalemates: When the time runs out damage X health/second (like UT2k4/UT3 onslaught/warfare) forcing the enemy to attack (this is the game mode i made for tf2 i was talking about)

    I think that a lot of ppl will go engy, and that even worse because engies cant attack :/
     
    Last edited: Jan 17, 2009
  16. Mexican Apple Thief

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

    Messages:
    345
    Positive Ratings:
    60
    Hmm that could work if you made the damaging areas only in the room with the... thing.
     
  17. Ezekel

    Ezekel L11: Posh Member

    Messages:
    818
    Positive Ratings:
    244
    well, i'd rather not re-invent onslaught...

    i agree about the size issues. this sorta map would require something akin to the size of an arena map (well maybe a bit larger, but something like arena_well is close to the sorta size i think of)
     
  18. Ezekel

    Ezekel L11: Posh Member

    Messages:
    818
    Positive Ratings:
    244
    quick thought i had the other day:
    engineer structures are entities right?
    does anyone know what entity type they are?

    i could probably modify it from there, and have it spawn on the map automatically
     
  19. Zeewier

    Zeewier L9: Fashionable Member

    Messages:
    619
    Positive Ratings:
    130
    obj_sentrygun

    but if you create them with console you create the blueprints (or maybe thats the neutral skin)

    but i think dispenser are a better option obj_dispenser
     
  20. Ezekel

    Ezekel L11: Posh Member

    Messages:
    818
    Positive Ratings:
    244
    ok, so what i've got so far is this:
    use a filter_activator_class to only let "engineer" pass
    and a filter_damage_type to disallow "bullet"
    (so only damage caused by an engineer, that isn't a bullet would pass + a team filter of course)

    and i get stuck after this.
    i don't think i can apply 2 filters to the same entity.

    my thought was to then have a func_breakable or similar, which on damaged outputs to a counter an incremental value.