prop_details 'ghosting'?

Discussion in 'Mapping Questions & Discussion' started by xzzy, Mar 16, 2010.

  1. xzzy

    aa xzzy

    Messages:
    815
    Positive Ratings:
    393
    I have a map with some trains set up, and some play testers have reported problems with train model 'ghosts' appearing sometimes. I attached a screenshot example from one of the players who saw it. Players report the object is not solid, players and weapons can pass through it, and the ghost disappears after a few seconds.

    I'm not doing anything super elaborate. I have my func_tracktrain, with my prop_dynamic parented to it. Each train has three path_tracks, two to mark the start and finish in the actual map, and a third in a 'secret' room to keep the trains out of sight when not in use. I have the 'teleport' flag set to the end and start path nodes.

    Trains are fired off with a logic_timer and a logic_case to pick a random train.

    In the example screenshot, there is no path_track at that location. That model is not supposed to be anywhere near that location. The only reason I can imagine that the model does show up there is because that is where the map origin is located, and something in my entity set up is getting confused.

    I haven't seen anything like this in about 10-20 hours of play testing on my local machine against bots. Is this an internet lag type issue? A server issue? Has anyone ever seen something like this, and is there a way to prevent it?
     
    Last edited: Mar 16, 2010
  2. A Boojum Snark

    aa A Boojum Snark Toraipoddodezain Mazahabado

    Messages:
    4,769
    Positive Ratings:
    5,535
    You should be using prop_dynamic for things like trains. Prop_detail is primarily used by the material system to auto-generate the little grassy things on displacements and shouldn't really ever need to be used in Hammer, where everything should either be prop_static or prop_dynamic (or physics).

    What I'd guess is happening here is the people reporting this have lower end hardware since the engine scales how soon prop_detail fades out according to that (because it's just used for grass, non-gameplay detail).
     
  3. xzzy

    aa xzzy

    Messages:
    815
    Positive Ratings:
    393
    Sorry, I'm a moron. The models involved are prop_dynamic.

    I had another discussion going on at the same time, and had prop_details on the brain.

    I can't update the thread subject, but I fixed the post.
     
  4. A Boojum Snark

    aa A Boojum Snark Toraipoddodezain Mazahabado

    Messages:
    4,769
    Positive Ratings:
    5,535
    Oh I get it now, I kinda glazed over the second half of the post since you said detail, and I was misinterpreting what you meant by ghosting.
    Things teleporting in Source do have occasional ghosts for a frame or two (as if the object is actually moving across the map to get there), but I've never seen something last for a noticeable amount of time.
    Trains will travel to the map origin if their destination path is somehow invalidated, but if that was the case I'd expect it to be solid and such. If that is the only problem spot I'd just suggest moving the whole map up so it is above the origin, as I really have no idea what could be causing this.
     
    • Thanks Thanks x 1
  5. xzzy

    aa xzzy

    Messages:
    815
    Positive Ratings:
    393
    Any theories what could cause a destination to be "invalid"?

    Could it be sending my train through the void to a hidden room where the trains wait until the next time they're fired? I got this idea from the harvest event, so I figured it was acceptable practice. Could it be distance? Like the location I'm sending the train is outside some clip distance, and the client doesn't know where to send the model?

    Moving the world so origin is outside the map is certainly an easy fix, but doesn't satisfy my curiosity. ;)

    If no one knows it's not a huge deal, I am just interested in how the engine does what it does.
     
  6. A Boojum Snark

    aa A Boojum Snark Toraipoddodezain Mazahabado

    Messages:
    4,769
    Positive Ratings:
    5,535
    Location or distance isn't a matter, sometimes having a path parented will break it, or if the path is removed, things like that. I only ran into it back when I was experimenting with dynamic pathing, and mostly involved doing things to the path itself that confused the train.