Announcement

Collapse
No announcement yet.

ThParolPointSplitter

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • ThParolPointSplitter

    Okay, I must be doing something wrong, but what?

    I have a patrol that bifurcates at certain points, with small subpaths that rejoin the main one. I'm using the new ThPatrolPointSplitter set to EPPST_Random, and with 2 of the next patrol point tags filled in. I've tried it with and without the event field filled in. The sub-paths don't return to the splitter they emerge from.

    What I get is that the bot will move to the first point of a randomly chosen path, return to the splitter then either carry on along the main path or return to the beginning. I know my tags are set up correctly on the sub-paths, the red lines show up just how they should in UED.

  • #2
    For your delectation and edification, Mordengaard's Guide to TPatrolPointSplitters is now available on my site, or you can click here (direct link).

    Nach, if my guide doesn't help, PM or email me with a diagram - it's hellish hard to try and imagine patrol routes without a map *chuckle*.
    Mordengaard - Tester/Mapper/Voice Actor/Nitpick/Coder

    "Criminal: A person with predatory instincts who has not sufficient capital to form a corporation."
    :: Howard Scott

    Comment


    • #3
      Woo!

      Thanks, I think I can make the path more efficient with round robin splitters - I didn't quite twig to that use of them.

      Looking in the console with verbose enabled on the bot, at certain points it returns "Changed patrol routes - starting from first patrol point". I'm wondering if this is because of non-consecutive tags, or the sheer amount of branches and splitters I have on the patrol. I'll get back to you later...

      Comment


      • #4
        No, I'm completely flummoxed.

        I've optimised the whold route with splitters set to RoundRobin and Random. At certain splitters or patrol points it says "Changed patrol routes - starting from first patrol point". It's always near the start of a branch, usually (but not always) the first node whether that's a splitter or a normal TPatrolPoint). Some of these branches have worked as a part of it previously, but seem to now be affected by changes elsewhere on the route - e.g. branches and alternate routes put in place earlier along the patrol.

        I've taken branches near the beginning back out, and now ones later in the route are working, but not all of them. Are there any upper limits I have to work in? It seems so, but I'm not sure what they are. The route has 6 splitters (Most of which are just to minimise nodes on branch, but some of them are junctions for three paths) and 18 TPatrolPoints (Most of which have ETPA_Nothing, but some are ETPA_Wait - this seems to have no effect n the "Changed Patrol Routes" error).

        Comment


        • #5
          Here's the log, as you can see he gets near a splitter, then loses the goal before he gets to it. It may seem like the FrobDoor state or zone transition causing it here, but I've had him doing it on a patrol point or splitter wide out in the open without those conditions. I've double checked all of my tags and they're fine. This is with the path simplified to 16 TPatrolPoints and 3 splitters. TPatrolPoint209 is the first one in the patrol route, and the only one bearing a patrol name. I've been pathing all day and I'm at a loss now

          TKnight11: [52.0127 Patrolling] PickPathToGoal().
          TKnight11: [52.0127 Patrolling] GoalObject: [TPatrolPoint32], GoalDestination: (0.000000,0.000000,0.000000).
          TKnight11: [52.0127 Patrolling] Reached GoalObject.
          TKnight11: [52.0127 Patrolling] Cleared BlockedPaths array.
          TKnight11: [52.0127 Patrolling] Reached patrol point with Tag[WestDownPtR-021], Event[WestDownPtR-022].
          TKnight11: [52.0127 Patrolling] SetNextPatrolPoint().
          TKnight11: [52.0127 Patrolling] Moving.Move: PlayMovingAnim().
          TKnight11: [52.0127 Patrolling] PickPathToGoal().
          TKnight11: [52.0127 Patrolling] GoalObject: [TPatrolPointSplitter4], GoalDestination: (0.000000,0.000000,0.000000).
          TKnight11: [52.0429 Patrolling] HitWall(1.000000,0.000000,0.000000, ThDoor143).
          TKnight11: [52.0429 Patrolling] Going through door [ThDoor143].
          TKnight11: [52.0429 Patrolling] Leaving Patrolling state.
          TKnight11: [52.0429 FrobDoor] Entered 'FrobDoor' state.
          TKnight11: [54.0672 FrobDoor] Entered a new zone ("Snooker Room").
          TKnight11: [56.0113 FrobDoor] Cleared BlockedPaths array.
          TKnight11: [56.0113 FrobDoor] WhatToDoNext() - calling DoOrders(Orders[Patrol], OrderGiver[None]).
          TKnight11: [56.0113 FrobDoor] DoOrders(NewOrders'Patrol', giver[None], orderObj[Autoplay.TPatrolPoint209]).
          TKnight11: [56.0113 FrobDoor] Checking if on correct route.
          TKnight11: [56.0113 FrobDoor] Changed patrol routes - starting from first patrol point.
          TKnight11: [56.0113 FrobDoor] SetNextPatrolPoint().
          TKnight11: [56.0113 FrobDoor] Leaving 'FrobDoor' state.
          TKnight11: [56.0113 Patrolling] Entering Patrolling state.
          TKnight11: [56.0113 Patrolling] Moving.Begin:
          TKnight11: [56.0113 Patrolling] Moving.Move: PlayMovingAnim().
          TKnight11: [56.0113 Patrolling] PickPathToGoal().
          TKnight11: [56.0113 Patrolling] GoalObject: [TPatrolPoint209], GoalDestination: (0.000000,0.000000,0.000000).

          Comment


          • #6
            Here we have one where the splitter is moved to before the door and zone portal. WestDownPtR-022 is the splitter, and this time the bot reaches it, and the splitter does substitue one of its array entries for Event. However, the bot goes through the door, and fails to reach the patrol point, instead turning back and heading for TPatrolPoint209:

            TKnight11: [53.0676 Patrolling] Reached patrol point with Tag[WestDownPtR-021], Event[WestDownPtR-022].
            TKnight11: [53.0676 Patrolling] SetNextPatrolPoint().
            TKnight11: [53.0676 Patrolling] Moving.Move: PlayMovingAnim().
            TKnight11: [53.0676 Patrolling] PickPathToGoal().
            TKnight11: [53.0676 Patrolling] GoalObject: [TPatrolPointSplitter4], GoalDestination: (0.000000,0.000000,0.000000).
            TKnight11: [55.0196 Patrolling] PickPathToGoal().
            TKnight11: [55.0196 Patrolling] GoalObject: [TPatrolPointSplitter4], GoalDestination: (0.000000,0.000000,0.000000).
            TKnight11: [55.0196 Patrolling] Reached GoalObject.
            TKnight11: [55.0196 Patrolling] Cleared BlockedPaths array.
            TKnight11: [55.0196 Patrolling] Reached patrol point with Tag[WestDownPtR-022], Event[None].
            TKnight11: [55.0196 Patrolling] SetNextPatrolPoint().
            TKnight11: [55.0196 Patrolling] Moving.Move: PlayMovingAnim().
            TKnight11: [55.0196 Patrolling] PickPathToGoal().
            TKnight11: [55.0196 Patrolling] GoalObject: [TPatrolPoint14], GoalDestination: (0.000000,0.000000,0.000000).
            TKnight11: [55.0547 Patrolling] HitWall(1.000000,0.000000,0.000000, ThDoor143).
            TKnight11: [55.0547 Patrolling] Going through door [ThDoor143].
            TKnight11: [55.0547 Patrolling] Leaving Patrolling state.
            TKnight11: [55.0547 FrobDoor] Entered 'FrobDoor' state.
            TKnight11: [57.0692 FrobDoor] Entered a new zone ("Snooker Room").
            TKnight11: [59.0121 FrobDoor] Cleared BlockedPaths array.
            TKnight11: [59.0121 FrobDoor] WhatToDoNext() - calling DoOrders(Orders[Patrol], OrderGiver[None]).
            TKnight11: [59.0121 FrobDoor] DoOrders(NewOrders'Patrol', giver[None], orderObj[Autoplay.TPatrolPoint209]).
            TKnight11: [59.0121 FrobDoor] Checking if on correct route.
            TKnight11: [59.0121 FrobDoor] Changed patrol routes - starting from first patrol point.
            TKnight11: [59.0121 FrobDoor] SetNextPatrolPoint().
            TKnight11: [59.0121 FrobDoor] Leaving 'FrobDoor' state.
            TKnight11: [59.0121 Patrolling] Entering Patrolling state.
            TKnight11: [59.0121 Patrolling] Moving.Begin:
            TKnight11: [59.0121 Patrolling] Moving.Move: PlayMovingAnim().
            TKnight11: [59.0121 Patrolling] PickPathToGoal().
            TKnight11: [59.0121 Patrolling] GoalObject: [TPatrolPoint209], GoalDestination: (0.000000,0.000000,0.000000).
            AFAIK, there's enough space for the bot to patrol. All doors are 64 wide, and I've had successful but messy patrols (Due to lack of splitters) running through these areas before.

            Something is confusing the poor bot, so it restarts the patrol with its OrdersTag.

            Comment


            • #7
              I've had this problem too on Korman, when I fixed up the bot patrolling the ground floor of the rectory - I think it's a problem with 1.4 that Joel is aware of, but it'd be nice to hear from him on this one.
              Mordengaard - Tester/Mapper/Voice Actor/Nitpick/Coder

              "Criminal: A person with predatory instincts who has not sufficient capital to form a corporation."
              :: Howard Scott

              Comment


              • #8
                Looks like a bug, I'll fix it (one day).
                AI Programmer,
                Thievery UT

                Comment


                • #9
                  OK, thanks [rushes off to revise paths]

                  Comment


                  • #10
                    I'd beg for a beta, but i have too many as it is... I'll beg later
                    "Just off the border of your waking mind there lies another time, where darkness and light are one. As you tread the halls of sanity, you feel so glad to be unable to go beyond. I have a message from another time."

                    Comment

                    Working...
                    X