I
imported_revenant2
Guest
<blockquote><hr>
I believe I have internally improved Pet AI.
Here is how the new AI should behave:
Commands:
Guard – The pet should guard as it does currently.
Follow – The pet should follow. It will not attack anything, even if it is attacked. (unless it is guarding)
Come – The pet should walk to. It will not attack anything, even if it is attacked. (unless it is guarding)
Kill/Attack – The pet will attack its target as it does currently.
Stop – The pet will stop attacking. It will not attack anything, even if it is attacked, and may wander.
Stay – The pet will stay where it is currently, and will not attack anything, even if it is attacked. (unless it is guarding)
Note: The pet will revert out of passive mode if the pet's owner dies, if the pet is stabled, traded, player character transfers, player and pet log off, etc.
[/ QUOTE ]
These all sound like a huge improvement over the current behavior. I'll make a point to go to test center and mess with it once it's there (could use pet balls and powder as someone else mentioned, though!).
If this is the only big review you intend to do to pet command AI for a good while, you'll probably want to note two further things:
For me, right now, the 'guard' command does not result in the expected behavior when more than 1 pet is out of the stable at a time. When I say "all guard me", and a monster attacks me, only one of the pets will attack the monster back. That one pet will consistantly be the one confronting monsters that attack me, while the other one does not respond to such attacks. When I was looking into this a while back, I found that it didn't matter if I used 'all guard me' or selected 'guard' from the context menu on the problematic pet, the behavior remained the same (my pets names at the time prevented using "petname guard me" because the pets' names all contained spaces).
I've heard some people say that it's related to the order in which the pets are removed from the stable, but I didn't test for this.
It could be that your code changes remove this issue without further consideration needed. The QA team will want to be certain to check for this behavior though, since it does exist in production right now.
Second thing - - someone else mentioned this, I'd want to make a further point about it:
Within the new structure of AI you are setting up, it would be most convenient if a pet which has been freshly ressurected is set into a mode where it is "stop" and "follow owner". This isn't a bug fix of course, it's a decision. The tamers would prefer it this way, is all, because fresh rez pets are never combat-ready and the tamer wants the pet to be close to him for several reasons.
I want to make a last point, this is to readers of this thread moreso than to Leurocian...
The way that pets are able to go aggressive on a target that's unreachable on the other side of a wall is a characteristic that is shared by both monsters and pets.
If the means to 'fix' pets doing this, in the absence of a command from the pet owner, would also make monsters behave this way, it's a more terrible idea than you may initially realize.
Nearby monsters that did not see a way to attack you or get to you for some pre-determined period of time would go into passive mode, where they are waiting to see something to attack. For most monsters this would be very bad. Some otherwise-powerful monsters, in certain terrain situations, would even be helpless. Monsters would behave more 'stupid' and seem to 'give up' more. It would moreso affect monsters that have a significant delay possibility in attacking people (not all of them do, but most), In short, changing monsters in this way would overall have extremely undesireable results!
Changing pets this way would also make their effectiveness in combat plummet. Pets would go passive and stop attacking at unexpected times for reasons that would seem nonsensical.
On the monster side, I can't think of a good way to keep monsters properly aggressive and non-exploitable without allowing what amounts to this wall-stacking behavior. The UO monster AI is actually really good right now. It's got a nice variety of sensible behaviors among different kinds of monsters, from headlesses all the way up to Lady M (I can tell that she was a piece of work).
If they've detemined that they can't take this behavior away from pets without either messing up pets or worse, messing up pets plus monsters, then the changes we're getting now seem to be the best choice.
I believe I have internally improved Pet AI.
Here is how the new AI should behave:
Commands:
Guard – The pet should guard as it does currently.
Follow – The pet should follow. It will not attack anything, even if it is attacked. (unless it is guarding)
Come – The pet should walk to. It will not attack anything, even if it is attacked. (unless it is guarding)
Kill/Attack – The pet will attack its target as it does currently.
Stop – The pet will stop attacking. It will not attack anything, even if it is attacked, and may wander.
Stay – The pet will stay where it is currently, and will not attack anything, even if it is attacked. (unless it is guarding)
Note: The pet will revert out of passive mode if the pet's owner dies, if the pet is stabled, traded, player character transfers, player and pet log off, etc.
[/ QUOTE ]
These all sound like a huge improvement over the current behavior. I'll make a point to go to test center and mess with it once it's there (could use pet balls and powder as someone else mentioned, though!).
If this is the only big review you intend to do to pet command AI for a good while, you'll probably want to note two further things:
For me, right now, the 'guard' command does not result in the expected behavior when more than 1 pet is out of the stable at a time. When I say "all guard me", and a monster attacks me, only one of the pets will attack the monster back. That one pet will consistantly be the one confronting monsters that attack me, while the other one does not respond to such attacks. When I was looking into this a while back, I found that it didn't matter if I used 'all guard me' or selected 'guard' from the context menu on the problematic pet, the behavior remained the same (my pets names at the time prevented using "petname guard me" because the pets' names all contained spaces).
I've heard some people say that it's related to the order in which the pets are removed from the stable, but I didn't test for this.
It could be that your code changes remove this issue without further consideration needed. The QA team will want to be certain to check for this behavior though, since it does exist in production right now.
Second thing - - someone else mentioned this, I'd want to make a further point about it:
Within the new structure of AI you are setting up, it would be most convenient if a pet which has been freshly ressurected is set into a mode where it is "stop" and "follow owner". This isn't a bug fix of course, it's a decision. The tamers would prefer it this way, is all, because fresh rez pets are never combat-ready and the tamer wants the pet to be close to him for several reasons.
I want to make a last point, this is to readers of this thread moreso than to Leurocian...
The way that pets are able to go aggressive on a target that's unreachable on the other side of a wall is a characteristic that is shared by both monsters and pets.
If the means to 'fix' pets doing this, in the absence of a command from the pet owner, would also make monsters behave this way, it's a more terrible idea than you may initially realize.
Nearby monsters that did not see a way to attack you or get to you for some pre-determined period of time would go into passive mode, where they are waiting to see something to attack. For most monsters this would be very bad. Some otherwise-powerful monsters, in certain terrain situations, would even be helpless. Monsters would behave more 'stupid' and seem to 'give up' more. It would moreso affect monsters that have a significant delay possibility in attacking people (not all of them do, but most), In short, changing monsters in this way would overall have extremely undesireable results!
Changing pets this way would also make their effectiveness in combat plummet. Pets would go passive and stop attacking at unexpected times for reasons that would seem nonsensical.
On the monster side, I can't think of a good way to keep monsters properly aggressive and non-exploitable without allowing what amounts to this wall-stacking behavior. The UO monster AI is actually really good right now. It's got a nice variety of sensible behaviors among different kinds of monsters, from headlesses all the way up to Lady M (I can tell that she was a piece of work).
If they've detemined that they can't take this behavior away from pets without either messing up pets or worse, messing up pets plus monsters, then the changes we're getting now seem to be the best choice.