"Portal Storm" type physics event

Discussion in 'Mapping Questions & Discussion' started by Demitri Omni, Sep 5, 2008.

  1. Demitri Omni

    Demitri Omni L2: Junior Member

    Messages:
    53
    Positive Ratings:
    3
    I want to essentially create a small-scale nuclear explosion. I want a physics event, not blocked by walls, that will act like a slow shockwave. I want it also to kill players within a certain range of the center. (essentially blowing the bodies away from it, but in an almost slow-mo explosive effect)
     
  2. grazr

    aa grazr Old Man Mutant Ninja Turtle

    Messages:
    5,436
    Positive Ratings:
    3,557
    A physics effect like that is for the most part set up, using multiple entities; phys_explosions set to target physics objects. etc. Obviously they would be triggered by an event.

    To damage people you will need to apply a trigger hurt area as it would be impractical to have such a large scale singular explosion.

    If you really want to start understanding how the portal storm effect works i suggest removing the single player maps and decompiling them to have a gander. A lot of it is simple shader effects layered over the clients "vision/screen".

    If you're referring to the slo-mo death effect as induced by strider cannon kills or energy ball kills etc; that is coded into the game to be triggered by certain events, i don't know a lot about this myself and am finding it hard to word it to explain. But you would seriously need to know a lot about modding to be able to trigger slow motion deaths like that in a multiplayer mod not designed for such events.

    I'm not sure why you would want to implement such a large scale event in a TF2 map though?

    I know i havn't exactly answered your question but what i'm trying to suggest is that such a large scale event isn't really something recommended for a multiplayer map. It was something designed as a hugely system demanding impressive introduction, to a single player game. The resources required to run it online are even greater (for syncing issues etc).
     
  3. Demitri Omni

    Demitri Omni L2: Junior Member

    Messages:
    53
    Positive Ratings:
    3
    Generally, It's for an end-of-payload explosion event. It's not even meant to be an explosion so much as a sort of 'shockwave that shakes the entire compound' type thing.

    Also I don't want it quite as detailed as the portal storm, just something that might be ALMOST that awesome for the end.

    EDIT: also, in response to 'not meant for the multiplayer environment', see: payload scripted physics event. Just sayin'. :p
     
  4. Armadillo of Doom

    aa Armadillo of Doom Group Founder, Lover of Pie

    Messages:
    949
    Positive Ratings:
    614
    This is actually fairly easy to do, but will take a bit of work. For the main boom, you'll want to use env_explosion. Fairly simple; set radius, fireball options, etc. As for the shockwave; the actual force will be accomplished via trigger_push. It should start disabled, and can be enabled when triggered, at the same time as the explosion. The easy way is to create a large static volume. When triggered, everything touching it will be pushed away. You'll have to experiment w/ the push speed. If it's too fast, players won't know why they're suddenly flying against the back wall. Too slow, and it will be ineffective or simply not move the players (heavies).

    You can get a little creative with the push by adding additional effects w/in the push volume. Example; small env_explosions like little fireballs. env_spark might work well, as would env_smokestack. The Input/Output (I/O) for all of this is simple, but there's a lot of it. You'd have something to the effect of OnCapture, env_explosion, fire; OnCap, trigger_push, enable; OnCap, small explosion, fire, delay 5 seconds, OnCap, env_spark, fire, delay 2 seconds. And so on.

    Disclaimer; by themselves, the aforementioned effects are a nice touch. But they get expensive really quickly if you keep adding them. It's also possible that not all of these will work in TF2. Case in point; I was using func_smokevolume to create some fog, but it's broken for TF2. So I had to use func_dustcloud instead. Not quite as shiny or efficient, but it gets the job done. But I digress. I hope this helps :) Good luck m8!
     
  5. FaTony

    FaTony Banned

    Messages:
    902
    Positive Ratings:
    160
    Does env_explosion already have a push attribute? :\